Mise en route du suivi.
[aidenligne_francais_universite.git] / ecrire / exec / auteur_infos.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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 include_spip('inc/presentation');
15 include_spip('inc/acces');
16 include_spip('inc/autoriser');
17
18 // http://doc.spip.org/@exec_auteur_infos_dist
19 function exec_auteur_infos_dist() {
20 global $connect_id_auteur;
21
22 $id_auteur = intval(_request('id_auteur'));
23
24 pipeline('exec_init',
25 array('args' => array(
26 'exec'=> 'auteur_infos',
27 'id_auteur'=>$id_auteur),
28 'data'=>''
29 )
30 );
31
32 if ($id_auteur) {
33 $s = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$id_auteur");
34 $auteur = spip_fetch_array($s);
35 } else {
36 $auteur = array();
37 if (strlen(_request('nom')))
38 $auteur['nom'] = _request('nom');
39 }
40
41 $auteur_infos = charger_fonction('auteur_infos', 'inc');
42 $fiche = $auteur_infos($auteur, _request('redirect'));
43
44
45 /* // Si on est appele en ajax, on renvoie la fiche
46 if (_request('var_ajaxcharset')) {
47 ajax_retour($fiche);
48 }
49
50 // Sinon on la met en page
51 else {
52 */
53 // Entete
54 if ($connect_id_auteur == $id_auteur) {
55 $commencer_page = charger_fonction('commencer_page', 'inc');
56 echo $commencer_page($auteur['nom'], "auteurs", "perso");
57 } else {
58 $commencer_page = charger_fonction('commencer_page', 'inc');
59 echo $commencer_page($auteur['nom'],"auteurs","redacteurs");
60 }
61 echo "<br /><br /><br />";
62
63 debut_gauche();
64
65 echo cadre_auteur_infos($id_auteur, $auteur);
66
67 echo pipeline('affiche_gauche',
68 array('args' => array (
69 'exec'=>'auteur_infos',
70 'id_auteur'=>$id_auteur),
71 'data'=>'')
72 );
73
74
75 creer_colonne_droite();
76 echo pipeline('affiche_droite',
77 array('args' => array(
78 'exec'=>'auteur_infos',
79 'id_auteur'=>$id_auteur),
80 'data'=>'')
81 );
82
83
84 // Interface de logo
85 if ($spip_display != 4) {
86 $iconifier = charger_fonction('iconifier', 'inc');
87
88 if ($id_auteur > 0)
89 echo $iconifier('id_auteur', $id_auteur, 'auteur_infos', autoriser('modifier', 'auteur', $id_auteur)
90 );
91
92 // nouvel auteur : le hack classique
93 else if ($fiche)
94 echo $iconifier('id_auteur',
95 0 - $GLOBALS['auteur_session']['id_auteur'],
96 'auteur_infos');
97 }
98
99 echo debut_droite();
100
101 echo debut_cadre_relief("redacteurs-24.gif", true);
102
103 // $fiche est vide si on demande par exemple
104 // a creer un auteur alors que c'est interdit
105 if ($fiche) {
106 echo $fiche;
107 } else {
108 gros_titre(_T('info_acces_interdit'));
109 }
110
111 echo pipeline('affiche_milieu',
112 array('args' => array(
113 'exec'=>'auteur_infos',
114 'id_auteur'=>$id_auteur),
115 'data'=>''));
116
117 auteurs_interventions($auteur);
118
119 echo fin_cadre_relief(true),
120 fin_gauche(),
121 fin_page();
122 /* } */
123
124 }
125
126 // http://doc.spip.org/@cadre_auteur_infos
127 function cadre_auteur_infos($id_auteur, $auteur)
128 {
129 global $connect_statut;
130
131 if (!$id_auteur) return '';
132
133 $res = "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>"
134 . _T('titre_cadre_numero_auteur')
135 . "<br /><span class='spip_xx-large'>"
136 . $id_auteur
137 . '</span></div>';
138
139 // "Voir en ligne" si l'auteur a un article publie
140 // seuls les admins peuvent "previsualiser" une page auteur
141 $n = spip_num_rows(spip_query("SELECT lien.id_article FROM spip_auteurs_articles AS lien, spip_articles AS articles WHERE lien.id_auteur=$id_auteur AND lien.id_article=articles.id_article AND articles.statut='publie'"));
142
143 if ($n)
144 $res .= voir_en_ligne ('auteur', $id_auteur, 'publie', 'racine-24.gif', false);
145 else if ($connect_statut == '0minirezo')
146 $res .= voir_en_ligne ('auteur', $id_auteur, 'prop', 'racine-24.gif', false);
147
148 return debut_boite_info(true) . $res . fin_boite_info(true);
149 }
150
151
152 // http://doc.spip.org/@auteurs_interventions
153 function auteurs_interventions($auteur) {
154 $id_auteur = $auteur['id_auteur'];
155 $statut = $auteur['statut'];
156
157 global $connect_statut, $connect_id_auteur;
158
159 include_spip('inc/message_select');
160
161 if ($connect_statut == "0minirezo") $aff_art = "'prepa','prop','publie','refuse'";
162 else if ($connect_id_auteur == $id_auteur) $aff_art = "'prepa','prop','publie'";
163 else $aff_art = "'prop','publie'";
164
165 echo afficher_articles(_T('info_articles_auteur'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "lien.id_auteur='$id_auteur' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_art)", 'ORDER BY' => "articles.date DESC"));
166
167 if ($id_auteur != $connect_id_auteur
168 AND ($statut == '0minirezo' OR $statut == '1comite')) {
169 echo "<div>&nbsp;</div>";
170 debut_cadre_couleur();
171
172 $vus = array();
173
174 echo afficher_messages('<b>' . _T('info_discussion_cours') . '</b>', ", spip_auteurs_messages AS lien, spip_auteurs_messages AS lien2", "lien.id_auteur=$connect_id_auteur AND lien2.id_auteur = $id_auteur AND statut='publie' AND type='normal' AND rv!='oui' AND lien.id_message=messages.id_message AND lien2.id_message=messages.id_message", $vus, false, false);
175
176 echo afficher_messages('<b>' . _T('info_vos_rendez_vous') . '</b>', ", spip_auteurs_messages AS lien, spip_auteurs_messages AS lien2", "lien.id_auteur=$connect_id_auteur AND lien2.id_auteur = $id_auteur AND statut='publie' AND type='normal' AND rv='oui' AND date_fin > NOW() AND lien.id_message=messages.id_message AND lien2.id_message=messages.id_message", $vus, false, false);
177
178 icone_horizontale(_T('info_envoyer_message_prive'), generer_action_auteur("editer_message","normal/$id_auteur"),
179 "message.gif");
180 fin_cadre_couleur();
181 }
182 }
183 ?>