X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fsession.php;h=71e6eca53dd032accfae3f948e07d1aef4cb96f6;hb=ba48cd57aabc0e3ee47b19756c4035be129d85de;hp=b8143d261719da51ea8037746008c6150b2bff81;hpb=33cc131a3e5017842d2038f7e16df258b6845a08;p=mailer.git diff --git a/inc/session.php b/inc/session.php index b8143d2617..71e6eca53d 100644 --- a/inc/session.php +++ b/inc/session.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Sitzungs-Management * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,69 +37,45 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} - -// Check if view.php nor click.php was called -// If not set variables to default -if (empty($CLICK)) $CLICK = 0; -if (empty($VIEW)) $VIEW = 0; +if (!defined('__SECURITY')) { + die(); +} // END - if -// Skip updating of cookies when viewing a banner -if (($VIEW == 1) && ($_SERVER['PHP_SELF'])) return; +// Is ext-sql_patches there and newer? +if (isExtensionInstalledAndNewer('sql_patches', '0.5.3')) { + // Set session save path if set + if (getConfig('session_save_path') != '') { + // Please make sure this valid! + session_save_path(getConfig('session_save_path')); + } // END - if +} // END - if -// Start the session -@session_start(); -$PHPSESSID = @session_id(); +// Is a session id there? +if (session_id() == '') { + // Start the session + session_start(); +} // END - if -// Store language code in cookie -set_session("mx_lang", $mx_lang); +// Load language file(s) +loadLanguageFile(); -// Check if refid is set -if ((!empty($_GET['user'])) && ($CLICK == 1) && ($_SERVER['PHP_SELF'] == "click.php")) { - // The variable user comes from the click-counter script click.php and we only accept this here - $GLOBALS['refid'] = bigintval($_GET['user']); -} +// Determine and set referal id +determineReferalId(); -if (!empty($_POST['refid'])) { - // Get referral id from variable refid (so I hope this makes my script more compatible to other scripts) - $GLOBALS['refid'] = SQL_ESCAPE(strip_tags($_POST['refid'])); -} elseif (!empty($_GET['refid'])) { - // Get referral id from variable refid (so I hope this makes my script more compatible to other scripts) - $GLOBALS['refid'] = SQL_ESCAPE(strip_tags($_GET['refid'])); -} elseif (!empty($_GET['ref'])) { - // Set refid=ref (the referral link uses such variable) - $GLOBALS['refid'] = SQL_ESCAPE(strip_tags($_GET['ref'])); -} elseif (isSessionVariableSet('refid')) { - // Set session refid als global - $GLOBALS['refid'] = bigintval(get_session('refid')); -} elseif (GET_EXT_VERSION("sql_patches") != '') { - // Set default refid as refid in URL - $GLOBALS['refid'] = bigintval($_CONFIG['def_refid']); -} else { - // No default ID when sql_patches is not installed - $GLOBALS['refid'] = 0; -} +// Transfer userid from session and validate it +if (isSessionVariableSet('userid')) { + // Get it secured from session + setUserId(getSession('userid')); -// Set cookie when default refid > 0 -if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((get_session('refid') == "0") && ($_CONFIG['def_refid'] > 0))) { - // Set cookie - set_session("refid", $GLOBALS['refid']); -} + // Is it valid? + if (!isMember()) { + // Then destroy the user id + destroyUserSession(); -// Test session if index.php or modules.php is loaded -if ((basename($_SERVER['PHP_SELF']) == "index.php") || (basename($_SERVER['PHP_SELF']) == "modules.php") || (isBooleanConstantAndTrue('mxchange_installing'))) { - if (count($_SESSION) > 0) { - // Session variables accepted! - define('__COOKIES', true); - } else { - // Cookies rejected! - define('__COOKIES', false); - } -} -//* DEBUG: */ print("
".print_r($_SESSION, true).""); + // Kill userid + setUserId(0); + } // END - if +} // END - if -// +// [EOF] ?>