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; }
/** * 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é.'; } }