/** * Smarty {widget_cart_session} function plugin * * Type: function * Name: widget_cart_session * Date: 21 september 2012 * Update: 06 january 2014 * Purpose: * USAGE: {widget_cartpay_session} * Output: * @link http://www.magix-dev.be * @author Gerits Aurelien * @version 1.5 * @param array * @param Smarty * @return string */ function smarty_function_widget_cartpay_session($params, $template) { // plugins_Autoloader::register(); //chargement des function plugins $session = new frontend_model_session(); $session->_start_session('lang'); //if session key_cart if (isset($_SESSION['key_cart'])) { $token_cart = $_SESSION['key_cart']; } else { $token_cart = magixglobal_model_cryptrsa::tokenId(); } $array_sess = array('key_cart' => $token_cart); $session->session_run($array_sess); // $session->debug(); //@todo créer dans l'api une fonction public applicable dans les widgets. $modelSystem = new magixglobal_model_system(); if ($_GET['magixmod'] != 'cartpay') { frontend_model_smarty::getInstance()->configLoad($modelSystem->base_path() . 'plugins/cartpay/i18n/public_local_' . frontend_model_template::current_Language() . '.conf'); } }
/** * @access private * Vérification de la session pour accèder à l'administration * @param bool $debug */ private function authSession($debug = false) { //Language model init class $language = new backend_model_language(); $language->run(); $token = isset($_SESSION['mc_auth_token']) ? $_SESSION['mc_auth_token'] : magixglobal_model_cryptrsa::tokenId(); $tokentools = $this->hashPassCreate($token); backend_controller_template::assign('hashpass', $tokentools); if (isset($this->email_admin) and isset($this->passwd_admin) and isset($this->hashtoken)) { if (strcasecmp($this->hashtoken, $tokentools) == 0) { if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('tokentest'); if ($this->hashtoken) { if (strcasecmp($this->hashtoken, $tokentools) == 0) { $firebug->magixFireLog('session compatible'); } else { $firebug->magixFireError('session incompatible'); } } $firebug->magixFireLog($_SESSION); $firebug->magixFireGroupEnd(); } $auth_exist = parent::s_auth_exist($this->email_admin, $this->passwd_admin); if (count($auth_exist['id_admin']) == true) { $session = new backend_model_sessions(); $lang = new backend_model_language(); $string = $_SERVER['HTTP_USER_AGENT']; $string .= 'SHIFLETT'; /* Add any other data that is consistent */ $fingerprint = md5($string); //Fermeture de la première session, ses données sont sauvegardées. session_write_close(); $this->start_session(); $data = parent::s_data_session($auth_exist['keyuniqid_admin']); if (!isset($_SESSION['email_admin']) and !isset($_SESSION['keyuniqid_admin'])) { $lang = new backend_model_language(); $session->openSession($data['id_admin'], session_regenerate_id(true), $data['keyuniqid_admin']); //session_regenerate_id(true); $_SESSION['id_admin'] = $data['id_admin']; $_SESSION['email_admin'] = $data['email_admin']; $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin']; $_SESSION['adminLanguage'] = $lang->run(); if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('adminsession'); $firebug->magixFireDump('User session', $_SESSION); $firebug->magixFireGroupEnd(); } magixglobal_model_redirect::backend_redirect_login(false); } else { $session->openSession($data['id_admin'], null, $data['keyuniqid_admin']); $_SESSION['id_admin'] = $data['id_admin']; $_SESSION['email_admin'] = $data['email_admin']; $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin']; $_SESSION['adminLanguage'] = $lang->run(); if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('adminsession'); $firebug->magixFireDump('User session', $_SESSION); $firebug->magixFireGroupEnd(); } magixglobal_model_redirect::backend_redirect_login(false); } } else { $this->message->getNotify('error_login', array('method' => 'fetch', 'assignFetch' => 'login_message')); } } else { $this->message->getNotify('error_hash', array('method' => 'fetch', 'assignFetch' => 'login_message')); } } }