Example #1
0
 /**
  * Синглтон
  *
  * @return Modules_Access_Framework_User
  */
 public static function getInstance()
 {
     if (self::$_instance == null) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 public function init()
 {
     $this->_user = Modules_Access_Framework_User::getInstance();
     if (false != $this->_user->getUserName() && $this->getRequest()->getActionName() != 'logout') {
         $this->_redirect('/');
     }
     $this->_helper->layout->setLayout('login');
     $this->view->safetyPassword = Zend_Registry::get('config')->Access->safetyPassword;
 }
 public function addAction()
 {
     if ($roleInfo = $this->hasParam('role_id')) {
         $roleInfo = $this->view->role = $this->_modelRoles->getRole($this->getParam('role_id'));
     }
     $form = new Zetta_Form(Zend_Registry::get('config')->Accessusers->form->admin_adduser);
     $rolesElement = $form->getElement('role_name');
     $rolesElement->addMultiOptions(Zetta_Acl::getInstance()->getAccepdedRolesHash());
     if (is_object($roleInfo)) {
         $rolesElement->setValue($roleInfo->name);
     }
     if ($user_id = $this->getParam('login')) {
         $this->view->user_id = $user_id;
         $editUserData = $this->_modelUsers->getUser($user_id);
         $form->setDefaults($editUserData->toArray());
         $form->getElement('username')->setAttrib('disabled', 'disabled');
         $form->getElement('password')->setRequired(false);
         $form->getElement('re_password')->setRequired(false);
         $myUser = Zend_Auth::getInstance()->getIdentity();
         if ($myUser->username == $user_id) {
             $form->removeElement('role_name');
         }
     } else {
         $saltElement = $form->getElement('salt');
         $saltElement->setValue(Modules_Access_Model_Users::GenerateSalt());
     }
     if (!sizeof($_POST) || !$form->isValid($_POST)) {
         $this->view->form = $form;
     } else {
         $arrayData = array('salt' => $form->getValue('salt'), 'active' => (int) $form->getValue('active'), 'email' => $form->getValue('email'), 'name' => $form->getValue('name'), 'sername' => $form->getValue('sername'));
         if ($form->getValue('role_name')) {
             $arrayData['role_name'] = $form->getValue('role_name');
         }
         if ($form->getValue('password')) {
             $arrayData['password'] = md5(Zend_Registry::get('config')->Db->staticSalt . md5($form->getValue('password')) . $form->getValue('salt'));
             if ($this->getParam('login') == Modules_Access_Framework_User::getInstance()->getUserName()) {
                 $stdObject = Zend_Auth::getInstance()->getStorage()->read();
                 $stdObject->password = $arrayData['password'];
                 Zend_Auth::getInstance()->getStorage()->write($stdObject);
             }
         }
         if ($user_id) {
             $this->_modelUsers->update($arrayData, $this->_modelUsers->getAdapter()->quoteInto('username = ?', $user_id));
         } else {
             $arrayData['username'] = $form->getValue('username');
             $this->_modelUsers->insert($arrayData);
         }
         $this->renderScript('admin/addComplete.ajax.phtml');
     }
 }