Changeset 116125 in spip-zone


Ignore:
Timestamp:
Jul 26, 2019, 12:43:19 PM (4 months ago)
Author:
peetdu@…
Message:

Allez, c’est la fête : Shameless pompage du critère evenement_passe() du plugin Agenda

Location:
_plugins_/simple_calendrier/trunk
Files:
2 edited

Legend:

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

    r116124 r116125  
    22        prefix="simplecal"
    33        categorie="date"
    4         version="2.3.0"
     4        version="2.4.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.3.*]"
  • _plugins_/simple_calendrier/trunk/public/simplecal_criteres.php

    r116124 r116125  
    9999        } else {
    100100                $where = $where_futur_sans_heure;
     101        }
     102
     103        $boucle->where[] = $where;
     104}
     105
     106function critere_evenement_passe($idb, &$boucles, $crit) {
     107        $boucle = &$boucles[$idb];
     108        $id_table = $boucle->id_table;
     109
     110        $_dateref = time_calculer_date_reference($idb, $boucles, $crit);
     111        $_date = "$id_table.date_fin";
     112        $op = $crit->not ? '>=' : '<';
     113
     114        // si on ne sait pas si les heures comptent, on utilise toute la journee.
     115        // sinon, on s'appuie sur le champ 'horaire=oui'
     116        // pour savoir si les dates utilisent les heures ou pas.
     117        $where_passe_sans_heure =
     118                array("'$op'", "'$_date'", "sql_quote(date('Y-m-d 00:00:00', strtotime($_dateref)))");
     119
     120        if (array_key_exists('horaire', $boucle->show['field'])) {
     121                $where =
     122                        array("'OR'",
     123                                array("'AND'",
     124                                        array("'='", "'horaire'", "sql_quote('oui')"),
     125                                        array("'$op'","'$_date'","sql_quote($_dateref)")
     126                                ),
     127                                array("'AND'",
     128                                        array("'!='", "'horaire'", "sql_quote('oui')"),
     129                                        $where_passe_sans_heure
     130                                )
     131                        );
     132        } else {
     133                $where = $where_passe_sans_heure;
    101134        }
    102135
Note: See TracChangeset for help on using the changeset viewer.