示例#1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     try {
         $rules = array('first_name' => 'required|min:2|max:20', 'last_name' => 'required|min:2|max:20', 'city' => 'required|max:50', 'pincode' => 'required|between:6,10');
         $messages = array('first_name.required' => 'First name is required.', 'last_name.required' => 'Last name is required.', 'city.required' => 'City is required.', 'pincode.required' => 'Pincode is required.');
         $validator = Validator::make(Input::all(), $rules, $messages);
         if ($validator->fails()) {
             $ers = json_decode($validator->messages()->toJson());
             $ermsg = "";
             foreach ($ers as $errs) {
                 foreach ($errs as $key => $value) {
                     $ermsg .= $value . "<br/>";
                 }
             }
             return $this->response(array('statusCode' => 400, 'statusDescription' => 'Bad Request', 'errors' => $ermsg));
         } else {
             $uid = Auth::id();
             if ($id == $uid) {
                 $user = Auth::user();
                 $user->fname = Input::get('first_name');
                 $user->lname = Input::get('last_name');
                 $user->address = Input::get('address');
                 $user->colony = Input::get('colony');
                 $user->area = Input::get('area');
                 $user->city = Input::get('city');
                 $user->pincode = Input::get('pincode');
                 $user->save();
                 $bike = Bike::where('user_id', '=', $uid)->where('status', '=', 0, 'AND')->orderBy('id', 'desc')->first();
                 if ($bike) {
                     $unique_id = $user->city . "-" . $user->pincode . "-";
                     for ($i = 0; $i < 11; $i++) {
                         $unique_id .= rand(0, 9);
                     }
                     $bike->unique_id = $unique_id;
                     $bike->status = 1;
                     $bike->qr_code = base64_encode(QrCode::format('png')->size(150)->encoding('UTF-8')->color(150, 90, 10)->backgroundColor(125, 184, '#808040')->generate($unique_id));
                     $bike->updatedon = date("Y-m-d H:i:s");
                     $bike->save();
                 }
                 return $this->response(array('statusCode' => 100, 'statusDescription' => 'Success', 'data' => $user));
             } else {
                 return $this->response(array('statusCode' => 400, 'statusDescription' => "Bad Request", "errors" => "You cannot change profile of others."));
             }
         }
     } catch (Exception $e) {
         return $this->response(array('statusCode' => 401, 'statusDescription' => "Bad Request", "errors" => $e->getMessage()));
     }
 }