Example #1
0
 function postUpdateUser($id = 0, &$data)
 {
     // check validate
     $validate = Validator::make(Input::all(), User::getUpdateUserRules(), User::getUpdateUserLangs());
     $flag = $this->checkValidatePass($this->data);
     if ($validate->passes() && $flag == TRUE) {
         $username = Input::get('username');
         $password = Input::get('re-password');
         $groupID = (int) Input::get('role');
         $firstName = Input::get('first_name');
         $lastName = Input::get('last_name');
         $activated = Input::get('status');
         $email = Input::get('email');
         $address = Input::get('address');
         $country = Input::get('country');
         $phone = Input::get('phone');
         $contact_phone = Input::get('contact_phone');
         if ($id == 0) {
             // INSERT
             try {
                 $user = Sentry::createUser(array('username' => $username, 'password' => $password, 'first_name' => $firstName, 'last_name' => $lastName, 'email' => $email, 'activated' => TRUE, 'address' => $address, 'country_id' => $country, 'phone' => $phone, 'phone_contact' => $contact_phone));
                 if ($groupID != 0 && is_numeric($groupID)) {
                     $groupItem = Sentry::findGroupById($groupID);
                     $permissions = $groupItem->getPermissions();
                     $user->addGroup($groupItem);
                     $user->permissions = $permissions;
                     $user->save();
                 }
                 $data['id'] = $user->id;
                 return TRUE;
             } catch (\Cartalyst\Sentry\Users\UserExistsException $e) {
                 $data['message'] = 'Login name already exists. Please enter the log in different';
             }
         } else {
             // UPDATE
             try {
                 $userData = Sentry::findUserById($id);
                 $userData->username = $username;
                 if ($password != "") {
                     $userData->password = $password;
                 }
                 $userData->email = $email;
                 $userData->first_name = $firstName;
                 $userData->last_name = $lastName;
                 $userData->activated = $activated;
                 $userData->address = $address;
                 $userData->country_id = $country;
                 $userData->phone = $phone;
                 $userData->phone_contact = $contact_phone;
                 if ($groupID != 0 && is_numeric($groupID)) {
                     $groupItem = Sentry::findGroupById($groupID);
                     $permissions = $groupItem->getPermissions();
                     $userData->addGroup($groupItem);
                     $userData->permissions = $permissions;
                 }
                 if ($userData->save()) {
                     $data['id'] = $userData->id;
                     return TRUE;
                 }
             } catch (\Cartalyst\Sentry\Users\WrongPasswordException $e) {
                 $data['message'] = "Passwords do not exactly";
             }
         }
     } else {
         $data['validate'] = $validate->messages();
     }
     return FALSE;
 }
 public function myProfile($idu = '')
 {
     $currentUser = $this->user;
     $this->data['item'] = $currentUser;
     $id = $currentUser->id;
     //get list country
     $countryModel = new CountryBaseModel();
     $this->data['itemCountry'] = $countryModel->getAll();
     if (Request::isMethod('post')) {
         // check validate
         $validate = Validator::make(Input::all(), User::getUpdateUserRules(), User::getUpdateUserLangs());
         $flag = $this->checkValidatePass($this->data);
         if ($validate->passes() && $flag == TRUE) {
             $username = Input::get('username');
             $password = Input::get('re-password');
             $firstName = Input::get('first_name');
             $lastName = Input::get('last_name');
             $email = Input::get('email');
             $address = Input::get('address');
             $country = Input::get('country');
             $phone = Input::get('phone');
             $contact_phone = Input::get('contact_phone');
             try {
                 $userData = Sentry::findUserById($id);
                 $userData->username = $username;
                 if ($password != "") {
                     $userData->password = $password;
                 }
                 $userData->email = $email;
                 $userData->first_name = $firstName;
                 $userData->last_name = $lastName;
                 $userData->address = $address;
                 $userData->country_id = $country;
                 $userData->phone = $phone;
                 $userData->phone_contact = $contact_phone;
                 if ($userData->save()) {
                     $data['id'] = $userData->id;
                     $messages = trans("backend::publisher/text.update_success");
                     Session::flash('mess', $messages);
                     if ($idu != 0) {
                         $url = Route('ToolAdvertiserManagerShowUpdate', $id);
                     } else {
                         $url = Route('ToolAdvertiserManagerProfile');
                     }
                     return Redirect::to($url);
                 }
             } catch (\Cartalyst\Sentry\Users\WrongPasswordException $e) {
                 $this->data['message'] = "Passwords do not exactly";
             }
         } else {
             $this->data['validate'] = $validate->messages();
         }
     }
     $this->layout->content = View::make('myProfile', $this->data);
 }