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('*')); }
/** * @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; }