예제 #1
0
 public function save(Mage_Admin_Model_User $user)
 {
     $this->_write->beginTransaction();
     try {
         $data = array('firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'email' => $user->getEmail(), 'username' => $user->getUsername(), 'modified' => now());
         if (!is_null($user->getReloadAclFlag())) {
             $data['reload_acl_flag'] = $user->getReloadAclFlag();
         }
         if ($user->getPassword()) {
             $data['password'] = $this->_encryptPassword($user->getPassword());
         }
         if ($user->getId()) {
             $condition = $this->_write->quoteInto('user_id=?', $user->getId());
             $this->_write->update($this->_userTable, $data, $condition);
         } else {
             $data['created'] = now();
             $this->_write->insert($this->_userTable, $data);
             $user->setUserId($this->_write->lastInsertId());
         }
         $this->_write->commit();
     } catch (Exception $e) {
         $this->_write->rollback();
         throw $e;
     }
     return $user;
 }
 /**
  * Given a admin user, return a option map with the username as the label
  * and user id as the value.
  * @param  Mage_Admin_Model_User $user
  * @return array
  * @SuppressWarnings(PHPMD.UnusedPrivateMethod)
  */
 private function _userMap(Mage_Admin_Model_User $user)
 {
     return array('label' => $user->getUsername(), 'value' => $user->getId());
 }
 /**
  * Clear out user and session data when validation fails. Dispatch an event,
  * set session messages and unset user data before returning the empty
  * user object.
  * @param  Mage_Admin_Model_User $user
  * @param  Mage_Core_Controller_Request_Http $request
  * @param  Mage_Core_Exception $authException
  * @return null
  * @codeCoverageIgnore All side-effects taken from Magento auth/login process
  */
 protected function _failValidation(Mage_Admin_Model_User $user, Mage_Core_Controller_Request_Http $request = null, Mage_Core_Exception $authException)
 {
     $logMessage = 'Failed to authenticate using token.';
     $this->logger->info($logMessage, $this->context->getMetaData(__CLASS__));
     // This may be problematic due to the missing user password. It is never
     // given while doing the token auth so we don't have one to pass. So far
     // it doesn't seem to be causing any issues but may have some impact on the
     // Mage_Enterprise_Pci_Model_Observer::adminAuthenticate method.
     Mage::dispatchEvent('admin_user_authenticate_after', array('username' => $user->getUsername(), 'password' => '', 'user' => $user, 'result' => false));
     Mage::dispatchEvent('admin_session_user_login_failed', array('user_name' => $user->getUsername(), 'exception' => $authException));
     if ($request && !$request->getParam('messageSent')) {
         Mage::getSingleton('adminhtml/session')->addError($authException->getMessage());
         $request->setParam('messageSent', true);
     }
     $user->unsetData();
     $this->_postAuthCheckRedirect(Mage::helper('adminhtml')->getUrl('*'));
 }
예제 #4
0
파일: Filter.php 프로젝트: bevello/bevello
 /**
  * @param Mage_Admin_Model_User $user
  *
  * @return Bronto_Common_Model_Email_Template_Filter
  */
 protected function _filterAdmin(Mage_Admin_Model_User $user)
 {
     if (!in_array('admin', $this->_filteredObjects)) {
         $this->setField('adminName', $user->getUsername());
         $this->setField('adminPassword', $user->getPlainPassword());
         $this->setField('adminLoginURL', Mage::helper('adminhtml')->getUrl('adminhtml/system_account/'));
         if (Mage::helper('bronto_common')->isVersionMatch(Mage::getVersionInfo(), 1, array(array('>=', '6')))) {
             $this->setField('adminPasswordResetLink', Mage::helper('adminhtml')->getUrl('adminhtml/index/resetpassword', array('_query' => array('id' => $user->getId(), 'token' => $user->getRpToken()))));
         }
         $this->_filteredObjects[] = 'admin';
     }
     return $this;
 }