select('start_date', 'end_date', 'activated_teaser', 'teaser_end_activity')->first(); return view('front.basic.teaser', compact('settings')); } public function prizeMail() { return view('front.basic.prize-mail'); } public function reductionMail() { return view('front.basic.reduction-mail'); } public function br() { $settings = Settings::find(1); $coupon = $this->getRandomCoupon($settings); $crmCoupon = new Reductions(); return view('front.basic.reduction', compact('coupon', 'crmCoupon')); } public function gain1() { return view('front.basic.gain1'); } public function gain2() { return view('front.basic.gain2'); } private function getRandomCoupon($settings) { $webCoupons = json_decode($settings->web_coupons); if (count($webCoupons) > 1) { $lots = []; foreach ($webCoupons as $webCoupon) { $lots[] = $webCoupon; } foreach ($lots as $lot) { for ($i = 0; $i < $lot->percentage; $i++) { $tmp[] = $lot; } } shuffle($tmp); return $tmp[0]; } else { return $webCoupons[0]; } } }