d38253c17b7df33e5bc551d928a1ed56d1dc5f78
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
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';
26 array("'!='","'".$boucle->id_table
.".id_auteur'","intval($_auteur)"),
29 array("'='","'auteurs_liens.id_auteur'","intval($_auteur)"),
30 array("'!='","'auteurs_liens.vu'","'\'poub\''"),
34 array("'='","'".$boucle->id_table
.".type'","sql_quote('affich')"),
37 array("'='","'".$boucle->id_table
.".type'","sql_quote('pb')"),
38 array("'='","'".$boucle->id_table
.".id_auteur'","intval($_auteur)"),
45 $where = array("'?'","strlen($_auteur)", $where,"'1=1'");
48 $where = array("'NOT'",$where);
50 $boucle->where
[] = $where;
52 function critere_MESSAGES_non_lu_dist($idb, &$boucles, $crit) {
53 $boucle = &$boucles[$idb];
56 "'auteurs_liens.vu IS NULL'",
57 "sql_in('auteurs_liens.vu',array('poub','oui'),'NOT',\$connect)"
62 * Fonction privee pour mutualiser de code des criteres_MESSAGES_rv_*
63 * Retourne le code php pour obtenir la date de reference de comparaison
64 * des evenements a trouver
67 * @param object $boucles
70 * @return string code PHP concernant la date.
72 function organiseur_calculer_date_reference($idb, &$boucles, $crit) {
73 if (isset($crit->param
[0]))
74 return calculer_liste($crit->param
[0], array(), $boucles, $boucles[$idb]->id_parent
);
76 return "date('Y-m-d H:i:00')";
82 * {rv_a_venir #ENV{date}}
85 * @param object $boucles
88 function critere_MESSAGES_rv_a_venir_dist($idb, &$boucles, $crit) {
89 $boucle = &$boucles[$idb];
90 $id_table = $boucle->id_table
;
92 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
93 $_date = "$id_table.".(isset($boucle->show
['date'])?
$boucle->show
['date']:"date_debut");
94 $op = $crit->not ?
"<=":">";
95 $where = array("'$op'","'$_date'","sql_quote($_dateref)");
97 $boucle->where
[] = $where;
102 * {rv_passe #ENV{date}}
105 * @param object $boucles
106 * @param object $crit
108 function critere_MESSAGES_rv_passe_dist($idb, &$boucles, $crit) {
109 $boucle = &$boucles[$idb];
110 $id_table = $boucle->id_table
;
112 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
113 $_date = "$id_table.date_fin";
114 $op = $crit->not ?
">=":"<";
116 $where = array("'$op'","'$_date'","sql_quote($_dateref)");
117 $boucle->where
[] = $where;
122 * {rv_en_cours #ENV{date}}
125 * @param object $boucles
126 * @param object $crit
128 function critere_MESSAGES_rv_en_cours_dist($idb, &$boucles, $crit) {
129 $boucle = &$boucles[$idb];
130 $id_table = $boucle->id_table
;
132 $_dateref = organiseur_calculer_date_reference($idb, $boucles, $crit);
133 $_date_debut = "$id_table.".(isset($boucle->show
['date'])?
$boucle->show
['date']:"date_debut");
134 $_date_fin = "$id_table.date_fin";
138 array("'<='", "'$_date_debut'", "sql_quote($_dateref)"),
139 array("'>='", "'$_date_fin'", "sql_quote($_dateref)")
143 $where = array("'NOT'",$where);
144 $boucle->where
[] = $where;
148 function organiseur_icone_message($type,$taille=24){
149 $icone = array('pb'=>'pensebete','affich'=>'annonce');
150 $icone = isset($icone[$type])?
$icone[$type]:'message';
151 return "$icone-$taille.png";
153 function organiseur_texte_modifier_message($type){
154 $texte = array('pb'=>'organiseur:icone_modifier_pensebete','affich'=>'organiseur:icone_modifier_annonce');
155 $texte = isset($texte[$type])?
$texte[$type]:'icone_modifier_message';
158 function organiseur_texte_nouveau_message($type){
159 $texte = array('pb'=>'organiseur:icone_ecrire_nouveau_pensebete','affich'=>'organiseur:icone_ecrire_nouvelle_annonce');
160 $texte = isset($texte[$type])?
$texte[$type]:'organiseur:icone_ecrire_nouveau_message';