Browse Source

Nouveau critère {en_cours_et_a_venir} !

master
Julien Lanfrey 2 months ago
parent
commit
70d921f7f1
  1. 2
      paquet.xml
  2. 49
      prive/squelettes/contenu/simplecal_demo.html
  3. 41
      public/simplecal_criteres.php

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="simplecal"
categorie="date"
version="2.4.8"
version="2.4.9"
etat="test"
compatibilite="[3.2.0;4.1.*]"
logo="prive/themes/spip/images/evenement-32.png"

49
prive/squelettes/contenu/simplecal_demo.html

@ -59,6 +59,40 @@
#BOITE_FERMER
#BOITE_OUVRIR{'',simple}
<h2><:simplecal:demo_les_evenements_critere:> {en_cours}</h2>
<B_evte>
<ul>
<BOUCLE_evte(EVENEMENTS) {en_cours} {par date_debut} {0,10}>
<li>
[(#DATE_DEBUT|affdate_debut_fin{#DATE_FIN})] : #TITRE [- <strong>(#LIEU)</strong>]
#LOGO
</li>
</BOUCLE_evte>
</ul>
</B_evte>
<:simplecal:demo_aucun:>
<//B_evte>
#BOITE_FERMER
#BOITE_OUVRIR{'',simple}
<h2><:simplecal:demo_les_evenements_critere:> {en_cours_et_a_venir}</h2>
<B_evtea>
<ul>
<BOUCLE_evtea(EVENEMENTS) {en_cours_et_a_venir} {par date_debut} {0,10}>
<li>
[(#DATE_DEBUT|affdate_debut_fin{#DATE_FIN})] : #TITRE [- <strong>(#LIEU)</strong>]
#LOGO
</li>
</BOUCLE_evtea>
</ul>
</B_evtea>
<:simplecal:demo_aucun:>
<//B_evtea>
#BOITE_FERMER
#BOITE_OUVRIR{'',simple}
<h2><:simplecal:demo_les_evenements_critere:> {a_venir}</h2>
<B_evtd>
@ -75,21 +109,6 @@
<//B_evtd>
#BOITE_FERMER
#BOITE_OUVRIR{'',simple}
<h2><:simplecal:demo_les_evenements_critere:> {en_cours}</h2>
<B_evte>
<ul>
<BOUCLE_evte(EVENEMENTS) {en_cours} {par date_debut} {0,10}>
<li>
[(#DATE_DEBUT|affdate_debut_fin{#DATE_FIN})] : #TITRE [- <strong>(#LIEU)</strong>]
#LOGO
</li>
</BOUCLE_evte>
</ul>
</B_evte>
<:simplecal:demo_aucun:>
<//B_evte>
#BOITE_FERMER
#BOITE_OUVRIR{'',simple}
<h2><:simplecal:demo_les_evenements_critere:> {evenement_passe}</h2>

41
public/simplecal_criteres.php

@ -103,6 +103,47 @@ function critere_a_venir_dist($idb, &$boucles, $crit) {
$boucle->where[] = $where;
}
/**
* Critere {en_cours_et_a_venir}
*
* @param unknown_type $idb
* @param unknown_type $boucles
* @param unknown_type $crit
*/
function critere_en_cours_et_a_venir_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$id_table = $boucle->id_table;
$_dateref = time_calculer_date_reference($idb, $boucles, $crit);
$_date = "$id_table.date_fin";
$op = $crit->not ? '<=' : '>';
// si on ne sait pas si les heures comptent, on utilise toute la journee.
// sinon, on s'appuie sur le champ 'horaire=oui'
// pour savoir si les dates utilisent les heures ou pas.
$where_futur_sans_heure =
array("'$op'", "'$_date'", "sql_quote(date('Y-m-d 23:59:59', strtotime($_dateref)))");
if (array_key_exists('horaire', $boucle->show['field'])) {
$where =
array("'OR'",
array("'AND'",
array("'='", "'horaire'", "sql_quote('oui')"),
array("'$op'","'$_date'","sql_quote($_dateref)")
),
array("'AND'",
array("'!='", "'horaire'", "sql_quote('oui')"),
$where_futur_sans_heure
)
);
} else {
$where = $where_futur_sans_heure;
}
$boucle->where[] = $where;
}
function critere_evenement_passe($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$id_table = $boucle->id_table;

Loading…
Cancel
Save