/** * Initiliaze from array * * @param array $array Data * * @return \Gc\User\Model */ public static function fromArray(array $array) { $userTable = new Model(); $userTable->setData($array); $userTable->unsetData('password'); $userTable->setOrigData(); return $userTable; }
/** * Test * * @return void */ public function testRenderWithHelperVariable() { $template = array(); $template['template'] = '<?= $this->event->getParam(\'user\')->getName() ?> has saved the user model ' . '<a href="<?= $this->url(\'config/user/edit\', array(\'id\' => $this->event->getParam' . '(\'object\')->getId())) ?>"><?= $this->event->getParam(\'object\')->getId() ?></a>'; $template['event_identifier'] = 'Gc\\User\\Model'; $template['event_name'] = 'on.something'; $result = 'Pierre Rambaud has saved the user model ' . '<a href="/admin/config/user/edit/1">1</a>'; $event = new Event(); $user = new UserModel(); $user->setFirstname('Pierre'); $user->setLastname('Rambaud'); $event->setParam('user', $user); $user = new UserModel(); $user->setData('id', 1); $event->setParam('object', $user); $this->assertEquals($result, $this->object->render($event, $template)); }
/** * Create user * * @return \Zend\View\Model\ViewModel|array */ public function createAction() { $form = new UserForm(); $form->setAttribute('action', $this->url()->fromRoute('config/user/create')); $form->passwordRequired(); $post = $this->getRequest()->getPost()->toArray(); if ($this->getRequest()->isPost()) { $form->setData($post); $form->getInputFilter()->get('password_confirm')->getValidatorChain()->addValidator(new Identical(empty($post['password']) ? null : $post['password'])); if ($form->isValid()) { $userModel = new User\Model(); $userModel->setData($post); $userModel->setPassword($post['password']); $userModel->save(); $this->flashMessenger()->addSuccessMessage('User saved!'); return $this->redirect()->toRoute('config/user/edit', array('id' => $userModel->getId())); } $this->useFlashMessenger(); $this->flashMessenger()->addErrorMessage('User can not be saved'); } return array('form' => $form); }