[ Index ] |
|
Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1 |
1 <?php 2 /** 3 * session-related functions used by installer * 4 * @package Installer 5 * @access private 6 * @copyright Copyright 2003-2005 Zen Cart Development Team 7 * @copyright Portions Copyright 2003 osCommerce 8 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 9 * @version $Id: sessions.php 2342 2005-11-13 01:07:55Z drbyte $ 10 */ 11 12 13 if (STORE_SESSIONS == 'db') { 14 if (defined('DIR_WS_ADMIN')) { 15 if (!$SESS_LIFE = (SESSION_TIMEOUT_ADMIN + 900)) { 16 $SESS_LIFE = (SESSION_TIMEOUT_ADMIN + 900); 17 } 18 } else { 19 if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) { 20 $SESS_LIFE = 1440; 21 } 22 } 23 24 function _sess_open($save_path, $session_name) { 25 return true; 26 } 27 28 function _sess_close() { 29 return true; 30 } 31 32 function _sess_read($key) { 33 global $db; 34 $qid = "select value 35 from " . TABLE_SESSIONS . " 36 where sesskey = '" . zen_db_input($key) . "' 37 and expiry > '" . time() . "'"; 38 39 $value = $db->Execute($qid); 40 41 if ($value->fields['value']) { 42 return $value->fields['value']; 43 } 44 45 return false; 46 } 47 48 function _sess_write($key, $val) { 49 global $db; 50 global $SESS_LIFE; 51 52 $expiry = time() + $SESS_LIFE; 53 $value = $val; 54 55 $qid = "select count(*) as total 56 from " . TABLE_SESSIONS . " 57 where sesskey = '" . zen_db_input($key) . "'"; 58 59 $total = $db->Execute($qid); 60 61 if ($total->fields['total'] > 0) { 62 $sql = "update " . TABLE_SESSIONS . " 63 set expiry = '" . zen_db_input($expiry) . "', value = '" . zen_db_input($value) . "' 64 where sesskey = '" . zen_db_input($key) . "'"; 65 66 return $db->Execute($sql); 67 68 } else { 69 $sql = "insert into " . TABLE_SESSIONS . " 70 values ('" . zen_db_input($key) . "', '" . zen_db_input($expiry) . "', '" . 71 zen_db_input($value) . "')"; 72 73 return $db->Execute($sql); 74 75 } 76 } 77 78 function _sess_destroy($key) { 79 global $db; 80 $sql = "delete from " . TABLE_SESSIONS . " where sesskey = '" . zen_db_input($key) . "'"; 81 return $db->Execute($sql); 82 } 83 84 function _sess_gc($maxlifetime) { 85 global $db; 86 $sql = "delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'"; 87 $db->Execute($sql); 88 return true; 89 } 90 91 session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc'); 92 } 93 94 function zen_session_start() { 95 if (defined('DIR_WS_ADMIN')) { 96 @ini_set('session.gc_maxlifetime', (SESSION_TIMEOUT_ADMIN < 900 ? (SESSION_TIMEOUT_ADMIN + 900) : SESSION_TIMEOUT_ADMIN)); 97 } 98 return session_start(); 99 } 100 101 function zen_session_register($variable) { 102 die('This function has been deprecated. Please use Register Globals Off compatible code'); 103 } 104 105 function zen_session_is_registered($variable) { 106 die('This function has been deprecated. Please use Register Globals Off compatible code'); 107 } 108 109 function zen_session_unregister($variable) { 110 die('This function has been deprecated. Please use Register Globals Off compatible code'); 111 } 112 113 function zen_session_id($sessid = '') { 114 if (!empty($sessid)) { 115 return session_id($sessid); 116 } else { 117 return session_id(); 118 } 119 } 120 121 function zen_session_name($name = '') { 122 if (!empty($name)) { 123 return session_name($name); 124 } else { 125 return session_name(); 126 } 127 } 128 129 function zen_session_close() { 130 if (function_exists('session_close')) { 131 return session_close(); 132 } 133 } 134 135 function zen_session_destroy() { 136 return session_destroy(); 137 } 138 139 function zen_session_save_path($path = '') { 140 if (!empty($path)) { 141 return session_save_path($path); 142 } else { 143 return session_save_path(); 144 } 145 } 146 147 function zen_session_recreate() { 148 if (PHP_VERSION >= 4.1) { 149 $session_backup = $_SESSION; 150 151 unset($_COOKIE[zen_session_name()]); 152 153 zen_session_destroy(); 154 155 if (STORE_SESSIONS == 'db') { 156 session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc'); 157 } 158 159 zen_session_start(); 160 161 $_SESSION = $session_backup; 162 unset($session_backup); 163 } 164 } 165 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 16:45:43 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |