function getWinners() { if (Auth::check()) { $eventId = Input::get('ev'); $evPos = Input::get('pos'); $evName = Input::get('name'); $evGroup = Input::get('group'); $evYear = Input::get('year'); $evClass = Input::get('class'); if ($eventId != null) { $eventNameTable = DB::table('eventname')->where('code', $eventId)->first(); if ($evName != null && $evYear != null && $evGroup != null && $evClass != null && $evPos != null) { $winList = new Winners(); $winList->name = $evName; $winList->pos = $evPos; $winList->event = $eventId; $winList->group = $evGroup; $winList->year = $evYear; $winList->class = $evClass; $winList->save(); } return view('admin.WinnersList')->with('eventNameTable', $eventNameTable); } } else { return redirect('login'); } }
public function winner(Request $request) { $newWinners = new Winners(); $newWinners->FK_inquiry = 1; $newWinners->FK_user = 1; $newWinners->save(); }
/** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->call(function () { $awnsers = DB::table('users')->join('awnsers', 'users.id', '=', 'awnsers.FK_user')->where('awnsers.created_at', '>=', Carbon::today())->select('users.name', 'users.surname')->get(); $file = fopen('deelnemersVndg.csv', 'w'); $csv = array(); foreach ($awnsers as $row) { $csv[] = array("name" => $row->name, "surname" => $row->surname); fputcsv($file, $csv); } fclose($file); //send mail----------------- $users = DB::table('users')->whereNotNull('admin')->get(); foreach ($users as $user) { $data = ['user' => $user]; Mail::send('mail', $data, function ($message) { $message->from('*****@*****.**', 'contest.stuff'); $message->attach("deelnemersVndg.csv"); $message->to('*****@*****.**')->cc('*****@*****.**'); }); } })->dailyAt('23:59'); //FIND WINNERS------------------------------------------------------------------------------------------------------------ $schedule->call(function () { $endOfContest = false; //get the question of the last period not checked for winners //get the question of the last period not checked for winners $inquiry = DB::table('inquiries')->whereNull('deleted_at')->orderBy('stop', 'asc')->first(); //check if the question has ended if ($inquiry->stop == Carbon::today()) { //count all the ones who got it correct $countCorrect = DB::table('awnsers')->where('FK_inquiry', $inquiry->id)->where('awnser', $inquiry->awnser)->count(); //check the shifting question $first = DB::table('awnsers')->select('FK_user', 'shifting')->where('shifting', '<', $countCorrect)->orderBy('shifting', 'DESC')->take(3); $winners = DB::table('awnsers')->select('FK_user', 'shifting')->where('shifting', '>=', $countCorrect)->orderBy('shifting', 'DESC')->take(3)->union($first)->orderBy('shifting', 'DESC')->take(3)->get(); //write away $file = fopen('winners.csv', 'w'); $ids = array(); foreach ($winners as $row) { $ids[] = $row->FK_user; $newWinners = new Winners(); $newWinners->FK_inquiry = 1; $newWinners->FK_user = 1; $newWinners->save(); } //get names $names = DB::table('users')->select('name', 'surname')->whereIn('id', $ids)->get(); foreach ($names as $row) { $csv = array("name" => $row->name, "surname" => $row->surname); fputcsv($file, $csv); } fclose($file); //close period $inquiry->delete(); //send mail----------------- $users = DB::table('users')->whereNotNull('admin')->get(); foreach ($users as $user) { $data = ['user' => $user]; $pathToFile = "public/winners.csv"; Mail::send('mail', $data, function ($message) { $message->from('*****@*****.**', 'contest.stuff'); $message->attach("winners.csv"); $message->to('*****@*****.**')->cc('*****@*****.**'); }); } } })->dailyAt('23:59'); }