%PDF- %PDF-
Direktori : /var/www/html/zgjedhjet2017/app/Http/Controllers/ |
Current File : /var/www/html/zgjedhjet2017/app/Http/Controllers/VotesController.php |
<?php namespace App\Http\Controllers; use App\Vote; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cookie; use Maatwebsite\Excel\Facades\Excel; use Validator; use Carbon\Carbon; class VotesController extends Controller { public function store(Request $request) { $hasVoted = Cookie::get('__ippm_2017_has_voted_tgif_#25062017'); if ($hasVoted) { $voted = Vote::count(); return view('thankyou', [ 'msgSuccess' => 'Ju keni votuar njëherë!', 'voted' => $voted ]); } $justNow = Carbon::now(); $startTime = Carbon::parse(env('START_TIME')); $endTime = Carbon::parse(env('END_TIME')); $limitTime = env('LIMIT_TIME'); //dd($justNow, $startTime, $endTime, $limitTime); if ($limitTime && !$justNow->between($startTime, $endTime)) { $voted = Vote::count(); return view('thankyou', ['voted' => $voted, 'msgLimit' => true]); } $ip = $request->ip(); $haveVoted = Vote::where('ip', $ip)->where('ipPrivate', $request['ipPrivate'])->count(); if ($haveVoted > 0) { $voted = Vote::count(); $cookie = Cookie::queue('__ippm_2017_has_voted_tgif_#25062017', true, 60 * 24 * 7); return view('thankyou', [ 'msgSuccess' => 'Ju keni votuar njëherë!', 'voted' => $voted ]); } $validator = Validator::make($request->all(), [ //'g-recaptcha-response' => 'required|captcha', 'gjinia' => 'required|string|in:M,F', 'mosha' => 'required|string|in:18-29 Vjec,30-44 Vjec,45-65 Vjec,Mbi 65 Vjec', 'qarku' => 'required', 'pjesmarrja' => 'required', 'votoj_njelloj' => 'required_if:pjesmarrja,"true"|in:true,false', 'premtimet_dhe_programi' => 'required|string|in:Luan rol të vogël,Luan rol të konsiderueshëm,Luan rolin kryesor', 'permbushja_pritshmerive' => 'required|string|in:I ka përmbushur në nivel të lartë,I ka përmbushur në nivel të mesëm,I ka përmbushur në nivel të ulët', 'party' => 'required_if:pjesmarrja,"true"' ]); if ($validator->fails()) { return back()->withErrors($validator)->withInput(); } $vote = new Vote; $vote->ip = $request->ip(); $vote->ipPrivate = $request['ipPrivate']; $vote->gjinia = $request['gjinia']; $vote->mosha = $request['mosha']; $vote->qarku = $request['qarku']; $vote->marr_pjese = ($request['pjesmarrja'] == 'true' ? 1 : 0); $vote->votoj_njelloj = ($request['votoj_njelloj'] == 'true' ? 'Po' : 'Jo'); $vote->arsyeja = $request['arsyeja']; $vote->premtimet_dhe_programi = $request['premtimet_dhe_programi']; $vote->permbushja_pritshmerive = $request['permbushja_pritshmerive']; $vote->party = $request['party']; $startTime = Carbon::parse($request['startTime']); $finishTime = Carbon::parse($request['finishTime']); $loadTime = Carbon::parse($request['loadTime']); $vote->total_time = $finishTime->diffInSeconds($startTime); $vote->load_time = $startTime->diffInSeconds($loadTime); $vote->save(); $cookie = Cookie::queue('__ippm_2017_has_voted_tgif_#25062017', true, 60 * 24 * 7); $voted = Vote::count(); return view('thankyou', [ 'msgSuccess' => 'Vota juaj u regjistrua me sukses!', 'voted' => $voted ]); } public function exportCSV() { $votes = Vote::all(); Excel::create('All Votes', function ($excel) use ($votes) { $excel->sheet('Sheet 1', function ($sheet) use ($votes) { $sheet->fromArray($votes); }); })->export('xlsx'); } }