| [ Index ] | osCommerce
Docs :: PHP Cross Reference For osCommerce 2.2 MS2 Provided By OSCdox.com |
1 <?php 2 /* 3 $Id: sessions.php,v 1.19 2003/07/02 22:10:34 hpdl Exp $ 4 5 osCommerce, Open Source E-Commerce Solutions 6 http://www.oscommerce.com 7 8 Copyright (c) 2003 osCommerce 9 10 Released under the GNU General Public License 11 */ 12 13 if (STORE_SESSIONS == 'mysql') { 14 if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) { 15 $SESS_LIFE = 1440; 16 } 17 18 function _sess_open($save_path, $session_name) { 19 return true; 20 } 21 22 function _sess_close() { 23 return true; 24 } 25 26 function _sess_read($key) { 27 $value_query = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "' and expiry > '" . time() . "'"); 28 $value = tep_db_fetch_array($value_query); 29 30 if (isset($value['value'])) { 31 return $value['value']; 32 } 33 34 return false; 35 } 36 37 function _sess_write($key, $val) { 38 global $SESS_LIFE; 39 40 $expiry = time() + $SESS_LIFE; 41 $value = $val; 42 43 $check_query = tep_db_query("select count(*) as total from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'"); 44 $check = tep_db_fetch_array($check_query); 45 46 if ($check['total'] > 0) { 47 return tep_db_query("update " . TABLE_SESSIONS . " set expiry = '" . tep_db_input($expiry) . "', value = '" . tep_db_input($value) . "' where sesskey = '" . tep_db_input($key) . "'"); 48 } else { 49 return tep_db_query("insert into " . TABLE_SESSIONS . " values ('" . tep_db_input($key) . "', '" . tep_db_input($expiry) . "', '" . tep_db_input($value) . "')"); 50 } 51 } 52 53 function _sess_destroy($key) { 54 return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'"); 55 } 56 57 function _sess_gc($maxlifetime) { 58 tep_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'"); 59 60 return true; 61 } 62 63 session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc'); 64 } 65 66 function tep_session_start() { 67 return session_start(); 68 } 69 70 function tep_session_register($variable) { 71 global $session_started; 72 73 if ($session_started == true) { 74 return session_register($variable); 75 } else { 76 return false; 77 } 78 } 79 80 function tep_session_is_registered($variable) { 81 return session_is_registered($variable); 82 } 83 84 function tep_session_unregister($variable) { 85 return session_unregister($variable); 86 } 87 88 function tep_session_id($sessid = '') { 89 if (!empty($sessid)) { 90 return session_id($sessid); 91 } else { 92 return session_id(); 93 } 94 } 95 96 function tep_session_name($name = '') { 97 if (!empty($name)) { 98 return session_name($name); 99 } else { 100 return session_name(); 101 } 102 } 103 104 function tep_session_close() { 105 if (PHP_VERSION >= '4.0.4') { 106 return session_write_close(); 107 } elseif (function_exists('session_close')) { 108 return session_close(); 109 } 110 } 111 112 function tep_session_destroy() { 113 return session_destroy(); 114 } 115 116 function tep_session_save_path($path = '') { 117 if (!empty($path)) { 118 return session_save_path($path); 119 } else { 120 return session_save_path(); 121 } 122 } 123 124 function tep_session_recreate() { 125 if (PHP_VERSION >= 4.1) { 126 $session_backup = $_SESSION; 127 128 unset($_COOKIE[tep_session_name()]); 129 130 tep_session_destroy(); 131 132 if (STORE_SESSIONS == 'mysql') { 133 session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc'); 134 } 135 136 tep_session_start(); 137 138 $_SESSION = $session_backup; 139 unset($session_backup); 140 } 141 } 142 ?>
title
Description
Body
title
Description
Body
| Generated: Tue Nov 4 23:53:39 2003 | Hosted By :: AABox.com |
Cross-referenced by PHPXref 0.4 |