public function userEditAction() { $data = $this->getRequest()->getPost('data'); $id = $this->_getParam('id'); $aclLoader = HCMS_Acl_Loader::getInstance(); //check permission if ($aclLoader->getAcl()->isAllowed($aclLoader->getCurrentRoleCode(), "admin", "master")) { $this->view->isAdminLogged = true; $data["isAdminLogged"] = true; } else { $this->view->isAdminLogged = false; $data["isAdminLogged"] = false; } //check if cancel button is pressed if ($this->_formHelper->isCancel()) { //cancel form return $this->_formHelper->returnCancel($this->view->url(array('action' => 'user-edit')), $this->translate('Action canceled')); } //create form object $form = new Auth_Form_User($data); //postback - save? if ($this->_formHelper->isSave()) { //check if valid if ($form->isValid()) { $values = $form->getValues(); //create entity object from submitted values, and save $user = new Auth_Model_User($values); $date = new Zend_Date(); $user->set_changed_password_dt($date->toString('yyyy-MM-dd HH:mm:ss')); if (isset($id) && $id > 0) { if (isset($values['new_password']) && $values['new_password'] != '') { $user->set_password($values['new_password']); } $this->savePassHistory($id); } Auth_Model_UserMapper::getInstance()->save($user); //save done, return success return $this->_formHelper->returnSuccess($this->view->url(array('action' => 'user-edit')), $this->translate('User saved.')); } else { //we have errors - return json or continue $this->_formHelper->returnError($form->getMessages()); } } elseif (!$this->_formHelper->getRequest()->isPost()) { //edit action if (isset($id) && $id > 0) { $user = new Auth_Model_User(); if (!Auth_Model_UserMapper::getInstance()->find($id, $user)) { throw new Exception("User not found"); } //fetch data $data = $user->toArray(); } } $criteria = array(); $roles = Auth_Model_RoleMapper::getInstance()->fetchAll($criteria); $languages = Application_Model_TranslateMapper::getInstance()->getLanguages(); $this->view->roles = $roles; $this->view->languages = $languages; $this->view->data = $data; //die(print_R($data)); }