env_servername: '.$_ENV["SERVER_NAME"].'
'; echo 'server_servername: '.$_SERVER['SERVER_NAME']; phpinfo(); } // si paramètre URL 'infosup' existe et est à la valeur 'display' if ($HTTP_GET_VARS['infosup'] == 'display'): // -> OSC-48 : Afficher les prix TTC en plus du prix HT pour tout les produits du site // intégration et affichage d'un bouton bascule (accès pro/accès particulier). // reformatage html. // (anglais/français). function tep_setcookie($name, $value = '', $expire = 0, $path = '/', $domain = '', $secure = 0) { //echo 'setcookie('.$name.', '.$value.', '.$expire.', '.$path.', '.(tep_not_null($domain) ? $domain : '').', '.$secure.');'; setcookie($name, $value, $expire, $path, (tep_not_null($domain) ? $domain : ''), $secure); } function tep_not_null($value) { if (is_array($value)) { if (sizeof($value) > 0) { return true; } else { return false; } } else { if (($value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) { return true; } else { return false; } } } // TEST DE SERVER NAME ET COOKIE DOMAIN.. if ( preg_match("/linder-partner\.com/", $_SERVER['SERVER_NAME']) ) { define('HTTP_SERVER', 'http://www.linder-partner.com'); define('HTTPS_SERVER', 'https://www.linder-partner.com'); define('HTTP_COOKIE_DOMAIN', 'www.linder-partner.com'); define('HTTPS_COOKIE_DOMAIN', 'www.linder-partner.com'); } else if ( preg_match("/lp-divertissements\.com/", $_SERVER['SERVER_NAME']) ) { define('HTTP_SERVER', 'http://www.lp-divertissements.com'); define('HTTPS_SERVER', 'https://www.lp-divertissements.com'); define('HTTP_COOKIE_DOMAIN', 'www.lp-divertissements.com'); define('HTTPS_COOKIE_DOMAIN', 'www.lp-divertissements.com'); } else { define('HTTP_SERVER', 'http://www.linder-partner.com'); define('HTTPS_SERVER', 'https://www.linder-partner.com'); define('HTTP_COOKIE_DOMAIN', 'www.linder-partner.com'); define('HTTPS_COOKIE_DOMAIN', 'www.linder-partner.com'); } define('HTTP_COOKIE_PATH', '/'); define('HTTPS_COOKIE_PATH', '/'); // set the type of request (secure or not) $request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL'; // set the cookie domain $cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : HTTPS_COOKIE_DOMAIN); $cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : HTTPS_COOKIE_PATH); ?> VDPHP5 : compatibilité php4/5 if ( isset($_GET) ) { $HTTP_GET_VARS=$_GET; } if ( isset($_POST) ) { $HTTP_POST_VARS=$_POST; } if ( isset($_SERVER) ) { $HTTP_SERVER_VARS=$_SERVER; } // <- VDPHP5 : compatibilité php4/5 // -> CKPHP5 : patch de compatibilité cookie/sessions php4/5 if ( isset($_COOKIE) ) { $HTTP_COOKIE_VARS=$_COOKIE; } //if ( isset($_SESSION) ) { $HTTP_SESSION_VARS=$_SESSION; } // <- CKPHP5 : patch de compatibilité cookie/sessions php4/5 if ( empty($_COOKIE['t_465464564_cookie__AccessMode']) and $_COOKIE['t_465464564_cookie__AccessMode'] != 'PRO' and $_COOKIE['t_465464564_cookie__AccessMode'] != 'PARTICULIER' ) { /* * cookie nommé 'cookieAccessMode' qui n'expirera jamais seul. (OSCommerce donne automatiquement '0' à EXPIRE si non précisé).) * tep_setcookie('cookie__AccessMode', 'PARTICULIER'); */ // cookie nommé 'cookieAccessMode' qui expirera dans 1 heure à compter de l'heure actuelle.) // on utilise le chemin du cookie et son domaine (serveur) spécifié dans les constantes dans le configure.php. // Vérification pour savoir, si on ne doit pas utiliser SSL (auquel cas on utilisera HTTP_COOKIE_PATH) // Vérification pour savoir, si on doit utiliser SSL (auquel cas on utilisera HTTPS_COOKIE_PATH) // ces deux informations sont déjà trouvées et définies par osCommerce lui-même sous une même variable dans le fichier 'includes/application_top.php' // // Le code est d'ailleurs intéréssant, car osCommerce récupère cette information via les réglages environnementaux (getenv()). // // code (osCommerce): $request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL'; // code 2 (osCommerce): // $cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : HTTPS_COOKIE_DOMAIN); // $cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : HTTPS_COOKIE_PATH); // // Ainsi, il est suffisant d'utiliser $cookie_domain et $cookie_path en guise de paramètres pour spécifier le 'CHEMIN du COOKIE', 'DOMAINE du COOKIE'. tep_setcookie('t_465464564_cookie__AccessMode', 'PARTICULIER', time()+3600, $cookie_path, $cookie_domain); } /* * ici se servir de $HTTP_COOKIE_VARS est déconseillé, ça ne fonctionne pas sur certaines versions de PHP. * il vaut mieux se servir de $_COOKIE. exemple: echo '
VALEUR COOKIE:' . $_COOKIE['cookie__AccessMode']; */ define('DIR_WS_DESIGN', '/design/'); // -> OSC-48 : Afficher les prix TTC en plus du prix HT pour tout les produits du site ?> "en", "french" => "fr" ); // la variable $language est générée par osCommerce je le rappelle // et contient la langue choisie sur le site par l'utilisateur (exemple: french). $LangueTrouvee_accessMode = $ToutesLesLanguesParlees_accessMode[$language]; // par défaut, si aucune langue valide n'est trouvée, on décide d'utiliser le Français. if ( empty($LangueTrouvee_accessMode)) { $LangueTrouvee_accessMode = 'fr'; } // Message de description du format de taxes. (HT/TTC) // Langues gérées: Français (fr), Anglais (en). switch ($LangueTrouvee_accessMode) { case 'fr': $Message_HT_PRO_accessMode = utf8_decode('si vous basculez en Accès PRO: les prix seront affichés en HT.'); $Message_TTC_PARTICULIER_accessMode = utf8_decode('si vous basculez en Accès Particulier: les prix seront affichés en TTC.'); break; case 'en': //old :$Message_HT_PRO_accessMode = utf8_decode('if you switch to PRO access Mode: pricing will be displayed in HT. (Some tax can be included at final checkout)'); //old: $Message_TTC_PARTICULIER_accessMode = utf8_decode('if you switch to Individual access Mode: pricing will be displayed in TTC. (All tax included)'); $Message_HT_PRO_accessMode = utf8_decode('if you switch to PRO access Mode: pricing will be displayed in HT.'); $Message_TTC_PARTICULIER_accessMode = utf8_decode('if you switch to Individual access Mode: pricing will be displayed in TTC.'); break; } // On va décider de quelle image afficher selon la valeur du cookie 'cookie__AccessMode'. // Selon la langue employée, le nom de l'image sera différent. (C'est mieux pour se repérer). // Un switch sur le cookie est donc intéréssant en PHP. // Langues gérées: Français (fr), Anglais (en). // Quand à la variable $osc48__tax_display__accessMode, il s'agit juste d'une variable là pour clarifier le code et servir de TEXTE pour les descriptions de taxes. // En d'autres termes, il aurait été tout à fait possible d'utiliser cette variable de cookie : $_COOKIE['cookie__AccessMode'] en guise de vérification du mode de taxe, mais... // Une variable dédiée 'visuellement' de par son nom à un type de taxe est quand même plus clair // (et comme le fichier 'header.php' est forcément chargé dans 100% des cas dans les pages shop du magasin, il y aura toujours cette information de définie). switch ($_COOKIE['t_465464564_cookie__AccessMode']) { case 'PRO': define("AFFICHER_PRIX_AVEC_TAXES", 'non'); $osc48__tax_display__accessMode = 'HT'; if ( $LangueTrouvee_accessMode == 'fr' ) { $Now_ImageTerm__accessMode = 'pro'; $Description_accessMode = $Message_HT_PRO_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'particulier'; } else if ( $LangueTrouvee_accessMode == 'en' ) { $Now_ImageTerm__accessMode = 'pro'; $Description_accessMode = $Message_TTC_PARTICULIER_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'individual'; } break; case 'PARTICULIER': define("AFFICHER_PRIX_AVEC_TAXES", 'oui'); $osc48__tax_display__accessMode = 'TTC'; if ( $LangueTrouvee_accessMode == 'fr' ) { $Now_ImageTerm__accessMode = 'particulier'; $Description_accessMode = $Message_TTC_PARTICULIER_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'particulier'; } else if ( $LangueTrouvee_accessMode == 'en' ) { $Now_ImageTerm__accessMode = 'individual'; $Description_accessMode = $Message_TTC_PARTICULIER_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'individual'; } break; default: define("AFFICHER_PRIX_AVEC_TAXES", 'oui'); $osc48__tax_display__accessMode = 'TTC'; if ( $LangueTrouvee_accessMode == 'fr' ) { $Now_ImageTerm__accessMode = 'particulier'; $Description_accessMode = $Message_TTC_PARTICULIER_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'particulier'; } else if ( $LangueTrouvee_accessMode == 'en' ) { $Now_ImageTerm__accessMode = 'individual'; $Description_accessMode = $Message_TTC_PARTICULIER_accessMode; $PRO_ImageTerm__accessMode = 'pro'; $Particulier_ImageTerm__accessMode = 'individual'; } break; } ?> '; print_r($_REQUEST); echo ''; } function make_GLOBALS_GET() { // fonction osCommerce dérivée de tep_get_all_parameters // semble fonctionner sur oscommerce avec les gets sur le domaine lp-divertissements.com // semble ne pas fonctionner ici avec les gets sur le domaine lp-divertissements.com global $HTTP_GET_VARS; echo '

GET: '; print_r($HTTP_GET_VARS); $get_url = ''; reset($HTTP_GET_VARS); while (list($key, $value) = each($HTTP_GET_VARS)) { $get_url .= $key . '=' . $value . '&'; } return $get_url; } echo make_GLOBALS_GET(); echo '

server_name[\''.$_SERVER['SERVER_NAME'].'\']
'; echo '
http_server_const[\''.HTTP_SERVER.'\']
'; echo '
https_server_const[\''.HTTPS_SERVER.'\']
'; echo '
http_cookie_domain_const[\''.HTTP_COOKIE_DOMAIN.'\']
'; echo '
https_cookie_domain_const[\''.HTTPS_COOKIE_DOMAIN.'\']
'; echo '
http_cookie_path_const[\''.HTTP_COOKIE_PATH.'\']
'; echo '
https_cookie_path_const[\''.HTTPS_COOKIE_PATH.'\']
'; // TEST DE COOKIE /* setcookie système HTTP_COOKIE_VARS: */ $HTTP_COOKIE_VARS['cktest_141656'] = 'Cookie SET!'; if ( !empty($HTTP_COOKIE_VARS['cktest_141656']) ) { echo 'méthode $HTTP_COOKIE_VARS: '. $HTTP_COOKIE_VARS['cktest_141656'].'

'; } else { echo 'méthode HTTP_COOKIE_VARS: error cookie unset!

'; } /* setcookie système _COOKIE: */ $_COOKIE['cktest_141657'] = 'Cookie SET!'; if ( !empty($_COOKIE['cktest_141657']) ) { echo 'méthode $_COOKIE: '. $_COOKIE['cktest_141657'].'

'; } else { echo 'error cookie unset!

'; } /* setcookie système HTTP_COOKIE_VARS: */ if ( !empty($_COOKIE['t_465464564_cookie__AccessMode']) ) { echo 'osc-48: méthode $_COOKIE: '. $_COOKIE['t_465464564_cookie__AccessMode'].'

'; } else { echo 'odc-48: error cookie unset!

'; } // ferme les sessions php //session_destroy(); endif; if ($HTTP_GET_VARS['infosup'] == 'okiller_test'): // lance un benchmark PHP si paramètre URL 'infosup' existe et est à la valeur 'okiller_test' // itère un script qui bloquera 'n' secondes le processus PHP mais gardera les ressources bouffées. // 'n' est éga à un paramètre timelimit envoyé en GET. // si timelimit est vide ou inexistant, 'n' sera placé automatiquement à 12. set_time_limit(0); if ( !empty($HTTP_GET_VARS['timelimit']) ) { $time_LIMIT = $HTTP_GET_VARS['timelimit']; } else { $time_LIMIT = 12; } echo 'time_LIMIT='.$time_LIMIT.'

'; $begin = time(); do { sleep(1); $end = time(); echo ($end - $begin).' - '.date("d/m/Y à H:i:s", $end) .'
'; } while (($end - $begin) < $time_LIMIT); echo 'FIN DE SCRIPT: '. ($end - $begin).' - '.date("d/m/Y à H:i:s", $end); endif; ?>