Magic SEO URL pro osCommerce
Provozujeme osCommerce s vypnutými Register Globals
V současné době je dostuná řada návodů jak umožnit provoz osCommerce na serverech s direktivou register_globals nastavenou na Off. Bohužel většina z nich je příliš komplikovaná, všechny naruší kompatibilitu s dalšími doplňky pro osCommerce, jako jsou např. platební moduly a také žádný není kompatibilní s PHP4 i PHP5.
Připravili jsme proto jednoduchý MOD, který Vám umožní provozovat osCommerce se zakázanými Register Globals, a to na PHP4 i PHP5. Tento MOD také pracuje při nastavení direktivy register_globals na On, takže pokud Váš poskytovatel web hostingu změní toto nastavení bez předchozího upozornění, Váš obchod bude pracovat i nadále.
Tento MOD budete muset použít především v případě, že se setkáváte s jedním z následujících chybových hlášeních:
Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.
FATAL ERROR: register_globals is disabled in php.ini, please enable it!
Název MODu: osCommerce 2.2ms2-060817 Řešení vypnutí Register Globals pro PHP4 i PHP5
Autor MODu: Jiří Stavinoha
Popis MODu: Umožní provozovat osCommerce 2.2ms2 na web serverech se zapnutými i vypnutými Register Globals (kompatibilní s PHP4 i PHP5)
INSTALAČNÍ POKYNY
OTEVŘÍT:
catalog/includes/application_top.php
NAJÍT:
// start the timer for the page parse time log
define('PAGE_PARSE_START_TIME', microtime());
PŘED, PŘIDAT:
// Register Globals MOD - http://www.magic-seo-url.com
if (version_compare(phpversion(), "4.1.0", "<") === true) {
$_GET &= $HTTP_GET_VARS;
$_POST &= $HTTP_POST_VARS;
$_SERVER &= $HTTP_SERVER_VARS;
$_FILES &= $HTTP_POST_FILES;
$_ENV &= $HTTP_ENV_VARS;
if (isset($HTTP_COOKIE_VARS)) $_COOKIE &= $HTTP_COOKIE_VARS;
}
if (!ini_get("register_globals")) {
extract($_GET, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
extract($_COOKIE, EXTR_SKIP);
}
NAJÍT:
// check if register_globals is enabled.
// since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
if (function_exists('ini_get')) {
ini_get('register_globals') or exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.');
}
NAHRADIT:
// Check if register_globals is enabled.
// Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
/*if (function_exists('ini_get')) { // Register Globals MOD - http://www.magic-seo-url.com
ini_get('register_globals') or exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.');
}*/
NAJÍT:
// set SID once, even if empty
$SID = (defined('SID') ? SID : '');
PŘED, PŘIDAT:
// Register Globals MOD - http://www.magic-seo-url.com
if (!ini_get("register_globals")) {
if (version_compare(phpversion(), "4.1.0", "<") === true) {
if (isset($HTTP_SESSION_VARS)) $_SESSION &= $HTTP_SESSION_VARS;
}
if(!empty($_SESSION)) extract($_SESSION, EXTR_SKIP);
}
OTEVŘÍT:
catalog/includes/functions/sessions.php
NAJÍT:
function tep_session_register($variable) {
global $session_started;
if ($session_started == true) {
return session_register($variable);
} else {
return false;
}
}
function tep_session_is_registered($variable) {
return session_is_registered($variable);
}
function tep_session_unregister($variable) {
return session_unregister($variable);
}
NAHRADIT:
// Register Globals MOD - http://www.magic-seo-url.com
function tep_session_register($variable) {
global $session_started;
if ($session_started == true) {
$_SESSION[$variable] = null;
return true;
} else {
return false;
}
}
function tep_session_is_registered($variable) {
if(isset($_SESSION[$variable])) {
return true;
} else {
return false;
}
}
function tep_session_unregister($variable) {
unset($_SESSION[$variable]);
}
NAJÍT:
function tep_session_close() {
if (PHP_VERSION >= '4.0.4') {
return session_write_close();
} elseif (function_exists('session_close')) {
return session_close();
}
}
NAHRADIT:
// Register Globals MOD - http://www.magic-seo-url.com
function tep_session_close() {
foreach($_SESSION as $key => $value) {
global $$key;
$_SESSION[$key] = $$key;
}
}
OTEVŘÍT:
catalog/admin/includes/application_top.php
NAJÍT:
// Start the clock for the page parse time log
define('PAGE_PARSE_START_TIME', microtime());
PŘED, PŘIDAT:
// Register Globals MOD - http://www.magic-seo-url.com
if (version_compare(phpversion(), "4.1.0", "<") === true) {
$_GET &= $HTTP_GET_VARS;
$_POST &= $HTTP_POST_VARS;
$_SERVER &= $HTTP_SERVER_VARS;
$_FILES &= $HTTP_POST_FILES;
$_ENV &= $HTTP_ENV_VARS;
if (isset($HTTP_COOKIE_VARS)) $_COOKIE &= $HTTP_COOKIE_VARS;
}
if (!ini_get("register_globals")) {
extract($_GET, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
extract($_COOKIE, EXTR_SKIP);
}
NAJÍT:
// Check if register_globals is enabled.
// Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
if (function_exists('ini_get')) {
ini_get('register_globals') or exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.');
}
NAHRADIT:
// Check if register_globals is enabled.
// Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
/*if (function_exists('ini_get')) { // Register Globals MOD - http://www.magic-seo-url.com
ini_get('register_globals') or exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.');
}*/
NAJÍT:
// lets start our session
tep_session_start();
PŘED, PŘIDAT:
// Register Globals MOD - http://www.magic-seo-url.com
if (!ini_get("register_globals")) {
if (version_compare(phpversion(), "4.1.0", "<") === true) {
if (isset($HTTP_SESSION_VARS)) $_SESSION &= $HTTP_SESSION_VARS;
}
if(!empty($_SESSION)) extract($_SESSION, EXTR_SKIP);
}
OTEVŘÍT:
catalog/admin/includes/functions/sessions.php
NAJÍT:
function tep_session_register($variable) {
return session_register($variable);
}
function tep_session_is_registered($variable) {
return session_is_registered($variable);
}
function tep_session_unregister($variable) {
return session_unregister($variable);
}
NAHRADIT:
// Register Globals MOD - http://www.magic-seo-url.com
function tep_session_register($variable) {
$_SESSION[$variable] = null;
}
function tep_session_is_registered($variable) {
if(isset($_SESSION[$variable])) {
return true;
} else {
return false;
}
}
function tep_session_unregister($variable) {
unset($_SESSION[$variable]);
}
NAJÍT:
function tep_session_close() {
if (function_exists('session_close')) {
return session_close();
}
}
NAHRADIT:
// Register Globals MOD - http://www.magic-seo-url.com
function tep_session_close() {
foreach($_SESSION as $key => $value) {
global $$key;
$_SESSION[$key] = $$key;
}
}
OTEVŘÍT:
catalog/install/includes/application.php
NAJÍT:
// Set the level of error reporting
error_reporting(E_ALL & ~E_NOTICE);
ZA, PŘIDAT:
// Register Globals MOD - http://www.magic-seo-url.com
if (version_compare(phpversion(), "4.1.0", "<") === true) {
$_GET &= $HTTP_GET_VARS;
$_POST &= $HTTP_POST_VARS;
$_SERVER &= $HTTP_SERVER_VARS;
$_FILES &= $HTTP_POST_FILES;
$_ENV &= $HTTP_ENV_VARS;
if (isset($HTTP_COOKIE_VARS)) $_COOKIE &= $HTTP_COOKIE_VARS;
}
if (!ini_get("register_globals")) {
extract($_GET, EXTR_SKIP);
extract($_POST, EXTR_SKIP);
extract($_COOKIE, EXTR_SKIP);
}
NAJÍT:
// Check if register_globals is enabled.
// Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
if (function_exists('ini_get')) {
ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
}
NAHRADIT:
// Check if register_globals is enabled.
// Since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
/*if (function_exists('ini_get')) {
ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
}*/
ULOŽIT/ZAVŘÍT VŠECHNY SOUBORY