-<?php\r
-\r
-/***************************************************************************\\r
- * SPIP, Systeme de publication pour l'internet *\r
- * *\r
- * Copyright (c) 2001-2014 *\r
- * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *\r
- * *\r
- * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *\r
- * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *\r
-\***************************************************************************/\r
-\r
-/**\r
- * Fonctions d'affichage pour l'espace privé (hors squelettes)\r
- *\r
- * @package SPIP\Core\Affichage\r
-**/\r
-if (!defined('_ECRIRE_INC_VERSION')) return;\r
-\r
-/**\r
- * Affiche un code html (echo) et log l'affichage car cet echo est anormal !\r
- * \r
- * Signale une fonction qui devrait retourner un contenu mais effectue\r
- * un echo à la place pour compatibilité ascendante\r
- *\r
- * @deprecated\r
- * Utiliser des squelettes pour l'affichage !\r
- * \r
- * @param string $f\r
- * Nom de la fonction\r
- * @param string $ret\r
- * Code HTML à afficher\r
- * @return void\r
-**/\r
-function echo_log($f, $ret) {\r
- spip_log("Page " . self() . " function $f: echo ".substr($ret,0,50)."...",'echo');\r
- echo\r
- (_SIGNALER_ECHOS?"#Echo par $f#" :"")\r
- . $ret;\r
-}\r
-\r
-/**\r
- * Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)\r
- * @return string Code HTML\r
- */\r
-function debut_grand_cadre(){ return "\n<div class='table_page'>\n";}\r
-\r
-/**\r
- * Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)\r
- * @return string Code HTML\r
- */\r
-function fin_grand_cadre(){ return "\n</div>";}\r
-\r
-// Debut de la colonne de gauche\r
-// div navigation fermee par creer_colonne_droite qui ouvre\r
-// div extra lui-meme ferme par debut_droite qui ouvre\r
-// div contenu lui-meme ferme par fin_gauche() ainsi que\r
-// div conteneur\r
-// http://doc.spip.org/@debut_gauche\r
-/**\r
- * Retourne le code HTML du début de la colonne gauche\r
- * @return string Code HTML\r
- */\r
-function debut_gauche() { return "<div id='conteneur' class=''>\n<div id='navigation' class='lat' role='contentinfo'>\n";}\r
-\r
-/**\r
- * Retourne le code HTML de la fin de la colonne\r
- * @return string Code HTML\r
- */\r
-function fin_gauche(){return "</div></div><br class='nettoyeur' />";}\r
-\r
-/**\r
- * Retourne le code HTML du changement de colonne (passer de la gauche à la droite)\r
- * @return string Code HTML\r
- */\r
-function creer_colonne_droite(){\r
- static $deja_colonne_droite;\r
- if ($GLOBALS['spip_ecran']!='large' OR $deja_colonne_droite) return '';\r
- $deja_colonne_droite = true;\r
- return "\n</div><div id='extra' class='lat' role='complementary'>";\r
-}\r
-\r
-/**\r
- * Retourne le code HTML de la colonne droite et du centre de page\r
- * @return string Code HTML\r
- */\r
-function debut_droite() {\r
- return liste_objets_bloques(_request('exec'))\r
- . creer_colonne_droite()\r
- . "</div>"\r
- . "\n<div id='contenu'>";\r
-}\r
-\r
-// http://doc.spip.org/@liste_articles_bloques\r
-function liste_objets_bloques($exec,$contexte=array(),$auteur=null){\r
- $res = '';\r
- if ($GLOBALS['meta']["articles_modif"] != "non") {\r
- include_spip('inc/drapeau_edition');\r
- if (is_null($auteur))\r
- $auteur = $GLOBALS['visiteur_session'];\r
- if ($en_cours=trouver_objet_exec($exec)\r
- AND $en_cours['edition']\r
- AND $type = $en_cours['type']\r
- AND ($id = $contexte[$en_cours['id_table_objet']] OR $id = _request($en_cours['id_table_objet']))) {\r
- // marquer le fait que l'objet est ouvert en edition par toto\r
- // a telle date ; une alerte sera donnee aux autres redacteurs\r
- signale_edition ($id, $auteur, $type);\r
- }\r
-\r
- $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);\r
- if (count($objets_ouverts)) {\r
- $res .= recuperer_fond('prive/objets/liste/objets-en-edition',array(),array('ajax'=>true));\r
- }\r
- }\r
- return $res;\r
-}\r
-\r
-// Fin de page de l'interface privee.\r
-// Elle comporte une image invisible declenchant une tache de fond\r
-// http://doc.spip.org/@fin_page\r
-function fin_page(){\r
- include_spip('inc/pipelines');\r
- // avec &var_profile=1 on a le tableau de mesures SQL\r
- $debug = ((_request('exec') !== 'valider_xml')\r
- AND ((_request('var_mode') == 'debug')\r
- OR (isset($GLOBALS['tableau_des_temps']) AND $GLOBALS['tableau_des_temps'])\r
- AND isset($_COOKIE['spip_admin'])));\r
- $t = '</div><div id="pied"><div class="largeur">'\r
- . recuperer_fond('prive/squelettes/inclure/pied')\r
- . "</div>"\r
- . "</div></div>" // cf. div#page et div.largeur ouvertes dans conmmencer_page()\r
- . ($debug?erreur_squelette():'')\r
- . "</body></html>\n";\r
- return f_queue($t);\r
-}\r
-\r
-function html_tests_js(){\r
- if (_SPIP_AJAX AND !defined('_TESTER_NOSCRIPT')) {\r
- // pour le pied de page (deja defini si on est validation XML)\r
- define('_TESTER_NOSCRIPT',\r
- "<noscript>\n<div style='display:none;'><img src='"\r
- . generer_url_ecrire('test_ajax', 'js=-1')\r
- . "' width='1' height='1' alt='' /></div></noscript>\n");\r
- }\r
- return\r
- (defined('_SESSION_REJOUER') ? _SESSION_REJOUER : '')\r
- . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');\r
-}\r
-\r
-function info_maj_spip(){\r
-\r
- $maj = $GLOBALS['meta']['info_maj_spip'];\r
- if (!$maj)\r
- return "";\r
-\r
- $maj = explode('|',$maj);\r
- // c'est une ancienne notif, on a fait la maj depuis !\r
- if ($GLOBALS['spip_version_branche']!==reset($maj))\r
- return "";\r
-\r
- if (!autoriser('webmestre'))\r
- return "";\r
-\r
- array_shift($maj);\r
- $maj = implode('|',$maj);\r
-\r
- return "$maj<br />";\r
-}\r
-\r
-// http://doc.spip.org/@info_copyright\r
-function info_copyright() {\r
- global $spip_version_affichee, $spip_lang;\r
-\r
- $version = $spip_version_affichee;\r
-\r
- //\r
- // Mention, le cas echeant, de la revision SVN courante\r
- //\r
- if ($svn_revision = version_svn_courante(_DIR_RACINE)) {\r
- $version .= ' ' . (($svn_revision < 0) ? 'SVN ':'')\r
- . "[<a href='http://core.spip.org/trac/spip/changeset/"\r
- . abs($svn_revision) . "' onclick=\"window.open(this.href); return false;\">"\r
- . abs($svn_revision) . "</a>]";\r
- }\r
-\r
- // et la version de l'ecran de securite\r
- $secu = defined('_ECRAN_SECURITE')\r
- ? "<br />"._T('ecran_securite',array('version'=>_ECRAN_SECURITE))\r
- : '';\r
-\r
- return _T('info_copyright',\r
- array('spip' => "<b>SPIP $version</b> ",\r
- 'lien_gpl' =>\r
- "<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>"))\r
- . $secu;\r
-\r
-}\r
-\r
-// http://doc.spip.org/@formulaire_recherche\r
-function formulaire_recherche($page, $complement=""){\r
- $recherche = _request('recherche');\r
- $recherche_aff = entites_html($recherche);\r
- if (!strlen($recherche)) {\r
- $recherche_aff = _T('info_rechercher');\r
- $onfocus = " onfocus=\"this.value='';\"";\r
- } else $onfocus = '';\r
-\r
- $form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';\r
- $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='"._T('info_rechercher')."' />";\r
- return "<div class='spip_recherche'>".generer_form_ecrire($page, $form . $complement, " method='get'")."</div>";\r
-}\r
-\r
-?>\r
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2014 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+/**
+ * Fonctions d'affichage pour l'espace privé (hors squelettes)
+ *
+ * @package SPIP\Core\Affichage
+**/
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+/**
+ * Affiche un code html (echo) et log l'affichage car cet echo est anormal !
+ *
+ * Signale une fonction qui devrait retourner un contenu mais effectue
+ * un echo à la place pour compatibilité ascendante
+ *
+ * @deprecated
+ * Utiliser des squelettes pour l'affichage !
+ *
+ * @param string $f
+ * Nom de la fonction
+ * @param string $ret
+ * Code HTML à afficher
+ * @return void
+**/
+function echo_log($f, $ret) {
+ spip_log("Page " . self() . " function $f: echo ".substr($ret,0,50)."...",'echo');
+ echo
+ (_SIGNALER_ECHOS?"#Echo par $f#" :"")
+ . $ret;
+}
+
+/**
+ * Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
+ * @return string Code HTML
+ */
+function debut_grand_cadre(){ return "\n<div class='table_page'>\n";}
+
+/**
+ * Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
+ * @return string Code HTML
+ */
+function fin_grand_cadre(){ return "\n</div>";}
+
+// Debut de la colonne de gauche
+// div navigation fermee par creer_colonne_droite qui ouvre
+// div extra lui-meme ferme par debut_droite qui ouvre
+// div contenu lui-meme ferme par fin_gauche() ainsi que
+// div conteneur
+// http://doc.spip.org/@debut_gauche
+/**
+ * Retourne le code HTML du début de la colonne gauche
+ * @return string Code HTML
+ */
+function debut_gauche() { return "<div id='conteneur' class=''>\n<div id='navigation' class='lat' role='contentinfo'>\n";}
+
+/**
+ * Retourne le code HTML de la fin de la colonne
+ * @return string Code HTML
+ */
+function fin_gauche(){return "</div></div><br class='nettoyeur' />";}
+
+/**
+ * Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
+ * @return string Code HTML
+ */
+function creer_colonne_droite(){
+ static $deja_colonne_droite;
+ if ($GLOBALS['spip_ecran']!='large' OR $deja_colonne_droite) return '';
+ $deja_colonne_droite = true;
+ return "\n</div><div id='extra' class='lat' role='complementary'>";
+}
+
+/**
+ * Retourne le code HTML de la colonne droite et du centre de page
+ * @return string Code HTML
+ */
+function debut_droite() {
+ return liste_objets_bloques(_request('exec'))
+ . creer_colonne_droite()
+ . "</div>"
+ . "\n<div id='contenu'>";
+}
+
+// http://doc.spip.org/@liste_articles_bloques
+function liste_objets_bloques($exec,$contexte=array(),$auteur=null){
+ $res = '';
+ if ($GLOBALS['meta']["articles_modif"] != "non") {
+ include_spip('inc/drapeau_edition');
+ if (is_null($auteur))
+ $auteur = $GLOBALS['visiteur_session'];
+ if ($en_cours=trouver_objet_exec($exec)
+ AND $en_cours['edition']
+ AND $type = $en_cours['type']
+ AND ($id = $contexte[$en_cours['id_table_objet']] OR $id = _request($en_cours['id_table_objet']))) {
+ // marquer le fait que l'objet est ouvert en edition par toto
+ // a telle date ; une alerte sera donnee aux autres redacteurs
+ signale_edition ($id, $auteur, $type);
+ }
+
+ $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
+ if (count($objets_ouverts)) {
+ $res .= recuperer_fond('prive/objets/liste/objets-en-edition',array(),array('ajax'=>true));
+ }
+ }
+ return $res;
+}
+
+// Fin de page de l'interface privee.
+// Elle comporte une image invisible declenchant une tache de fond
+// http://doc.spip.org/@fin_page
+function fin_page(){
+ include_spip('inc/pipelines');
+ // avec &var_profile=1 on a le tableau de mesures SQL
+ $debug = ((_request('exec') !== 'valider_xml')
+ AND ((_request('var_mode') == 'debug')
+ OR (isset($GLOBALS['tableau_des_temps']) AND $GLOBALS['tableau_des_temps'])
+ AND isset($_COOKIE['spip_admin'])));
+ $t = '</div><div id="pied"><div class="largeur">'
+ . recuperer_fond('prive/squelettes/inclure/pied')
+ . "</div>"
+ . "</div></div>" // cf. div#page et div.largeur ouvertes dans conmmencer_page()
+ . ($debug?erreur_squelette():'')
+ . "</body></html>\n";
+ return f_queue($t);
+}
+
+function html_tests_js(){
+ if (_SPIP_AJAX AND !defined('_TESTER_NOSCRIPT')) {
+ // pour le pied de page (deja defini si on est validation XML)
+ define('_TESTER_NOSCRIPT',
+ "<noscript>\n<div style='display:none;'><img src='"
+ . generer_url_ecrire('test_ajax', 'js=-1')
+ . "' width='1' height='1' alt='' /></div></noscript>\n");
+ }
+ return
+ (defined('_SESSION_REJOUER') ? _SESSION_REJOUER : '')
+ . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
+}
+
+function info_maj_spip(){
+
+ $maj = $GLOBALS['meta']['info_maj_spip'];
+ if (!$maj)
+ return "";
+
+ $maj = explode('|',$maj);
+ // c'est une ancienne notif, on a fait la maj depuis !
+ if ($GLOBALS['spip_version_branche']!==reset($maj))
+ return "";
+
+ if (!autoriser('webmestre'))
+ return "";
+
+ array_shift($maj);
+ $maj = implode('|',$maj);
+
+ return "$maj<br />";
+}
+
+// http://doc.spip.org/@info_copyright
+function info_copyright() {
+ global $spip_version_affichee, $spip_lang;
+
+ $version = $spip_version_affichee;
+
+ //
+ // Mention, le cas echeant, de la revision SVN courante
+ //
+ if ($svn_revision = version_svn_courante(_DIR_RACINE)) {
+ $version .= ' ' . (($svn_revision < 0) ? 'SVN ':'')
+ . "[<a href='http://core.spip.net/projects/spip/repository/revisions/"
+ . abs($svn_revision) . "' onclick=\"window.open(this.href); return false;\">"
+ . abs($svn_revision) . "</a>]";
+ }
+
+ // et la version de l'ecran de securite
+ $secu = defined('_ECRAN_SECURITE')
+ ? "<br />"._T('ecran_securite',array('version'=>_ECRAN_SECURITE))
+ : '';
+
+ return _T('info_copyright',
+ array('spip' => "<b>SPIP $version</b> ",
+ 'lien_gpl' =>
+ "<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>"))
+ . $secu;
+
+}
+
+// http://doc.spip.org/@formulaire_recherche
+function formulaire_recherche($page, $complement=""){
+ $recherche = _request('recherche');
+ $recherche_aff = entites_html($recherche);
+ if (!strlen($recherche)) {
+ $recherche_aff = _T('info_rechercher');
+ $onfocus = " onfocus=\"this.value='';\"";
+ } else $onfocus = '';
+
+ $form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
+ $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='"._T('info_rechercher')."' />";
+ return "<div class='spip_recherche'>".generer_form_ecrire($page, $form . $complement, " method='get'")."</div>";
+}
+
+?>