[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / ecrire / inc / presentation_mini.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
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 /**
14 * Fonctions d'affichage pour l'espace privé (hors squelettes)
15 *
16 * @package SPIP\Core\Affichage
17 **/
18 if (!defined('_ECRIRE_INC_VERSION')) return;
19
20 /**
21 * Affiche un code html (echo) et log l'affichage car cet echo est anormal !
22 *
23 * Signale une fonction qui devrait retourner un contenu mais effectue
24 * un echo à la place pour compatibilité ascendante
25 *
26 * @deprecated
27 * Utiliser des squelettes pour l'affichage !
28 *
29 * @param string $f
30 * Nom de la fonction
31 * @param string $ret
32 * Code HTML à afficher
33 * @return void
34 **/
35 function echo_log($f, $ret) {
36 spip_log("Page " . self() . " function $f: echo ".substr($ret,0,50)."...",'echo');
37 echo
38 (_SIGNALER_ECHOS?"#Echo par $f#" :"")
39 . $ret;
40 }
41
42 /**
43 * Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
44 * @return string Code HTML
45 */
46 function debut_grand_cadre(){ return "\n<div class='table_page'>\n";}
47
48 /**
49 * Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
50 * @return string Code HTML
51 */
52 function fin_grand_cadre(){ return "\n</div>";}
53
54 // Debut de la colonne de gauche
55 // div navigation fermee par creer_colonne_droite qui ouvre
56 // div extra lui-meme ferme par debut_droite qui ouvre
57 // div contenu lui-meme ferme par fin_gauche() ainsi que
58 // div conteneur
59 // http://doc.spip.org/@debut_gauche
60 /**
61 * Retourne le code HTML du début de la colonne gauche
62 * @return string Code HTML
63 */
64 function debut_gauche() { return "<div id='conteneur' class=''>\n<div id='navigation' class='lat' role='contentinfo'>\n";}
65
66 /**
67 * Retourne le code HTML de la fin de la colonne
68 * @return string Code HTML
69 */
70 function fin_gauche(){return "</div></div><br class='nettoyeur' />";}
71
72 /**
73 * Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
74 * @return string Code HTML
75 */
76 function creer_colonne_droite(){
77 static $deja_colonne_droite;
78 if ($GLOBALS['spip_ecran']!='large' OR $deja_colonne_droite) return '';
79 $deja_colonne_droite = true;
80 return "\n</div><div id='extra' class='lat' role='complementary'>";
81 }
82
83 /**
84 * Retourne le code HTML de la colonne droite et du centre de page
85 * @return string Code HTML
86 */
87 function debut_droite() {
88 return liste_objets_bloques(_request('exec'))
89 . creer_colonne_droite()
90 . "</div>"
91 . "\n<div id='contenu'>";
92 }
93
94 // http://doc.spip.org/@liste_articles_bloques
95 function liste_objets_bloques($exec,$contexte=array(),$auteur=null){
96 $res = '';
97 if ($GLOBALS['meta']["articles_modif"] != "non") {
98 include_spip('inc/drapeau_edition');
99 if (is_null($auteur))
100 $auteur = $GLOBALS['visiteur_session'];
101 if ($en_cours=trouver_objet_exec($exec)
102 AND $en_cours['edition']
103 AND $type = $en_cours['type']
104 AND ($id = $contexte[$en_cours['id_table_objet']] OR $id = _request($en_cours['id_table_objet']))) {
105 // marquer le fait que l'objet est ouvert en edition par toto
106 // a telle date ; une alerte sera donnee aux autres redacteurs
107 signale_edition ($id, $auteur, $type);
108 }
109
110 $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
111 if (count($objets_ouverts)) {
112 $res .= recuperer_fond('prive/objets/liste/objets-en-edition',array(),array('ajax'=>true));
113 }
114 }
115 return $res;
116 }
117
118 // Fin de page de l'interface privee.
119 // Elle comporte une image invisible declenchant une tache de fond
120 // http://doc.spip.org/@fin_page
121 function fin_page(){
122 include_spip('inc/pipelines');
123 // avec &var_profile=1 on a le tableau de mesures SQL
124 $debug = ((_request('exec') !== 'valider_xml')
125 AND ((_request('var_mode') == 'debug')
126 OR (isset($GLOBALS['tableau_des_temps']) AND $GLOBALS['tableau_des_temps'])
127 AND isset($_COOKIE['spip_admin'])));
128 $t = '</div><div id="pied"><div class="largeur">'
129 . recuperer_fond('prive/squelettes/inclure/pied')
130 . "</div>"
131 . "</div></div>" // cf. div#page et div.largeur ouvertes dans conmmencer_page()
132 . ($debug?erreur_squelette():'')
133 . "</body></html>\n";
134 return f_queue($t);
135 }
136
137 function html_tests_js(){
138 if (_SPIP_AJAX AND !defined('_TESTER_NOSCRIPT')) {
139 // pour le pied de page (deja defini si on est validation XML)
140 define('_TESTER_NOSCRIPT',
141 "<noscript>\n<div style='display:none;'><img src='"
142 . generer_url_ecrire('test_ajax', 'js=-1')
143 . "' width='1' height='1' alt='' /></div></noscript>\n");
144 }
145 return
146 (defined('_SESSION_REJOUER') ? _SESSION_REJOUER : '')
147 . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
148 }
149
150 function info_maj_spip(){
151
152 $maj = $GLOBALS['meta']['info_maj_spip'];
153 if (!$maj)
154 return "";
155
156 $maj = explode('|',$maj);
157 // c'est une ancienne notif, on a fait la maj depuis !
158 if ($GLOBALS['spip_version_branche']!==reset($maj))
159 return "";
160
161 if (!autoriser('webmestre'))
162 return "";
163
164 array_shift($maj);
165 $maj = implode('|',$maj);
166
167 return "$maj<br />";
168 }
169
170 // http://doc.spip.org/@info_copyright
171 function info_copyright() {
172 global $spip_version_affichee, $spip_lang;
173
174 $version = $spip_version_affichee;
175
176 //
177 // Mention, le cas echeant, de la revision SVN courante
178 //
179 if ($svn_revision = version_svn_courante(_DIR_RACINE)) {
180 $version .= ' ' . (($svn_revision < 0) ? 'SVN ':'')
181 . "[<a href='http://core.spip.net/projects/spip/repository/revisions/"
182 . abs($svn_revision) . "' onclick=\"window.open(this.href); return false;\">"
183 . abs($svn_revision) . "</a>]";
184 }
185
186 // et la version de l'ecran de securite
187 $secu = defined('_ECRAN_SECURITE')
188 ? "<br />"._T('ecran_securite',array('version'=>_ECRAN_SECURITE))
189 : '';
190
191 return _T('info_copyright',
192 array('spip' => "<b>SPIP $version</b> ",
193 'lien_gpl' =>
194 "<a href='". generer_url_ecrire("aide", "aide=licence&var_lang=$spip_lang") . "' onclick=\"window.open(this.href, 'spip_aide', 'scrollbars=yes,resizable=yes,width=740,height=580'); return false;\">" . _T('info_copyright_gpl')."</a>"))
195 . $secu;
196
197 }
198
199 // http://doc.spip.org/@formulaire_recherche
200 function formulaire_recherche($page, $complement=""){
201 $recherche = _request('recherche');
202 $recherche_aff = entites_html($recherche);
203 if (!strlen($recherche)) {
204 $recherche_aff = _T('info_rechercher');
205 $onfocus = " onfocus=\"this.value='';\"";
206 } else $onfocus = '';
207
208 $form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
209 $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='"._T('info_rechercher')."' />";
210 return "<div class='spip_recherche'>".generer_form_ecrire($page, $form . $complement, " method='get'")."</div>";
211 }
212
213 ?>