/** * doExecute * * @return string */ protected function doExecute() { $view = new ProfileHtmlView($this->data); $model = new ProfileModel(); $session = Ioc::getSession(); $user = $session->get('profile.edit.data') ?: User::get(); $view['item'] = $user; $view['form'] = $model->getForm($user); return $view->setLayout('edit')->render(); }
/** * validate * * @param Data $data * * @throws ValidFailException * @return boolean */ protected function validate($data) { $model = new ProfileModel(); $form = $model->getForm($data); if (!$form->validate()) { $errors = $form->getErrors(); foreach ($errors as $error) { $this->addFlash($error->getMessage(), 'danger'); } $this->setRedirect(Router::buildHttp('admin:profile', ['id' => $data->id ?: ''])); return false; } if ($data->password) { if ($data->password2 != $data->password) { throw new ValidFailException('Password not match'); } $password = new Password(); $data->password = $password->create($data->password); } else { unset($data->password); } return true; }