[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / inc / message_select.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
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 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // $messages_vus en reference pour interdire l'affichage de message en double
16
17
18 function afficher_ses_messages($titre, $from, $where, &$messages_vus, $afficher_auteurs = true, $important = false) {
19
20 $requete = array('SELECT' => 'messages.id_message, messages.date_heure, messages.date_fin, messages.titre, messages.type, messages.rv', 'FROM' => "spip_messages AS messages$from", 'WHERE' => $where .(!$messages_vus ? '' : ' AND messages.id_message NOT IN ('.join(',', $messages_vus).')'), 'ORDER BY'=> 'date_heure DESC');
21
22 if ($afficher_auteurs) {
23 $styles = array(array('arial2'), array('arial1', 130), array('arial1', 20), array('arial1', 120));
24 } else {
25 $styles = array(array('arial2'), array('arial1', 20), array('arial1', 120));
26 }
27
28 $presenter_liste = charger_fonction('presenter_liste', 'inc');
29 $tmp_var = 't_' . substr(md5(join('', $requete)), 0, 4);
30
31 // cette variable est passe par reference et recevra les valeurs du champ indique
32 $les_messages = 'id_message';
33 $res = $presenter_liste($requete, 'presenter_message_boucles', $les_messages, $afficher_auteur, $important, $styles, $tmp_var, $titre, "messagerie-24.gif");
34 $messages_vus = array_merge($messages_vus, $les_messages);
35
36 if (!$res) return '';
37 else
38 return
39 (debut_cadre_couleur('',true)
40 . $res
41 . fin_cadre_couleur(true));
42 }
43
44 function presenter_message_boucles($row, $afficher_auteurs)
45 {
46 global $connect_id_auteur, $spip_lang_left, $spip_lang_rtl;
47
48 $vals = array();
49
50 $id_message = $row['id_message'];
51 $date = $row["date_heure"];
52 $date_fin = $row["date_fin"];
53 $titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
54 $type = $row["type"];
55 $rv = $row["rv"];
56
57 //
58 // Titre
59 //
60
61 $s = "<a href='" . generer_url_ecrire("message","id_message=$id_message") . "' style='display: block;'>";
62
63 switch ($type) {
64 case 'pb' :
65 $puce = "m_envoi_bleu$spip_lang_rtl.gif";
66 break;
67 case 'memo' :
68 $puce = "m_envoi_jaune$spip_lang_rtl.gif";
69 break;
70 case 'affich' :
71 $puce = "m_envoi_jaune$spip_lang_rtl.gif";
72 break;
73 case 'normal':
74 default:
75 $puce = "m_envoi$spip_lang_rtl.gif";
76 break;
77 }
78
79 $s .= http_img_pack("$puce", "", "width='14' height='7'");
80 $s .= "&nbsp;&nbsp;".typo($titre)."</a>";
81 $vals[] = $s;
82
83 //
84 // Auteurs
85
86 if ($afficher_auteurs) {
87 $result_auteurs = sql_select("auteurs.id_auteur, auteurs.nom", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "lien.id_message=$id_message AND lien.id_auteur!=$connect_id_auteur AND lien.id_auteur=auteurs.id_auteur");
88
89 $auteurs = '';
90 while ($row_auteurs = sql_fetch($result_auteurs)) {
91 $id_auteur = $row_auteurs['id_auteur'];
92 $auteurs[] = "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "'>".typo($row_auteurs['nom'])."</a>";
93 }
94
95 if ($auteurs AND $type == 'normal') {
96 $s = "<span class='arial1 spip_x-small'>" . join(', ', $auteurs) . "</span>";
97 } else $s = "&nbsp;";
98 $vals[] = $s;
99 }
100
101 //
102 // Messages de forums
103
104 $total_forum = sql_countsel('spip_forum', "id_message=$id_message");
105
106 if ($total_forum > 0) $vals[] = "($total_forum)";
107 else $vals[] = "";
108
109 //
110 // Date
111 //
112
113 $s = affdate($date);
114 if ($rv == 'oui') {
115 $jour=journum($date);
116 $mois=mois($date);
117 $annee=annee($date);
118
119 $heure = heures($date).":".minutes($date);
120 if (affdate($date) == affdate($date_fin))
121 $heure_fin = heures($date_fin).":".minutes($date_fin);
122 else
123 $heure_fin = "...";
124
125 $s = "<div " .
126 http_style_background('rv-12.gif', "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px") .
127 "><a href='" . generer_url_ecrire("calendrier","type=jour&jour=$jour&mois=$mois&annee=$annee") . "'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
128 } else {
129 $s = "<span style='color: #999999'>$s</span>";
130 }
131
132 $vals[] = $s;
133
134 return $vals;
135 }
136
137 ?>