%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/zgjedhjet2017/app/Http/Controllers/
Upload File :
Create Path :
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');
    }
}

Zerion Mini Shell 1.0