public function passwordAction() { $profilMapper = new UserMapper(); $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('menuPanel'), array('controller' => 'panel', 'action' => 'index'))->add($this->getTranslator()->trans('menuSettings'), array('controller' => 'panel', 'action' => 'settings'))->add($this->getTranslator()->trans('menuPassword'), array('controller' => 'panel', 'action' => 'password')); if ($this->getRequest()->isPost()) { $password = trim($this->getRequest()->getPost('password')); $password2 = trim($this->getRequest()->getPost('password2')); if (empty($password)) { $this->addMessage('passwordEmpty', $type = 'danger'); $this->redirect(array('action' => 'password')); } elseif (empty($password2)) { $this->addMessage('passwordRetypeEmpty', $type = 'danger'); $this->redirect(array('action' => 'password')); } elseif (strlen($password) < 6 or strlen($password) > 30) { $this->addMessage('passwordLength', $type = 'danger'); $this->redirect(array('action' => 'password')); } elseif ($password != $password2) { $this->addMessage('passwordNotEqual', $type = 'danger'); $this->redirect(array('action' => 'password')); } if (!empty($password) and !empty($password2) and $password == $password2) { $password = (new PasswordService())->hash($password); $model = new UserModel(); $model->setId($this->getUser()->getId()); $model->setPassword($password); $profilMapper->save($model); $this->addMessage('passwordSuccess'); $this->redirect(array('action' => 'password')); } } }
/** * Returns a user created using an array with user data. * * @param mixed[] $userRow * @return UserModel */ public function loadFromArray($userRow = array()) { $user = new UserModel(); if (isset($userRow['id'])) { $user->setId($userRow['id']); } if (isset($userRow['name'])) { $user->setName($userRow['name']); } if (isset($userRow['email'])) { $user->setEmail($userRow['email']); } if (isset($userRow['first_name'])) { $user->setFirstName($userRow['first_name']); } if (isset($userRow['last_name'])) { $user->setLastName($userRow['last_name']); } if (isset($userRow['homepage'])) { $user->setHomepage($userRow['homepage']); } if (isset($userRow['city'])) { $user->setCity($userRow['city']); } if (isset($userRow['birthday'])) { $user->setBirthday($userRow['birthday']); } if (isset($userRow['avatar'])) { if (file_exists($userRow['avatar'])) { $user->setAvatar($userRow['avatar']); } else { $user->setAvatar('static/img/noavatar.jpg'); } } if (isset($userRow['signature'])) { $user->setSignature($userRow['signature']); } if (isset($userRow['password'])) { $user->setPassword($userRow['password']); } if (isset($userRow['opt_mail'])) { $user->setOptMail($userRow['opt_mail']); } if (isset($userRow['date_created'])) { $dateCreated = new IlchDate($userRow['date_created']); $user->setDateCreated($dateCreated); } if (isset($userRow['date_confirmed'])) { $dateConfirmed = new IlchDate($userRow['date_confirmed']); $user->setDateConfirmed($dateConfirmed); } if (isset($userRow['date_last_activity'])) { $dateLastActivity = new IlchDate($userRow['date_last_activity']); $user->setDateLastActivity($dateLastActivity); } if (isset($userRow['confirmed'])) { $user->setConfirmed($userRow['confirmed']); } if (isset($userRow['confirmed_code'])) { $user->setConfirmedCode($userRow['confirmed_code']); } return $user; }