public function saveFranchise(Request $request)
 {
     /*        $validator = Validator::make($request->all(), [
                 'jenis'         => 'required|integer',
                 'namausaha'     => 'required|unique:franchises',
                 'telepon'       => 'required',
                 'alamat'        => 'required|max:50'
             ]);
             if ($validator->fails()) {
                 $message = $validator->errors();
                 return $this->httpUnprocessableEntity($message);
             }
             $jenis      = $request->input('jenis');
             $namausaha  = $request->input('namausaha');
             $telepon    = $request->input('telepon');
             $alamat     = $request->input('alamat');
             $image      = $request->input('logo');
     */
     $validator = Validator::make($request->all(), ['logo' => 'image|mimes:jpg,jpeg,png|max:2000']);
     if ($validator->fails()) {
         $message = $validator->errors();
         return $this->httpUnprocessableEntity($message);
     }
     $jenis = $request->header('jenis');
     $namausaha = $request->header('namausaha');
     $telepon = $request->header('telepon');
     $alamat = $request->header('alamat');
     $image = $request->file('logo');
     $cek = Jenis::where('id', $jenis)->first();
     if (empty($cek)) {
         return $this->httpUnprocessableEntity('Id jenis tidak valid');
     }
     $db = new Franchise();
     $db->jenis = $jenis;
     $db->namausaha = $namausaha;
     $db->franchisor_id = $this->userID($request);
     $franchisor = new Franchisor();
     $franchisor->where('id', $this->userID($request))->update(['alamat' => $alamat, 'telepon' => $telepon]);
     if ($image) {
         //$image ='data:image/jpeg;base64,' .base64_encode($image);
         /*header("Content-type: image/jpeg");
           $image = Image::make($image);
           $image = $image->response('jpg', 70);*/
         $salt = hash('sha256', time() . mt_rand());
         $link = substr($salt, 0, 40) . ".png";
         $resizedImage = $this->resize($image, 500, 500, $link);
         if (!$resizedImage) {
             return response()->json(['status' => false, 'msg' => 'gagal'], 204);
         }
         $db->logo = $link;
         $db->logo_url = url('api/logo/' . $link);
     }
     $db->logo = "avatar.png";
     $db->logo_url = url('api/logo/avatar.png');
     if ($db->save()) {
         return $this->httpCreate();
     }
     return $this->httpServerError();
 }
Beispiel #2
0
 public function registerFranchisor(Request $request)
 {
     $validator = Validator::make($request->all(), ['email' => 'required|email|unique:users', 'password' => 'required|min:6']);
     if ($validator->fails()) {
         $message = $validator->errors();
         return $this->httpUnprocessableEntity($message);
     }
     $salt = hash('sha256', $request->input('email') . $request->input('password') . time() . mt_rand());
     $new_key = substr($salt, 0, 10);
     $password = md5($request->input('password'));
     $email = $request->input('email');
     $salt = hash('sha256', $email . $password . time() . mt_rand());
     $token = substr($salt, 0, 40);
     if ($this->konfigurasi($new_key)) {
         $user = new User();
         $user->email = $email;
         $user->password = $password;
         $user->key_id = $new_key;
         $user->level = 'franchisor';
         if ($user->save()) {
             $user_id = User::where('email', $email)->first();
             $franchisor = new Franchisor();
             $franchisor->id = $user_id->id;
             $franchisor->save();
             $tokens = new Token();
             $tokens->user_id = $user_id->id;
             $tokens->token = $token;
             $tokens->save();
             /*    $data = array(
                       'name' => 'Pos Mikro',
                   );
                   Mail::send('emails.test', $data, function ($message) {
                       $message
                       ->to('*****@*****.**', 'Tofa Riyadi')
                       ->subject('Registration');
                   });*/
             $response = ['email' => $email, 'token' => $token, 'level' => $user_id->level];
             return $this->httpCreate($response);
         }
     }
     return $this->httpServerError();
 }