1<?php 2 $DB_SERVER = "server"; /* database server hostname */ 3 $DB_NAME = "dbname"; /* database name */ 4 $DB_USER = "root"; /* database user */ 5 $DB_PASS = "*************"; /* database password */ 6 7 $DB_SELECT_DB = ""; 8 $SESS_LIFE = get_cfg_var("session.gc_maxlifetime"); 9 10 function sess_open($save_path, $session_name) { 11 global $DB_SERVER, $DB_NAME, $DB_USER, $DB_PASS, $DB_SELECT_DB; 12 13 if (! $DB_SELECT_DB = mysql_pconnect($DB_SERVER, $DB_USER, $DB_PASS)) { 14 echo "SORRY! MYSQL ERROR : Can't connect to $DB_SERVER as $DB_USER"; 15 echo "MySQL Error: ", mysql_error(); 16 die; 17 } 18 19 if (! mysql_select_db($DB_NAME, $DB_SELECT_DB)) { 20 echo "SORRY! MYSQL ERROR : Unable to select database $DB_NAME"; 21 die; 22 } 23 24 return true; 25 } 26 27 function sess_close() { 28 return true; 29 } 30 31 function sess_read($SessionKey){ 32 global $DB_SELECT_DB, $SESS_LIFE; 33 $Query = "SELECT SessionArray FROM cdb_global_sessions WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " . time(); 34 $Result = mysql_query($Query, $DB_SELECT_DB); 35 36 if (list($SessionArray) = mysql_fetch_row($Result)) { 37 return $SessionArray; 38 } 39 40 return false; 41 } 42 43 function sess_write($SessionKey, $VArray) { 44 global $DB_SELECT_DB, $SESS_LIFE; 45 46 $SessionExpTime = time() + $SESS_LIFE; 47 $SessionArray = addslashes($VArray); 48 49 $Query = "INSERT INTO cdb_global_sessions (SessionKey,SessionExpTime,SessionArray) VALUES ('".$SessionKey."','".$SessionExpTime."','".$SessionArray."')"; 50 $Result = mysql_query($Query, $DB_SELECT_DB); 51 52 if (!$Result){ 53 $Query = "UPDATE cdb_global_sessions SET SessionExpTime = '".$SessionExpTime."', SessionArray = '".$SessionArray."' WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " . time(); 54 $Result = mysql_query($Query, $DB_SELECT_DB); 55 } 56 return $Result; 57 } 58 59 function sess_destroy($SessionKey) { 60 global $DB_SELECT_DB; 61 62 $Query = "DELETE FROM cdb_global_sessions WHERE SessionKey = '".$SessionKey."'"; 63 $Result = mysql_query($Query, $DB_SELECT_DB); 64 65 return $Result; 66 } 67 68 function sess_gc($maxlifetime) { 69 global $DB_SELECT_DB; 70 71 $Query = "DELETE FROM cdb_global_sessions WHERE SessionExpTime < " . time(); 72 $Result = mysql_query($Query, $DB_SELECT_DB); 73 74 return mysql_affected_rows($DB_SELECT_DB); 75 } 76 77 session_set_save_handler( 78 "sess_open", 79 "sess_close", 80 "sess_read", 81 "sess_write", 82 "sess_destroy", 83 "sess_gc"); 84session_start(); 85 ?> 86