public function modify(array $params)
 {
     if (isset($params[0])) {
         $id_user = intval($params[0]);
         if (!($user = $this->model->getUser($id_user))) {
             return false;
         }
         $data = Request::getAssoc(array());
         $errors = array();
         if (Request::getMethod() == 'POST') {
             $data = Request::getAssoc(array('access', 'lastname', 'firstname', 'lastname', 'email'));
             if (!Tools::isEmail($data['email'])) {
                 $errors[] = 'L\'email saisi n\'est pas valide !';
             }
             if (empty($errors)) {
                 $this->model->updateUser($id_user, $data);
             }
             $password = Request::getAssoc(array('password', 'password_confirm'));
             if (!empty($password['password']) && !empty($password['password_confirm'])) {
                 // Update the password only if modified
                 if ($password['password'] == $password['password_confirm']) {
                     $this->model->updateUserPassword($id_user, $password['password']);
                 } else {
                     $errors[] = 'Les mots de passe saisis ne sont pas identiques.';
                 }
             }
             return array('id_user' => $id_user, 'user' => $user, 'method' => 'POST', 'errors' => $errors);
         }
         return array('id_user' => $id_user, 'user' => $user, 'method' => 'GET', 'errors' => $errors);
     }
     return false;
 }
Example #2
0
 /**
  * Checks whether an email is valid and available
  *
  * @param string $email
  * @return mixed true if valid or error string
  */
 public function checkEmail($email)
 {
     if (!Tools::isEmail($email)) {
         return 'L\'email saisi est invalide.';
     }
     $prep = $this->db->prepare('
   SELECT * FROM users WHERE email LIKE :email
 ');
     $prep->bindParam(':email', $email);
     $prep->execute();
     if ($prep->rowCount() == 0) {
         return true;
     } else {
         return 'L\'email saisi est déjà utilisé.';
     }
 }