Phppgads 2.0.7 > PhpPgAds 2.0.7 / Admin / Lib Sessions.inc.php

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Phppgads 2.0.7

Download:
phppgads-2.0.7.zip

Category:
Ad Management

Archive Content:

PhpPgAds 2.0.7

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Report Plugins

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Ltr

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Flags

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Rtl

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Templates

PhpPgAds 2.0.7

PhpPgAds 2.0.7 > Cache

PhpPgAds 2.0.7 > Client

PhpPgAds 2.0.7 > Language

PhpPgAds 2.0.7 > Language > Brazilian Portuguese

PhpPgAds 2.0.7 > Language > Chinese Big5

PhpPgAds 2.0.7 > Language > Chinese Gb2312

PhpPgAds 2.0.7 > Language > Dutch

PhpPgAds 2.0.7 > Language > English

PhpPgAds 2.0.7 > Language > English Us

PhpPgAds 2.0.7 > Language > French

PhpPgAds 2.0.7 > Language > German

PhpPgAds 2.0.7 > Language > Hebrew

PhpPgAds 2.0.7 > Language > Hungarian

PhpPgAds 2.0.7 > Language > Indonesian

PhpPgAds 2.0.7 > Language > Italian

PhpPgAds 2.0.7 > Language > Korean

PhpPgAds 2.0.7 > Language > Polish

PhpPgAds 2.0.7 > Language > Portuguese

PhpPgAds 2.0.7 > Language > Russian Cp1251

PhpPgAds 2.0.7 > Language > Russian Koi8r

PhpPgAds 2.0.7 > Language > Spanish

PhpPgAds 2.0.7 > Language > Turkish

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Defaults

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Layerstyles

PhpPgAds 2.0.7 > Libraries > Layerstyles > Cursor

PhpPgAds 2.0.7 > Libraries > Layerstyles > Floater

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities > Images

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple > Images

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Deliverycache

PhpPgAds 2.0.7 > Libraries > Geotargeting

PhpPgAds 2.0.7 > Libraries > Resources

PhpPgAds 2.0.7 > Maintenance

PhpPgAds 2.0.7 > Misc

PhpPgAds 2.0.7 > Misc > Documentation

PhpPgAds 2.0.7 > Misc

PhpPgAds 2.0.7 > Misc > Fakecron

PhpPgAds 2.0.7 > Misc > Revisions

PhpPgAds 2.0.7 > Misc > Samples

PhpPgAds 2.0.7 > Misc > Samples > Xmlrpc

PhpPgAds 2.0.7 > Misc > Samples > Xmlrpc > Php

Lib Sessions.inc.php:


<?php // $Revision: 2.0.2.8 $

/************************************************************************/
/* phpPgAds                                                             */
/* ========                                                             */
/*                                                                      */
/* Copyright (c) 2001 by Matteo Beccati                                    */
/* http://sourceforge.net/projects/phppgads                             */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/



/*********************************************************/
/* Fetch sessiondata from the database                   */
/*********************************************************/

function phpAds_SessionDataFetch()
{
    global 
$phpAds_config;
    global 
$HTTP_COOKIE_VARS,  $Session;
    
    if (isset(
$HTTP_COOKIE_VARS['sessionID']) && preg_match('/^[0-9a-f]+$/D',  $HTTP_COOKIE_VARS['sessionID']))
    {
        
phpAds_dbQuery("BEGIN");
        
        
$result phpAds_dbQuery("SELECT sessiondata FROM ".$phpAds_config['tbl_session']." WHERE sessionid='".addslashes($HTTP_COOKIE_VARS['sessionID'])."'" .
                                  
" AND lastused > NOW() - '01:00'::interval");
        
        if (
$row phpAds_dbFetchArray($result))
        {
            
$Session unserialize($row['sessiondata']);
            
            
// Reset LastUsed,  prevent from timing out
            
phpAds_dbQuery("UPDATE ".$phpAds_config['tbl_session']." SET lastused = NOW() WHERE sessionid = '".addslashes($HTTP_COOKIE_VARS['sessionID'])."'");

            
phpAds_dbQuery("COMMIT");
        }
        else
            
phpAds_dbQuery("ROLLBACK");
    }
    else
    {
        
$HTTP_COOKIE_VARS['sessionID'] = '';
        return (
False);
    }
}



/*********************************************************/
/* Create a new sessionid                                */
/*********************************************************/

function phpAds_SessionStart()
{
    global 
$HTTP_COOKIE_VARS,  $Session;
    
    if (!isset(
$HTTP_COOKIE_VARS['sessionID']) || !preg_match('/^[0-9a-f]+$/D',  $HTTP_COOKIE_VARS['sessionID']))
    {
        
// Start a new session
        
$Session = array();
        
$HTTP_COOKIE_VARS['sessionID'] = md5(uniqid('phpads',  1));
        
        
phpAds_setCookie ('sessionID',  $HTTP_COOKIE_VARS['sessionID']);
        
phpAds_flushCookie ();
    }
    
    return 
$HTTP_COOKIE_VARS['sessionID'];
}



/*********************************************************/
/* Register the data in the session array                */
/*********************************************************/

function phpAds_SessionDataRegister($key,  $value='')
{
    global 
$Session;
    
    if (!
defined('phpAds_installing'))
        
phpAds_SessionStart();
    
    if (
is_array($key) && $value=='')
    {
        foreach (
array_keys($key) as $name)
        {
            
$Session[$name] = $key[$name];
        }
    }
    else
        
$Session[$key] = $value;
    
    
phpAds_SessionDataStore();
    
    
// This function has been disabled because of incompatibility
    // problem with ZendOptimizer 1.00. Call sessionDataStore
    // manually if have modified the session array.
    // register_shutdown_function("phpAds_SessionDataStore");
}



/*********************************************************/
/* Store the session array in the database               */
/*********************************************************/

function phpAds_SessionDataStore()
{
    global 
$phpAds_config;
    global 
$HTTP_COOKIE_VARS,  $Session;
    
    if (isset(
$HTTP_COOKIE_VARS['sessionID']) && preg_match('/^[0-9a-f]+$/D',  $HTTP_COOKIE_VARS['sessionID']))
    {
        
$sessiondata addslashes(serialize($Session));
        
        
$res phpAds_dbQuery("
            UPDATE
                "
.$phpAds_config['tbl_session']."
            SET
                sessiondata = '"
.$sessiondata."',
                lastused = NOW()
            WHERE
                sessionid = '"
.addslashes($HTTP_COOKIE_VARS['sessionID'])."'
        "
);
        
        if (!
phpAds_dbAffectedRows())
            
phpAds_dbQuery("INSERT INTO ".$phpAds_config['tbl_session']." VALUES ('".addslashes($HTTP_COOKIE_VARS['sessionID'])."',  '".
                   
$sessiondata."',  NOW())");
    }
        
    
// Randomly purge old sessions
    
srand((double)microtime()*1000000);
    if(
rand(1,  100) == 42)    
        
phpAds_dbQuery("DELETE FROM ".$phpAds_config['tbl_session']." WHERE lastused < NOW() - '12:00'::interval");
}



/*********************************************************/
/* Destroy the current session                           */
/*********************************************************/

function phpAds_SessionDataDestroy()
{
    global 
$phpAds_config;
    global 
$HTTP_COOKIE_VARS,  $Session;
    
    if (isset(
$HTTP_COOKIE_VARS['sessionID']) && preg_match('/^[0-9a-f]+$/D',  $HTTP_COOKIE_VARS['sessionID']))
    {
        
// Remove the session data from the database
        
phpAds_dbQuery("DELETE FROM ".$phpAds_config['tbl_session']." WHERE sessionid='".addslashes($HTTP_COOKIE_VARS['sessionID'])."'");
    }
    
    
// Kill the cookie containing the session ID
    
phpAds_setCookie ('sessionID',  '');
    
phpAds_flushCookie ();
    
    
// Clear all local session data and the session ID
    
$Session "";
    unset(
$Session);
    
    
$HTTP_COOKIE_VARS['sessionID'] = "";
    unset(
$HTTP_COOKIE_VARS['sessionID']);
}

?>



Other Ad Management Scripts:

WebMaster Resources Home

©RingsWorld.com