public function avatarAction() { $profilMapper = new UserMapper(); $avatarAllowedFiletypes = $this->getConfig()->get('avatar_filetypes'); $avatarHeight = $this->getConfig()->get('avatar_height'); $avatarWidth = $this->getConfig()->get('avatar_width'); $avatarSize = $this->getConfig()->get('avatar_size'); $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('menuAvatar'), array('controller' => 'panel', 'action' => 'avatar')); if ($this->getRequest()->isPost() && !empty($_FILES['avatar']['name'])) { $path = $this->getConfig()->get('avatar_uploadpath'); $file = $_FILES['avatar']['name']; $file_tmpe = $_FILES['avatar']['tmp_name']; $endung = strtolower(pathinfo($file, PATHINFO_EXTENSION)); $file_size = $_FILES['avatar']['size']; if (in_array($endung, explode(' ', $avatarAllowedFiletypes))) { $size = getimagesize($file_tmpe); $width = $size[0]; $height = $size[1]; if ($file_size <= $avatarSize and $width == $avatarWidth and $height == $avatarHeight) { $avatar = $path . $this->getUser()->getId() . '.' . $endung; if ($profil->getAvatar() != '') { $settingMapper = new SettingMapper(); $settingMapper->delAvatarById($this->getUser()->getId()); } $model = new UserModel(); $model->setId($this->getUser()->getId()); $model->setAvatar($avatar); $profilMapper->save($model); if (move_uploaded_file($file_tmpe, $avatar)) { $this->addMessage('successAvatar'); } } else { $this->addMessage('failedFilesize', 'warning'); } } else { $this->addMessage('failedFiletypes', 'warning'); } $this->redirect(array('action' => 'avatar')); } elseif ($this->getRequest()->isPost() && $this->getRequest()->getPost('avatar_delete') != '') { $settingMapper = new SettingMapper(); $settingMapper->delAvatarById($this->getUser()->getId()); $this->addMessage('avatarSuccessDelete'); $this->redirect(array('action' => 'avatar')); } $this->getView()->set('avatar_height', $avatarHeight); $this->getView()->set('avatar_width', $avatarWidth); $this->getView()->set('avatar_size', $avatarSize); $this->getView()->set('avatar_filetypes', $avatarAllowedFiletypes); }
/** * 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; }