Changeset 54210 in spip-zone


Ignore:
Timestamp:
Nov 8, 2011, 3:20:05 PM (8 years ago)
Author:
cedric@…
Message:

les criteres et filtres deprecies lies au vieil agenda du core dans inc/agenda_filtres, qui n'est plus inclus, en attendant suppression complete
les filtre dans agenda_fonctions.php
les criteres et balise dans public/agenda
+ PHPDoc

Location:
_plugins_/agenda/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/agenda/trunk/agenda_fonctions.php

    r54209 r54210  
    88 */
    99
    10 include_spip('inc/agenda_filtres');
    1110include_spip('public/agenda');
    1211
    13 
    14 function agenda_mini($i) {
    15   $args = func_get_args();
    16   $une_date = array_shift($args); // une date comme balise
    17   $sinon = array_shift($args);
    18   if (!$une_date) return $sinon;
    19   $type = 'mini';
    20   $agenda = Agenda_memo_full(0);
    21   $evt = array();
    22   foreach (($args ? $args : array_keys($agenda)) as $k) { 
    23       if (is_array($agenda[$k]))
    24                 foreach($agenda[$k] as $d => $v) {
    25                   $evt[$d] = $evt[$d] ? (array_merge($evt[$d], $v)) : $v;
    26                 }
    27     }
    28         $la_date = mktime(0, 0, 0, mois($une_date), 1, annee($une_date));
    29     include_spip('inc/agenda');
    30     return http_calendrier_init($la_date, $type, '', '', '', array('', $evt));
     12/**
     13 * Ajout d'un offset a une date
     14 *
     15 * @param string $date
     16 * @param int $secondes
     17 *   peut etre une expression math : 24*60*60
     18 * @param string $format
     19 *   format de sortie de la date
     20 * @return string
     21 */
     22function agenda_dateplus($date,$secondes,$format="Y-m-d H:i:s"){
     23        $date = strtotime($date)+eval("return $secondes;"); // permet de passer une expression
     24        return date($format,$date);
    3125}
    3226
    33 function http_calendrier_mini($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt) {
    34         list($sansduree, $evenements, $premier_jour, $dernier_jour) = $evt;
    35 
    36         if ($sansduree)
    37                 foreach($sansduree as $d => $r) {
    38                         $evenements[$d] = !$evenements[$d] ? $r :
    39                                  array_merge($evenements[$d], $r);
    40                          }
    41 
    42         if (!$premier_jour) $premier_jour = '01';
    43         if (!$dernier_jour) {
    44                 $dernier_jour = 31;
    45                 while (!(checkdate($mois,$dernier_jour,$annee))) $dernier_jour--;
    46         }
    47 
    48         // affichage du debut de semaine hors periode
    49         $ligne = '';
    50         $debut = date("w",mktime(1,1,1,$mois,$premier_jour,$annee));
    51         for ($i=$debut ? $debut : 7;$i>1;$i--) {
    52                 $mois_precedent = mktime(1,1,1,$mois-1,1,$annee);
    53                 $jour_mois_precedent = date('t', $mois_precedent)+2-$i;
    54                 $ligne .= "\n\t<td class=\"horsperiode\">$jour_mois_precedent</td>";
    55         }
    56 
    57         $total = '';
    58         for ($j=$premier_jour; $j<=$dernier_jour; $j++) {
    59                 $nom = mktime(1,1,1,$mois,$j,$annee);
    60                 $jour = date("d",$nom);
    61                 $jour_semaine = date("w",$nom);
    62                 $mois_en_cours = date("m",$nom);
    63                 $annee_en_cours = date("Y",$nom);
    64                 $amj = date("Y",$nom) . $mois_en_cours . $jour;
    65 
    66                 if ($jour_semaine==1 AND $ligne != '') {
    67                         $total .= "\n<tr>$ligne\n</tr>";
    68                         $ligne = '';
    69                 }
    70 
    71                 $evts = $evenements[$amj];
    72                 $class="";
    73                 if ($evts) {
    74                         $nb_elmts= @count($evts);
    75                         if ($nb_elmts>1){
    76                                 $evts = "<a href='".$evts[0]['URL']."' title='".$nb_elmts." ".utf8_encode(_T('agenda:evenements'))."'>".intval($jour)."</a>";
    77                         }
    78                         else{
    79                                 $evts = "<a href='".$evts[0]['URL']."' title='".$evts[0]['SUMMARY'].
    80                         "'>".intval($jour)."</a>";
    81                         }
    82                         $class='occupe';
    83                        
    84                 }
    85                 else {
    86                         $evts = intval($jour);
    87                         $class='libre';
    88                 }
    89                 $ligne .= "\n\t<td  class='$class".($amj == date("Ymd")?' today':'')."'>" . $evts . "\n\t</td>";
    90         }
    91         $jour_mois_suivant=1;
    92         // affichage de la fin de semaine hors periode
    93         for($j=$jour_semaine ? $jour_semaine : 7; $j<7; $j++) {
    94                 $ligne .= "\n\t<td class=\"horsperiode\">".$jour_mois_suivant++."</td>";                       
    95         }
    96 
    97         return $total . ($ligne ? "\n<tr>$ligne\n</tr>" : '');
     27/**
     28 * decale les mois de la date.
     29 * cette fonction peut raboter le jour si le nouveau mois ne les contient pas
     30 * exemple 31/01/2007 + 1 mois => 28/02/2007
     31 *
     32 * @param string $date
     33 * @param int $decalage
     34 * @param string $format
     35 * @return string
     36 */
     37function agenda_moisdecal($date,$decalage,$format="Y-m-d H:i:s"){
     38        include_spip('inc/filtres');
     39        $date_array = recup_date($date);
     40        if ($date_array) list($annee, $mois, $jour) = $date_array;
     41        if (!$jour) $jour=1;
     42        if (!$mois) $mois=1;
     43        $mois2 = $mois + $decalage;
     44        $date2 = mktime(1, 1, 1, $mois2, $jour, $annee);
     45        // mois normalement attendu
     46        $mois3 = date('m', mktime(1, 1, 1, $mois2, 1, $annee));
     47        // et si le mois de la nouvelle date a moins de jours...
     48        $mois2 = date('m', $date2);
     49        if ($mois2 - $mois3) $date2 = mktime(1, 1, 1, $mois2, 0, $annee);
     50        return date($format, $date2);
    9851}
    9952
    10053
    10154/**
    102  * #NB_INSCRITS
    103  * pour afficher le nombre d'inscrits (qui ont repondu oui) a un evenement
    104  *
    105  * @param <type> $p
    106  * @return <type>
     55 * decale les jours de la date.
     56 *
     57 * @param string $date
     58 * @param int $decalage
     59 * @param string $format
     60 * @return string
    10761 */
    108 function balise_NB_INSCRITS_dist($p) {
    109         $id_evenement = champ_sql('id_evenement', $p);
    110         $p->code = "sql_countsel('spip_evenements_participants','id_evenement='.intval($id_evenement).' AND reponse=\'oui\'')";
    111         return $p;
     62function agenda_jourdecal($date,$decalage,$format="Y-m-d H:i:s"){
     63        include_spip('inc/filtres');
     64        $date_array = recup_date($date);
     65        if ($date_array) list($annee, $mois, $jour) = $date_array;
     66        if (!$jour) $jour=1;
     67        if (!$mois) $mois=1;
     68        $jour2 = $jour + $decalage;
     69        $date2 = mktime(1, 1, 1, $mois, $jour2, $annee);
     70        return date($format, $date2);
    11271}
     72
     73/**
     74 * Filtre pour tester si une date est dans le futur
     75 * [(#DATE|agenda_date_a_venir) Dans le futur...]
     76 *
     77 * @param string $date_test
     78 * @param string $date_ref
     79 *   date de reference, par defaut celle du serveur (argument utile pour les tests unitaires)
     80 * @return string
     81 */
     82function agenda_date_a_venir($date_test,$date_ref=null){
     83        if (is_null($date_ref))
     84                $date_ref = $_SERVER['REQUEST_TIME'];
     85        else
     86                $date_ref = strtotime($date_ref);
     87
     88        return (strtotime($date_test)>$date_ref)?' ':'';
     89}
     90
     91
     92/**
     93 * Filtre pour tester si une date est dans le passe
     94 * [(#DATE|agenda_date_passee) Dans le passe...]
     95 *
     96 * @param string $date_test
     97 * @param string $date_ref
     98 *   date de reference, par defaut celle du serveur (argument utile pour les tests unitaires)
     99 * @return string
     100 */
     101function agenda_date_passee($date_test,$date_ref=null){
     102        if (is_null($date_ref))
     103                $date_ref = $_SERVER['REQUEST_TIME'];
     104        else
     105                $date_ref = strtotime($date_ref);
     106
     107        return (strtotime($date_test)<$date_ref)?' ':'';
     108}
     109
    113110
    114111/**
    115112 * Raccourcis [->evenement12] et [->evt12]
    116113 */
     114/*
    117115function generer_url_evenement($id, $args='', $ancre='') {
    118116        return array('evenement', $id);
    119 }
     117}*/
    120118
    121119?>
  • _plugins_/agenda/trunk/inc/agenda_filtres.php

    r54207 r54210  
    77 * Auteurs : cf paquet.xml
    88 */
     9
     10/**
     11 * Filtres&criteres deprecies/obsoletes
     12 */
     13
     14
     15/**
     16 * {agendafull ..} variante etendue du crietre agenda du core
     17 * qui accepte une date de debut et une date de fin
     18 *
     19 * {agendafull date_debut, date_fin, jour, #ENV{annee}, #ENV{mois}, #ENV{jour}}
     20 * {agendafull date_debut, date_fin, semaine, #ENV{annee}, #ENV{mois}, #ENV{jour}}
     21 * {agendafull date_debut, date_fin, mois, #ENV{annee}, #ENV{mois}}
     22 * {agendafull date_debut, date_fin, periode, #ENV{annee}, #ENV{mois}, #ENV{jour},
     23 *                                            #ENV{annee_fin}, #ENV{mois_fin}, #ENV{jour_fin}}
     24 *
     25 * @param string $idb
     26 * @param object $boucles
     27 * @param object $crit
     28 */
     29function critere_agendafull_dist($idb, &$boucles, $crit)
     30{
     31        $params = $crit->param;
     32
     33        if (count($params) < 1)
     34              erreur_squelette(_T('zbug_info_erreur_squelette'),
     35                               "{agenda ?} BOUCLE$idb");
     36
     37        $parent = $boucles[$idb]->id_parent;
     38
     39        // les valeurs $date et $type doivent etre connus a la compilation
     40        // autrement dit ne pas etre des champs
     41
     42        $date_deb = array_shift($params);
     43        $date_deb = $date_deb[0]->texte;
     44
     45        $date_fin = array_shift($params);
     46        $date_fin = $date_fin[0]->texte;
     47
     48        $type = array_shift($params);
     49        $type = $type[0]->texte;
     50
     51        $annee = $params ? array_shift($params) : "";
     52        $annee = "\n" . 'sprintf("%04d", ($x = ' .
     53                calculer_liste($annee, array(), $boucles, $parent) .
     54                ') ? $x : date("Y"))';
     55
     56        $mois =  $params ? array_shift($params) : "";
     57        $mois = "\n" . 'sprintf("%02d", ($x = ' .
     58                calculer_liste($mois, array(), $boucles, $parent) .
     59                ') ? $x : date("m"))';
     60
     61        $jour =  $params ? array_shift($params) : "";
     62        $jour = "\n" . 'sprintf("%02d", ($x = ' .
     63                calculer_liste($jour, array(), $boucles, $parent) .
     64                ') ? $x : date("d"))';
     65
     66        $annee2 = $params ? array_shift($params) : "";
     67        $annee2 = "\n" . 'sprintf("%04d", ($x = ' .
     68                calculer_liste($annee2, array(), $boucles, $parent) .
     69                ') ? $x : date("Y"))';
     70
     71        $mois2 =  $params ? array_shift($params) : "";
     72        $mois2 = "\n" . 'sprintf("%02d", ($x = ' .
     73                calculer_liste($mois2, array(), $boucles, $parent) .
     74                ') ? $x : date("m"))';
     75
     76        $jour2 =  $params ? array_shift($params) : "";
     77        $jour2 = "\n" .  'sprintf("%02d", ($x = ' .
     78                calculer_liste($jour2, array(), $boucles, $parent) .
     79                ') ? $x : date("d"))';
     80
     81        $boucle = &$boucles[$idb];
     82        $date = $boucle->id_table . ".$date";
     83
     84        if ($type == 'jour')
     85                $boucle->where[]= array("'AND'",
     86                                        array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m%d\')'",("$annee . $mois . $jour")),
     87                                        array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",("$annee . $mois . $jour")));
     88        elseif ($type == 'mois')
     89                $boucle->where[]= array("'AND'",
     90                                        array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m\')'",("$annee . $mois")),
     91                                        array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m\')'",("$annee . $mois")));
     92        elseif ($type == 'semaine')
     93                $boucle->where[]= array("'AND'",
     94                                        array("'>='",
     95                                             "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",
     96                                              ("date_debut_semaine($annee, $mois, $jour)")),
     97                                        array("'<='",
     98                                              "'DATE_FORMAT($date_deb, \'%Y%m%d\')'",
     99                                              ("date_fin_semaine($annee, $mois, $jour)")));
     100        elseif (count($crit->param) > 3)
     101                $boucle->where[]= array("'AND'",
     102                                        array("'>='",
     103                                              "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",
     104                                              ("$annee . $mois . $jour")),
     105                                        array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m%d\')'", ("$annee2 . $mois2 . $jour2")));
     106        // sinon on prend tout
     107}
     108
    9109
    10110/**
     
    245345}
    246346
    247 /**
    248  * Ajout d'un offset a une date
    249  *
    250  * @param string $date
    251  * @param int $secondes
    252  *   peut etre une expression math : 24*60*60
    253  * @param string $format
    254  *   format de sortie de la date
    255  * @return string
    256  */
    257 function agenda_dateplus($date,$secondes,$format="Y-m-d H:i:s"){
    258         $date = strtotime($date)+eval("return $secondes;"); // permet de passer une expression
    259         return date($format,$date);
    260 }
    261 
    262 /**
    263  * decale les mois de la date.
    264  * cette fonction peut raboter le jour si le nouveau mois ne les contient pas
    265  * exemple 31/01/2007 + 1 mois => 28/02/2007
    266  *
    267  * @param string $date
    268  * @param int $decalage
    269  * @param string $format
    270  * @return string
    271  */
    272 function agenda_moisdecal($date,$decalage,$format="Y-m-d H:i:s"){
    273         include_spip('inc/filtres');
    274         $date_array = recup_date($date);
    275         if ($date_array) list($annee, $mois, $jour) = $date_array;
    276         if (!$jour) $jour=1;
    277         if (!$mois) $mois=1;
    278         $mois2 = $mois + $decalage;
    279         $date2 = mktime(1, 1, 1, $mois2, $jour, $annee);
    280         // mois normalement attendu
    281         $mois3 = date('m', mktime(1, 1, 1, $mois2, 1, $annee));
    282         // et si le mois de la nouvelle date a moins de jours...
    283         $mois2 = date('m', $date2);
    284         if ($mois2 - $mois3) $date2 = mktime(1, 1, 1, $mois2, 0, $annee);
    285         return date($format, $date2);
    286 }
    287 
    288 
    289 /**
    290  * decale les jours de la date.
    291  *
    292  * @param string $date
    293  * @param int $decalage
    294  * @param string $format
    295  * @return string
    296  */
    297 function agenda_jourdecal($date,$decalage,$format="Y-m-d H:i:s"){
    298         include_spip('inc/filtres');
    299         $date_array = recup_date($date);
    300         if ($date_array) list($annee, $mois, $jour) = $date_array;
    301         if (!$jour) $jour=1;
    302         if (!$mois) $mois=1;
    303         $jour2 = $jour + $decalage;
    304         $date2 = mktime(1, 1, 1, $mois, $jour2, $annee);
    305         return date($format, $date2);
    306 }
    307 
     347
     348function agenda_mini($i) {
     349  $args = func_get_args();
     350  $une_date = array_shift($args); // une date comme balise
     351  $sinon = array_shift($args);
     352  if (!$une_date) return $sinon;
     353  $type = 'mini';
     354  $agenda = Agenda_memo_full(0);
     355  $evt = array();
     356  foreach (($args ? $args : array_keys($agenda)) as $k) {
     357      if (is_array($agenda[$k]))
     358                foreach($agenda[$k] as $d => $v) {
     359                  $evt[$d] = $evt[$d] ? (array_merge($evt[$d], $v)) : $v;
     360                }
     361    }
     362        $la_date = mktime(0, 0, 0, mois($une_date), 1, annee($une_date));
     363    include_spip('inc/agenda');
     364    return http_calendrier_init($la_date, $type, '', '', '', array('', $evt));
     365}
     366
     367function http_calendrier_mini($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt) {
     368        list($sansduree, $evenements, $premier_jour, $dernier_jour) = $evt;
     369
     370        if ($sansduree)
     371                foreach($sansduree as $d => $r) {
     372                        $evenements[$d] = !$evenements[$d] ? $r :
     373                                 array_merge($evenements[$d], $r);
     374                         }
     375
     376        if (!$premier_jour) $premier_jour = '01';
     377        if (!$dernier_jour) {
     378                $dernier_jour = 31;
     379                while (!(checkdate($mois,$dernier_jour,$annee))) $dernier_jour--;
     380        }
     381
     382        // affichage du debut de semaine hors periode
     383        $ligne = '';
     384        $debut = date("w",mktime(1,1,1,$mois,$premier_jour,$annee));
     385        for ($i=$debut ? $debut : 7;$i>1;$i--) {
     386                $mois_precedent = mktime(1,1,1,$mois-1,1,$annee);
     387                $jour_mois_precedent = date('t', $mois_precedent)+2-$i;
     388                $ligne .= "\n\t<td class=\"horsperiode\">$jour_mois_precedent</td>";
     389        }
     390
     391        $total = '';
     392        for ($j=$premier_jour; $j<=$dernier_jour; $j++) {
     393                $nom = mktime(1,1,1,$mois,$j,$annee);
     394                $jour = date("d",$nom);
     395                $jour_semaine = date("w",$nom);
     396                $mois_en_cours = date("m",$nom);
     397                $annee_en_cours = date("Y",$nom);
     398                $amj = date("Y",$nom) . $mois_en_cours . $jour;
     399
     400                if ($jour_semaine==1 AND $ligne != '') {
     401                        $total .= "\n<tr>$ligne\n</tr>";
     402                        $ligne = '';
     403                }
     404
     405                $evts = $evenements[$amj];
     406                $class="";
     407                if ($evts) {
     408                        $nb_elmts= @count($evts);
     409                        if ($nb_elmts>1){
     410                                $evts = "<a href='".$evts[0]['URL']."' title='".$nb_elmts." ".utf8_encode(_T('agenda:evenements'))."'>".intval($jour)."</a>";
     411                        }
     412                        else{
     413                                $evts = "<a href='".$evts[0]['URL']."' title='".$evts[0]['SUMMARY'].
     414                        "'>".intval($jour)."</a>";
     415                        }
     416                        $class='occupe';
     417
     418                }
     419                else {
     420                        $evts = intval($jour);
     421                        $class='libre';
     422                }
     423                $ligne .= "\n\t<td  class='$class".($amj == date("Ymd")?' today':'')."'>" . $evts . "\n\t</td>";
     424        }
     425        $jour_mois_suivant=1;
     426        // affichage de la fin de semaine hors periode
     427        for($j=$jour_semaine ? $jour_semaine : 7; $j<7; $j++) {
     428                $ligne .= "\n\t<td class=\"horsperiode\">".$jour_mois_suivant++."</td>";
     429        }
     430
     431        return $total . ($ligne ? "\n<tr>$ligne\n</tr>" : '');
     432}
    308433?>
  • _plugins_/agenda/trunk/public/agenda.php

    r54163 r54210  
    11<?php
    22/**
    3  * Plugin Agenda pour Spip 2.0
    4  * Licence GPL
    5  *
    6  */
    7 
    8 
    9 /**
    10  * {agendafull ..} variante etendue du crietre agenda du core
    11  * qui accepte une date de debut et une date de fin
    12  *
    13  * {agendafull date_debut, date_fin, jour, #ENV{annee}, #ENV{mois}, #ENV{jour}}
    14  * {agendafull date_debut, date_fin, semaine, #ENV{annee}, #ENV{mois}, #ENV{jour}}
    15  * {agendafull date_debut, date_fin, mois, #ENV{annee}, #ENV{mois}}
    16  * {agendafull date_debut, date_fin, periode, #ENV{annee}, #ENV{mois}, #ENV{jour},
    17  *                                            #ENV{annee_fin}, #ENV{mois_fin}, #ENV{jour_fin}}
    18  *
    19  * @param <type> $idb
    20  * @param <type> $boucles
    21  * @param <type> $crit
    22  */
    23 function critere_agendafull_dist($idb, &$boucles, $crit)
    24 {
    25         $params = $crit->param;
    26 
    27         if (count($params) < 1)
    28               erreur_squelette(_T('zbug_info_erreur_squelette'),
    29                                "{agenda ?} BOUCLE$idb");
    30 
    31         $parent = $boucles[$idb]->id_parent;
    32 
    33         // les valeurs $date et $type doivent etre connus a la compilation
    34         // autrement dit ne pas etre des champs
    35 
    36         $date_deb = array_shift($params);
    37         $date_deb = $date_deb[0]->texte;
    38 
    39         $date_fin = array_shift($params);
    40         $date_fin = $date_fin[0]->texte;
    41 
    42         $type = array_shift($params);
    43         $type = $type[0]->texte;
    44 
    45         $annee = $params ? array_shift($params) : "";
    46         $annee = "\n" . 'sprintf("%04d", ($x = ' .
    47                 calculer_liste($annee, array(), $boucles, $parent) .
    48                 ') ? $x : date("Y"))';
    49 
    50         $mois =  $params ? array_shift($params) : "";
    51         $mois = "\n" . 'sprintf("%02d", ($x = ' .
    52                 calculer_liste($mois, array(), $boucles, $parent) .
    53                 ') ? $x : date("m"))';
    54 
    55         $jour =  $params ? array_shift($params) : "";
    56         $jour = "\n" . 'sprintf("%02d", ($x = ' .
    57                 calculer_liste($jour, array(), $boucles, $parent) .
    58                 ') ? $x : date("d"))';
    59 
    60         $annee2 = $params ? array_shift($params) : "";
    61         $annee2 = "\n" . 'sprintf("%04d", ($x = ' .
    62                 calculer_liste($annee2, array(), $boucles, $parent) .
    63                 ') ? $x : date("Y"))';
    64 
    65         $mois2 =  $params ? array_shift($params) : "";
    66         $mois2 = "\n" . 'sprintf("%02d", ($x = ' .
    67                 calculer_liste($mois2, array(), $boucles, $parent) .
    68                 ') ? $x : date("m"))';
    69 
    70         $jour2 =  $params ? array_shift($params) : "";
    71         $jour2 = "\n" .  'sprintf("%02d", ($x = ' .
    72                 calculer_liste($jour2, array(), $boucles, $parent) .
    73                 ') ? $x : date("d"))';
    74        
    75         $boucle = &$boucles[$idb];
    76         $date = $boucle->id_table . ".$date";
    77 
    78         if ($type == 'jour')
    79                 $boucle->where[]= array("'AND'",
    80                                         array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m%d\')'",("$annee . $mois . $jour")),
    81                                         array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",("$annee . $mois . $jour")));
    82         elseif ($type == 'mois')
    83                 $boucle->where[]= array("'AND'",
    84                                         array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m\')'",("$annee . $mois")),
    85                                         array("'>='", "'DATE_FORMAT($date_fin, \'%Y%m\')'",("$annee . $mois")));
    86         elseif ($type == 'semaine')
    87                 $boucle->where[]= array("'AND'",
    88                                         array("'>='",
    89                                              "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",
    90                                               ("date_debut_semaine($annee, $mois, $jour)")),
    91                                         array("'<='",
    92                                               "'DATE_FORMAT($date_deb, \'%Y%m%d\')'",
    93                                               ("date_fin_semaine($annee, $mois, $jour)")));
    94         elseif (count($crit->param) > 3)
    95                 $boucle->where[]= array("'AND'",
    96                                         array("'>='",
    97                                               "'DATE_FORMAT($date_fin, \'%Y%m%d\')'",
    98                                               ("$annee . $mois . $jour")),
    99                                         array("'<='", "'DATE_FORMAT($date_deb, \'%Y%m%d\')'", ("$annee2 . $mois2 . $jour2")));
    100         // sinon on prend tout
    101 }
    102 
    103 
     3 * Plugin Agenda 4 pour Spip 3.0
     4 * Licence GPL 3
     5 *
     6 * 2006-2011
     7 * Auteurs : cf paquet.xml
     8 */
    1049
    10510/**
     
    10914 * @param string $format
    11015 * @param strinf $as
    111  * @param <type> $idb
    112  * @param <type> $boucles
    113  * @param <type> $crit
     16 * @param string $idb
     17 * @param object $boucles
     18 * @param object $crit
    11419 */
    11520function agenda_critere_fusion_par_xx($format, $as, $idb, &$boucles, $crit){
     
    13338 * {fusion_par_jour date_fin}
    13439 *
    135  * @param <type> $idb
    136  * @param <type> $boucles
    137  * @param <type> $crit
     40 * @param string $idb
     41 * @param object $boucles
     42 * @param object $crit
    13843 */
    13944function critere_fusion_par_jour_dist($idb, &$boucles, $crit) {
     
    14550 * {fusion_par_mois date_fin}
    14651 *
    147  * @param <type> $idb
    148  * @param <type> $boucles
    149  * @param <type> $crit
     52 * @param string $idb
     53 * @param object $boucles
     54 * @param object $crit
    15055 */
    15156function critere_fusion_par_mois_dist($idb, &$boucles, $crit) {
     
    15762 * {fusion_par_annee date_fin}
    15863 *
    159  * @param <type> $idb
    160  * @param <type> $boucles
    161  * @param <type> $crit
     64 * @param string $idb
     65 * @param object $boucles
     66 * @param object $crit
    16267 */
    16368function critere_fusion_par_annee_dist($idb, &$boucles, $crit) {
     
    16974 * {evenement_a_venir #ENV{date}}
    17075 *
    171  * @param <type> $idb
    172  * @param <type> $boucles
    173  * @param <type> $crit
     76 * @param string $idb
     77 * @param object $boucles
     78 * @param object $crit
    17479 */
    17580function critere_evenement_a_venir_dist($idb, &$boucles, $crit) {
     
    211116 * {evenement_passe #ENV{date}}
    212117 *
    213  * @param <type> $idb
    214  * @param <type> $boucles
    215  * @param <type> $crit
     118 * @param string $idb
     119 * @param object $boucles
     120 * @param object $crit
    216121 */
    217122function critere_evenement_passe_dist($idb, &$boucles, $crit) {
     
    253158 * {evenement_en_cours #ENV{date}}
    254159 *
    255  * @param <type> $idb
    256  * @param <type> $boucles
    257  * @param <type> $crit
     160 * @param string $idb
     161 * @param object $boucles
     162 * @param object $crit
    258163 */
    259164function critere_evenement_en_cours_dist($idb, &$boucles, $crit) {
     
    303208 * #ENV{choix} peut prendre 6 valeurs : tout, a_venir, en_cours, passe, en_cours_a_venir ou passe_en_cours
    304209 *
    305  * @param <type> $idb
    306  * @param <type> $boucles
    307  * @param <type> $crit
     210 * @param string $idb
     211 * @param object $boucles
     212 * @param object $crit
    308213 */
    309214function critere_evenementrelatif_dist($idb, &$boucles, $crit) {
     
    321226}
    322227
     228/**
     229 * Fonction interne utilisee par le critere {evenementrelatif}
     230 * @param string $id_table
     231 * @param string $_dateref
     232 * @param string $not
     233 * @param string $choix
     234 * @param string $horaire
     235 * @return array
     236 */
    323237function agenda_calculer_critere_evenementrelatif($id_table,$_dateref,$not,$choix,$horaire){
    324238        $_date_debut = "$id_table.date_debut";
     
    416330 * des evenements a trouver
    417331 *
    418  * @param <type> $idb
    419  * @param <type> $boucles
    420  * @param <type> $crit
     332 * @param string $idb
     333 * @param object $boucles
     334 * @param object $crit
    421335 *
    422336 * @return string code PHP concernant la date.
     
    430344
    431345
    432 function agenda_date_a_venir($date_test,$date_ref=null){
    433         if (is_null($date_ref))
    434                 $date_ref = $_SERVER['REQUEST_TIME'];
    435         else
    436                 $date_ref = strtotime($date_ref);
    437 
    438         return (strtotime($date_test)>$date_ref)?' ':'';
    439 }
    440 
    441 
    442 function agenda_date_passee($date_test,$date_ref=null){
    443         if (is_null($date_ref))
    444                 $date_ref = $_SERVER['REQUEST_TIME'];
    445         else
    446                 $date_ref = strtotime($date_ref);
    447 
    448         return (strtotime($date_test)<$date_ref)?' ':'';
     346/**
     347 * Balise #NB_INSCRITS
     348 * pour afficher le nombre d'inscrits (qui ont repondu oui) a un evenement
     349 *
     350 * @param Object $p
     351 * @return object
     352 */
     353function balise_NB_INSCRITS_dist($p) {
     354        $id_evenement = champ_sql('id_evenement', $p);
     355        $p->code = "sql_countsel('spip_evenements_participants','id_evenement='.intval($id_evenement).' AND reponse=\'oui\'')";
     356        return $p;
    449357}
    450358
Note: See TracChangeset for help on using the changeset viewer.