source: spip-zone/_plugins_/bootstrap_prive/trunk/inc/presentation_mini.php @ 104327

Last change on this file since 104327 was 104327, checked in by spip.franck@…, 4 years ago

code.spip est maintenant en https, donc, j'ajoute le "s" à http

File size: 7.4 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2012                                                *
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**/
18if (!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**/
35function 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 */
46function 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 */
52function 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// https://code.spip.net/@debut_gauche
60/**
61 * Retourne le code HTML du début de la colonne gauche
62 * @return string Code HTML
63 */
64function debut_gauche() {       return "<div id='conteneur' class=''>\n<div class='span3'>\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 */
70function fin_gauche(){return "</div><!-- / end #conteneur -->\n</div>\n<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 */
76function 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 */
87function debut_droite() {
88        return liste_objets_bloques(_request('exec'))
89          . creer_colonne_droite()
90          . "</div><!-- / end #navigation.lat -->\n</div><!-- / end .span3 -->\n"
91          . "\n<div id='contenu' class='span9'>";
92}
93
94// https://code.spip.net/@liste_articles_bloques
95function 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// https://code.spip.net/@fin_page
121function 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
137function 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
150function 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// https://code.spip.net/@info_copyright
171function 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.org/trac/spip/changeset/"
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// https://code.spip.net/@formulaire_recherche
200function 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?>
Note: See TracBrowser for help on using the repository browser.