Changeset 76526 in spip-zone


Ignore:
Timestamp:
Sep 25, 2013, 8:05:35 PM (6 years ago)
Author:
julienlfy@…
Message:

Correction d'un bug sur les critères 'a_venir' et 'du_mois'.
La date de 'reference' (date du jour) permettant les calculs était fixée en cache de manière statique ce qui obligeait des recalculs systématiques !!

Location:
_plugins_/simple_calendrier/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/simple_calendrier/trunk/paquet.xml

    r70840 r76526  
    22        prefix="simplecal"
    33        categorie="date"
    4         version="2.0.4"
     4        version="2.0.5"
    55        etat="dev"
    66        compatibilite="[3.0.0-dev;["
  • _plugins_/simple_calendrier/trunk/public/simplecal_criteres.php

    r70840 r76526  
    2121        $not = $crit->not;
    2222       
    23         $date_now = date('Y-m-d'); // 'Y-m-d H:i:s'
    24        
    25         /*
    26         if ($not){
    27                 $c = "'($table.date_debut < \'$date_now\' AND $table.date_fin < \'$date_now\')'";
    28         } else {
    29                 $c = "'($table.date_debut >= \'$date_now\' OR $table.date_fin >= \'$date_now\')'";
    30         }
    31         */
    32        
    3323        $c = array("'OR'",
    34                         array("'>='", "'$table.date_debut'", "'\'$date_now\''"),
    35                         array("'>='", "'$table.date_fin'", "'\'$date_now\''"));
     24                        array("'>='", "'$table.date_debut'", "sql_quote(date('Y-m-d'))"),
     25                        array("'>='", "'$table.date_fin'", "sql_quote(date('Y-m-d'))"));
    3626       
    3727        // Inversion de la condition ?
     
    3929       
    4030        $boucle->where[] = $c;
    41        
    42        
    4331}
    4432
     
    5846        $date_dernier = date('Y-m-31'); // meme pas faux (pour la comparaison) ...
    5947       
    60        
    61         /* c'est pareil ! */
    62         /*
    63         $c = "";
    64         $c .= "'(";
    65         $c .= "($table.date_debut >= \'$date_premier\' AND $table.date_debut <= \'$date_dernier\')";
    66         $c .= " OR ";
    67         $c .= "($table.date_fin >= \'$date_premier\' AND $table.date_fin <= \'$date_dernier\')";
    68         $c .= ")'";
    69         */   
    70        
    7148        $c = array("'OR'",
    7249                array("'AND'",
    73                         array("'>='", "'$table.date_debut'", "'\'$date_premier\''"),
    74                         array("'<='", "'$table.date_debut'", "'\'$date_dernier\''")
     50                        array("'>='", "'$table.date_debut'", "sql_quote(date('Y-m-01'))"),
     51                        array("'<='", "'$table.date_debut'", "sql_quote(date('Y-m-31'))")
    7552                ),
    7653                array("'AND'",
    77                         array("'>='", "'$table.date_fin'", "'\'$date_premier\''"),
    78                         array("'<='", "'$table.date_fin'", "'\'$date_dernier\''")
     54                        array("'>='", "'$table.date_fin'", "sql_quote(date('Y-m-01'))"),
     55                        array("'<='", "'$table.date_fin'", "sql_quote(date('Y-m-31'))")
    7956                )
    8057        );
Note: See TracChangeset for help on using the changeset viewer.