M1n1 Shira0ka File Manager

Current Path : /home/bullgymbny/app2/app/Http/Controllers/
Upload File :
Current File : /home/bullgymbny/app2/app/Http/Controllers/HomeController.php

<?php

namespace App\Http\Controllers;

use App\Member;
use App\Notification;
use App\Subscription;
use App\Point;
use Illuminate\Http\Request;


function correctImageOrientation($filename) {
    if (function_exists('exif_read_data')) {
        $exif = exif_read_data($filename);
        if($exif && isset($exif['Orientation'])) {
            $orientation = $exif['Orientation'];
            if($orientation != 1){
                $img = imagecreatefromjpeg($filename);
                $deg = 0;
                switch ($orientation) {
                    case 3:
                        $deg = 180;
                        break;
                    case 6:
                        $deg = 270;
                        break;
                    case 8:
                        $deg = 90;
                        break;
                }
                if ($deg) {
                    $img = imagerotate($img, $deg, 0);
                }
                // then rewrite the rotated image back to the disk as $filename
                imagejpeg($img, $filename, 95);
            } // if there is some rotation necessary
        } // if have the exif orientation info
    } // if function exists
}


class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        // $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function index()
    {
        return view('home');
    }

    public function point(Request $request)
    {
        $now = new \DateTime();
        $now = $now->format('Y-m-d H:i');
        $code = $request->all()['code'];
        if ($code == "0000") {
            return json_encode(['mess' =>  'Bad code', 'type' => '0']);
        }
        $member = Member::where('code', $code)->get();
        if(count($member) > 0){
            if ($member[0]->have_subscription()){
                //dd($member[0]->is_in());
                if(is_int($member[0]->is_in())){
                    Notification::create([
                        'datelog' => $now,
                        'log' => $member[0]->firstname . ' ' . $member[0]->lastname . ' a entré son code alors qu\'il a été utilisé il y a ' . intval($member[0]->is_in() / 60) . ' min',
                        'gravity' => '1',
                        'read' => '0',
                        'member_id' => $member[0]->id
                    ]);
                    return json_encode(['mess' => 'You have already entered your code recently ' . $member[0]->firstname, 'type' => '1']);
                }

                Point::create(['time'=> now(), 'member_id'=> $member[0]->id]);
                $subscribes = Subscription::where('member_id', $member[0]->id)->orderBy('date_end', 'DESC')->get();
                $date_end = substr($subscribes[0]->date_end, 8, 2) . "/" . substr($subscribes[0]->date_end, 5, 2) . "/" . substr($subscribes[0]->date_end, 0, 4);
                $gravity = 0;
                $log =  $member[0]->firstname . ' ' . $member[0]->lasttname . ' viens d\'entrer / END ' . $date_end;
                if ($subscribes[0]->credit > 0){
                    $gravity = 1;
                    $log = $member[0]->firstname . ' ' . $member[0]->lasttname . ' viens d\'entrer, son abonnement n\'est pas entièrement réglé';
                }
                $date_end = substr($subscribes[0]->date_end, 8, 2) . "/" . substr($subscribes[0]->date_end, 5, 2) . "/" . substr($subscribes[0]->date_end, 0, 4);
                Notification::create([
                    'datelog' => $now,
                    'log' => $log,
                    'gravity' => $gravity,
                    'read' => '0',
                    'member_id' => $member[0]->id
                ]);

                return json_encode(['mess' => 'Welcome ' . $member[0]->firstname . ' / END ' . $date_end, 'type' => '1']);
            }else{
                Notification::create([
                    'datelog' => $now,
                    'log' => $member[0]->firstname . ' ' . $member[0]->lasttname . ' viens d\'entrer sans abonnement',
                    'gravity' => '2',
                    'read' => '0',
                    'member_id' => $member[0]->id
                ]);
                return json_encode(['mess' => 'Your subscrib is over ' . $member[0]->firstname, 'type' => '0']);
            }
        }else{
            Notification::create([
                'datelog' => $now,
                'log' => 'Erreur de code',
                'gravity' => '1',
                'read' => '0',
            ]);
            return json_encode(['mess' =>  'Bad code', 'type' => '0']);
        }
    }

    public function inscription_submit(Request $request) {
        $code = Member::generate_code();
        $data = $request->all();
        //dd($data);
        if (!isset($data['gym'])){
            $data['gym'] = '0';
        }
        if (!isset($data['crossfit'])){
            $data['crossfit'] = '0';
        }
        if ($request->file('photo')) {
            $path = $request->file('photo')->store('files');
            correctImageOrientation(storage_path('app/') . $path);
            $data['photo'] = $path;
        }
        $data['lastname'] = mb_strtoupper($data['lastname']);
        $data['firstname'] = ucwords($data['firstname']);
        $data['country'] = mb_strtoupper($data['country']);
        if (str_contains($data['phone_email'], '@')) {
            $data['email'] = $data['phone_email'];
        }else{
            $data['tel'] = $data['phone_email'];
        }
        $data['code'] = $code;
        $data['auto_inscription'] = 1;
        $member = Member::create($data);

        return view('valid_inscription')->with('code', $code);
    }
}

GO Party By You