public function profileAction() { $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('menuEditProfile'), array('controller' => 'panel', 'action' => 'profile')); $errors = array(); if ($this->getRequest()->isPost()) { $email = trim($this->getRequest()->getPost('email')); $firstname = trim($this->getRequest()->getPost('first-name')); $lastname = trim($this->getRequest()->getPost('last-name')); $homepage = trim($this->getRequest()->getPost('homepage')); $facebook = trim($this->getRequest()->getPost('facebook')); $twitter = trim($this->getRequest()->getPost('twitter')); $google = trim($this->getRequest()->getPost('google')); $city = trim($this->getRequest()->getPost('city')); $birthday = new \Ilch\Date(trim($this->getRequest()->getPost('birthday'))); if (empty($email)) { $this->addMessage('emailEmpty'); $this->redirect(array('action' => 'profile')); } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $this->addMessage('emailError'); $this->redirect(array('action' => 'profile')); } if (empty($errors)) { $model = new UserModel(); $model->setId($this->getUser()->getId()); $model->setEmail($email); $model->setFirstName($firstname); $model->setLastName($lastname); $model->setHomepage($homepage); $model->setFacebook($facebook); $model->setTwitter($twitter); $model->setGoogle($google); $model->setCity($city); $model->setBirthday($birthday); $profilMapper->save($model); $this->redirect(array('action' => 'profile')); } } }
/** * 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['facebook'])) { $user->setFacebook($userRow['facebook']); } if (isset($userRow['twitter'])) { $user->setTwitter($userRow['twitter']); } if (isset($userRow['google'])) { $user->setGoogle($userRow['google']); } 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['opt_gallery'])) { $user->setOptGallery($userRow['opt_gallery']); } 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; }