示例#1
0
 /**
  * Create action
  *
  * @return void
  */
 public function createAction()
 {
     $request = $this->getRequest();
     $form = new \Admin_Form_UserCreate();
     if ($request->isPost()) {
         if ($form->isValid($request->getParams())) {
             $data = $form->getValues();
             try {
                 $user = UserService::create(array('username' => $data['username'], 'email' => $data['email'], 'password' => UserService::encryptPassword($data['password']), 'role' => AclRoleService::find($data['role']), 'dateCreated' => new DateTime(), 'active' => true, 'locked' => false));
                 UserProfileService::create(array('user' => $user, 'firstName' => $data['firstName'], 'lastName' => $data['lastName'], 'phone' => $data['phone'], 'website' => $data['website'], 'timeZone' => TimeZoneService::findOneByName('America/Los_Angeles')));
                 UserEditEventService::create(array('user' => $user, 'editor' => $this->_user, 'ip' => $this->getRequest()->getServer('REMOTE_ADDR'), 'date' => new DateTime(), 'description' => 'Creation'));
                 $this->view->success = 1;
                 $this->_helper->sessionMessenger('User created successfully.', 'success');
                 return $this->_helper->getHelper('Redirector')->gotoRoute(array(), 'adminUsers');
             } catch (Exception $e) {
                 $this->getResponse()->setHttpResponseCode(500);
                 $this->view->success = 0;
                 $message = 'development' == APPLICATION_ENV ? $e->getMessage() : 'Application error: AUCCA001';
                 $this->view->messages()->addMessage($message, 'error');
                 Logger::err($e->getMessage());
             }
         } else {
             // Submitted form data is invalid
             $this->getResponse()->setHttpResponseCode(500);
             $this->view->success = 0;
         }
     }
     $this->view->form = $form;
 }