3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2013 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) return;
16 function critere_MESSAGES_destinataire_dist($idb, &$boucles, $crit) {
17 $boucle = &$boucles[$idb];
18 $_auteur = calculer_liste($crit->param
[0], array(), $boucles, $boucle->id_parent
);
20 $boucle->join
['auteurs_liens']=array("'".$boucle->id_table
."'","'id_objet'","'".$boucle->primary
."'","'auteurs_liens.objet=\'message\' AND auteurs_liens.id_auteur='.intval($_auteur)");
21 $boucle->from
['auteurs_liens']='spip_auteurs_liens';
22 $boucle->from_type
['auteurs_liens'] = 'LEFT';
27 array("'='","'auteurs_liens.id_auteur'","intval($_auteur)"),
28 array("'!='","'auteurs_liens.vu'","'\'poub\''"),
31 array("'='","'".$boucle->id_table
.".type'","sql_quote('affich')"),
34 array("'='","'".$boucle->id_table
.".type'","sql_quote('pb')"),
35 array("'='","'".$boucle->id_table
.".id_auteur'","intval($_auteur)"),
42 $where = array("'?'","strlen($_auteur)", $where,"'1=1'");
45 $where = array("'NOT'",$where);
47 $boucle->where
[] = $where;
49 function critere_MESSAGES_non_lu_dist($idb, &$boucles, $crit) {
50 $boucle = &$boucles[$idb];
53 "'auteurs_liens.vu IS NULL'",
54 "sql_in('auteurs_liens.vu',array('poub','oui'),'NOT',\$connect)"
59 * Fonction privee pour mutualiser de code des criteres_MESSAGES_rv_*
60 * Retourne le code php pour obtenir la date de reference de comparaison
61 * des evenements a trouver
64 * @param object $boucles
67 * @return string code PHP concernant la date.
69 function organiseur_calculer_date_reference($idb, &$boucles, $crit) {
70 if (isset($crit->param
[0]))
71 return calculer_liste($crit->param
[0], array(), $boucles, $boucles[$idb]->id_parent
);
73 return "date('Y-m-d H:i:00')";
79 * {rv_a_venir #ENV{date}}
82 * @param object $boucles
85 function critere_MESSAGES_rv_a_venir_dist($idb, &$boucles, $crit) {
86 $boucle = &$boucles[$idb];
87 $id_table = $boucle->id_table
;
89 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
90 $_date = "$id_table.".(isset($boucle->show
['date'])?
$boucle->show
['date']:"date_debut");
91 $op = $crit->not ?
"<=":">";
92 $where = array("'$op'","'$_date'","sql_quote($_dateref)");
94 $boucle->where
[] = $where;
99 * {rv_passe #ENV{date}}
102 * @param object $boucles
103 * @param object $crit
105 function critere_MESSAGES_rv_passe_dist($idb, &$boucles, $crit) {
106 $boucle = &$boucles[$idb];
107 $id_table = $boucle->id_table
;
109 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
110 $_date = "$id_table.date_fin";
111 $op = $crit->not ?
">=":"<";
113 $where = array("'$op'","'$_date'","sql_quote($_dateref)");
114 $boucle->where
[] = $where;
119 * {rv_en_cours #ENV{date}}
122 * @param object $boucles
123 * @param object $crit
125 function critere_MESSAGES_rv_en_cours_dist($idb, &$boucles, $crit) {
126 $boucle = &$boucles[$idb];
127 $id_table = $boucle->id_table
;
129 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
130 $_date_debut = "$id_table.".(isset($boucle->show
['date'])?
$boucle->show
['date']:"date_debut");
131 $_date_fin = "$id_table.date_fin";
135 array("'<='", "'$_date_debut'", "sql_quote($_dateref)"),
136 array("'>='", "'$_date_fin'", "sql_quote($_dateref)")
140 $where = array("'NOT'",$where);
141 $boucle->where
[] = $where;
145 function organiseur_icone_message($type,$taille=24){
146 $icone = array('pb'=>'pensebete','affich'=>'annonce');
147 $icone = isset($icone[$type])?
$icone[$type]:'message';
148 return "$icone-$taille.png";
150 function organiseur_texte_modifier_message($type){
151 $texte = array('pb'=>'organiseur:icone_modifier_pensebete','affich'=>'organiseur:icone_modifier_annonce');
152 $texte = isset($texte[$type])?
$texte[$type]:'icone_modifier_message';
155 function organiseur_texte_nouveau_message($type){
156 $texte = array('pb'=>'organiseur:icone_ecrire_nouveau_pensebete','affich'=>'organiseur:icone_ecrire_nouvelle_annonce');
157 $texte = isset($texte[$type])?
$texte[$type]:'organiseur:icone_ecrire_nouveau_message';