Ignore:
Timestamp:
Jun 25, 2015, 4:55:38 PM (6 years ago)
Author:
cedric@…
Message:

perf issue : on regarde explicitement le cookie spip_panier et id_panier et id_auteur en session pour decider si on appelle la fonction paniers_id_panier_encours(). Un visiteur anonyme, un bot ou autre n'a ainsi aucun risque de generer une requete SQL. Par contre on appelle la fonction aussi dans l'espace prive, ou on peut vouloir faire des operations sur le panier en cours

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/paniers/trunk/paniers_options.php

    r49050 r90529  
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    55
    6 // À chaque hit en partie publique, on va chercher le panier du visiteur actuel, et sinon le créer
    7 if (_DIR_RESTREINT) {
    8         // Si c'est pas un bot :
    9         if (!_IS_BOT){
    10                 include_spip('inc/paniers');
    11                 include_spip('inc/session');
    12        
    13                 // Si on a bien un panier
    14                 if (_request('action') != 'cron' and $id_panier = paniers_id_panier_encours()){
    15                         // On met le panier dans la session
    16                         session_set('id_panier', $id_panier);
    17                 }
    18                 // Sinon on s'assure que la session ne contient pas un ancien numéro
    19                 else{
    20                         session_set('id_panier');
    21                 }
    22         }
     6// À chaque hit en partie publique, on va chercher le panier du visiteur actuel si il en a un
     7// on ne fait rien sur les hits visiteurs anonymes, bots, cron, etc...
     8if (isset($_COOKIE[$GLOBALS['cookie_prefix'].'_panier'])
     9  OR (isset($GLOBALS['visiteur_session']['id_panier']) AND $GLOBALS['visiteur_session']['id_panier'])
     10  OR (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur'])){
     11
     12        // verifier/mettre a jour l'existence d'un panier en cours
     13        include_spip('inc/paniers');
     14        $id_panier = paniers_id_panier_encours();
     15
    2316}
    2417
    25 ?>
Note: See TracChangeset for help on using the changeset viewer.