Changeset 85013 in spip-zone


Ignore:
Timestamp:
Oct 5, 2014, 9:23:24 AM (5 years ago)
Author:
julienlfy@…
Message:

Ajout du critère 'simplecalperiode' permettant de retourner les évènements sur une periode donnée.
A utiliser dans des modèles.

Location:
_plugins_/simple_calendrier/branches/v1
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/simple_calendrier/branches/v1/changelog.txt

    r76976 r85013  
    11Plugin Simple Calendrier pour SPIP 2.1
    22------------------------------------------
     3
     41.2.12 le 05/10/2014
     5--------------------
     6Ajout du critère 'simplecalperiode' permettant de retourner les évènements sur une periode donnée.
     7A utiliser dans des modèles.
     8
    39
    4101.2.11 le 05/10/2013
  • _plugins_/simple_calendrier/branches/v1/plugin.xml

    r76976 r85013  
    55    <auteur>[Julien Lanfrey->http://contrib.spip.net/ju3873]</auteur>
    66    <licence>GPL &#169; 2010-2011</licence>
    7     <version>1.2.11</version>
     7    <version>1.2.12</version>
    88    <version_base>1.4</version_base>
    99    <etat>stable</etat>
  • _plugins_/simple_calendrier/branches/v1/public/simplecal_criteres.php

    r76525 r85013  
    5858}
    5959
     60
     61
     62// {simplecalperiode date_debut, #ENV{periodedebut}, #ENV{periodefin}}
     63// Format aaaammjj
     64function critere_simplecalperiode_dist($idb, &$boucles, $crit) {
     65    $boucle = &$boucles[$idb];
     66    $table = $boucle->id_table;
     67    $not = $crit->not;
     68   
     69    $parent = $boucles[$idb]->id_parent;
     70    $params = $crit->param;
     71    // ---
     72   
     73    $log = '';
     74       
     75   
     76    // 'date_debut' - inutile...
     77    $p0 = $params ? array_shift($params) : "";
     78   
     79    // aaaammjj
     80    $px = $params ? array_shift($params) : "";
     81    $pdeb = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
     82   
     83    // aaaammjj
     84    $px = $params ? array_shift($params) : "";
     85    $pfin = "\n" . 'sprintf("%08d", ($x = '.calculer_liste($px, array(), $boucles, $parent).') ? $x : date("Ymd"))';
     86   
     87    // ----
     88   
     89    $date_debut = $table . ".date_debut";
     90    $date_fin = $table . ".date_fin";
     91   
     92    //    date_debut comprise dans la periode
     93    // OU date_fin   comprise dans la periode
     94    $c = array("'OR'",
     95        array("'AND'",
     96            array("'>='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pdeb")),
     97            array("'<='", "'DATE_FORMAT($date_debut, \'%Y%m%d\')'", ("$pfin"))
     98        ),
     99        array("'AND'",
     100            array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pdeb")),
     101            array("'<='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'", ("$pfin"))
     102        )
     103    );
     104   
     105   
     106    // Inversion de la condition ?
     107    $c = ($not ? array("'NOT'", $c) : $c);
     108       
     109    $boucle->where[] = $c;
     110}
     111
    60112?>
Note: See TracChangeset for help on using the changeset viewer.