Changeset 116188 in spip-zone


Ignore:
Timestamp:
Jul 31, 2019, 3:02:10 PM (6 months ago)
Author:
peetdu@…
Message:

En fait la modif dans z116129 marchait bien à condition d’enlever le passage par réference dans function simplecal_pre_boucle($boucle) { (enlever le &)(marcimat)

Location:
_plugins_/simple_calendrier/trunk
Files:
3 edited

Legend:

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

    r116187 r116188  
    22        prefix="simplecal"
    33        categorie="date"
    4         version="2.4.2"
     4        version="2.4.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.3.*]"
  • _plugins_/simple_calendrier/trunk/public/simplecal_boucles.php

    r109922 r116188  
    3030
    3131}
    32 function simplecal_pre_boucle(&$boucle) {
     32function simplecal_pre_boucle($boucle) {
    3333        if (!isset($boucle->modificateur['tout_voir'])){
    3434                $securise = false;
  • _plugins_/simple_calendrier/trunk/public/simplecal_criteres.php

    r116187 r116188  
    153153       
    154154        $c = array("'OR'",
    155                         array("'AND'",
    156                                         array("'>='", "'$table.date_debut'", "sql_quote(date('Y-m-01'))"),
    157                                         array("'<='", "'$table.date_debut'", "sql_quote(date('Y-m-31'))")
    158                         ),
    159                         array("'AND'",
    160                                         array("'>='", "'$table.date_fin'", "sql_quote(date('Y-m-01'))"),
    161                                         array("'<='", "'$table.date_fin'", "sql_quote(date('Y-m-31'))")
    162                         )
     155            array("'OR'",
     156                    array("'AND'",
     157                        array("'>='", "'$table.date_debut'", "sql_quote(date('Y-m-01'))"),
     158                        array("'<='", "'$table.date_debut'", "sql_quote(date('Y-m-31'))")
     159                    ),
     160                    array("'AND'",
     161                        array("'>='", "'$table.date_fin'", "sql_quote(date('Y-m-01'))"),
     162                        array("'<='", "'$table.date_fin'", "sql_quote(date('Y-m-31'))")
     163                    )
     164                ),
     165            array("'AND'",
     166                        array("'<='", "'$table.date_debut'", "sql_quote(date('Y-m-01'))"),
     167                        array("'>='", "'$table.date_fin'", "sql_quote(date('Y-m-31'))")
     168                    )
    163169        );
    164170       
     
    225231// Format aaaammjj
    226232function critere_simplecalperiode_dist($idb, &$boucles, $crit) {
    227         $boucle = &$boucles[$idb];
    228         $table = $boucle->id_table;
    229         $not = $crit->not;
    230        
    231         $parent = $boucles[$idb]->id_parent;
    232         $params = $crit->param;
    233         // ---
    234        
    235         $log = '';
    236 
    237         // Inutile de transmettre un parametre inutile...
    238         if (count($params) == 3) {
    239                 // 'date_debut' - inutile...
    240                 $p0 = $params ? array_shift($params) : "";
    241         }
    242        
    243         // aaaammjj
    244         $px = $params ? array_shift($params) : "";
    245         $pdeb = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
    246        
    247         // aaaammjj
    248         $px = $params ? array_shift($params) : "";
    249         $pfin = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
    250        
    251         // ----
    252        
    253         $date_debut = $table . ".date_debut";
    254         $date_fin = $table . ".date_fin";
    255        
    256         //    date_debut comprise dans la periode
    257         // OU date_fin   comprise dans la periode
    258         $c = array("'OR'",
    259                 array("'AND'",
    260                         array("'>='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pdeb")),
    261                         array("'<='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pfin"))
    262                 ),
    263                 array("'AND'",
    264                         array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pdeb")),
    265                         array("'<='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pfin"))
    266                 )
    267         );
    268        
     233    $boucle = &$boucles[$idb];
     234    $table = $boucle->id_table;
     235    $not = $crit->not;
     236   
     237    $parent = $boucles[$idb]->id_parent;
     238    $params = $crit->param;
     239    // ---
     240   
     241    $log = '';
     242
     243    // Inutile de transmettre un parametre inutile...
     244    if (count($params) == 3) {
     245        // 'date_debut' - inutile...
     246        $p0 = $params ? array_shift($params) : "";
     247    }
     248   
     249    // aaaammjj
     250    $px = $params ? array_shift($params) : "";
     251    $pdeb = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
     252   
     253    // aaaammjj
     254    $px = $params ? array_shift($params) : "";
     255    $pfin = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
     256   
     257    // ----
     258   
     259    $date_debut = $table . ".date_debut";
     260    $date_fin = $table . ".date_fin";
     261   
     262    //    date_debut comprise dans la periode
     263    // OU date_fin   comprise dans la periode
     264    $c = array("'OR'",
     265        array("'AND'",
     266            array("'>='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pdeb")),
     267            array("'<='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pfin"))
     268        ),
     269        array("'AND'",
     270            array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pdeb")),
     271            array("'<='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pfin"))
     272        )
     273    );
     274   
    269275   
    270         // Inversion de la condition ?
    271         $c = ($not ? array("'NOT'", $c) : $c);
    272                
    273         $boucle->where[] = $c;
     276    // Inversion de la condition ?
     277    $c = ($not ? array("'NOT'", $c) : $c);
     278       
     279    $boucle->where[] = $c;
    274280}
    275281
Note: See TracChangeset for help on using the changeset viewer.