Changeset 93099 in spip-zone
- Timestamp:
- Nov 23, 2015, 8:42:45 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_core_/plugins/dev/inc/minipres.php
r88959 r93099 4 4 * SPIP, Systeme de publication pour l'internet * 5 5 * * 6 * Copyright (c) 2001-201 3*6 * Copyright (c) 2001-2015 * 7 7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * 8 8 * * … … 11 11 \***************************************************************************/ 12 12 13 /** 14 * Présentation des pages d'installation et d'erreurs 15 * 16 * Surcharge simplement pour modifier `install_fin_html()` 17 * 18 * @package SPIP\Dev\Minipres 19 **/ 13 20 if (!defined('_ECRIRE_INC_VERSION')) return; 14 21 … … 16 23 include_spip('inc/texte'); //inclue inc/lang et inc/filtres 17 24 18 // 19 // Presentation des pages d'installation et d'erreurs 20 // 21 22 // http://code.spip.net/@install_debut_html 23 function install_debut_html($titre = 'AUTO', $onLoad = '') { 25 26 /** 27 * Retourne le début d'une page HTML minimale (de type installation ou erreur) 28 * 29 * Le contenu de CSS minimales (reset.css, clear.css, minipres.css) est inséré 30 * dans une balise script inline (compactée si possible) 31 * 32 * @uses utiliser_langue_visiteur() 33 * @uses http_no_cache() 34 * @uses html_lang_attributes() 35 * @uses compacte() si le plugin compresseur est présent 36 * @uses url_absolue_css() 37 * 38 * @param string $titre 39 * Titre. `AUTO`, indique que l'on est dans le processus d'installation de SPIP 40 * @param string $onLoad 41 * Attributs pour la balise `<body>` 42 * @param bool $all_inline 43 * Inliner les css et js dans la page (limiter le nombre de hits) 44 * @return string 45 * Code HTML 46 */ 47 function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) { 24 48 global $spip_lang_right,$spip_lang_left; 25 49 … … 28 52 http_no_cache(); 29 53 30 if ($titre=='AUTO') 54 if ($titre=='AUTO') { 31 55 $titre=_T('info_installation_systeme_publication'); 56 } 32 57 33 58 # le charset est en utf-8, pour recuperer le nom comme il faut 34 59 # lors de l'installation 35 if (!headers_sent()) 60 if (!headers_sent()) { 36 61 header('Content-Type: text/html; charset=utf-8'); 37 62 } 63 64 $css = ""; 65 $files = array('reset.css','clear.css','minipres.css'); 66 if ($all_inline){ 67 // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) 68 foreach ($files as $name){ 69 $file = direction_css(find_in_theme($name)); 70 if (function_exists("compacte")) { 71 $file = compacte($file); 72 } else { 73 $file = url_absolue_css($file); // precaution 74 } 75 lire_fichier($file,$c); 76 $css .= $c; 77 } 78 $css = "<style type='text/css'>".$css."</style>"; 79 } 80 else{ 81 foreach ($files as $name){ 82 $file = direction_css(find_in_theme($name)); 83 $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n"; 84 } 85 } 86 38 87 // au cas ou minipres() est appele avant spip_initialisation_suite() 39 88 if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', ''); … … 43 92 "<title>". 44 93 textebrut($titre). 45 "</title> 46 <link rel='stylesheet' href='".direction_css(find_in_theme('reset.css'))."' type='text/css' />\n" . 47 "<link rel='stylesheet' href='".direction_css(find_in_theme('clear.css'))."' type='text/css' />\n" . 48 "<link rel='stylesheet' href='".direction_css(find_in_theme('minipres.css'))."' type='text/css' />\n" . 49 // cet appel permet d'assurer un copier-coller du nom du repertoire a creer dans tmp (esj) 50 http_script('', "spip_barre.js") . 94 "</title>\n". 95 "<meta name='viewport' content='width=device-width' />\n". 96 $css . 51 97 "</head> 52 98 <body".$onLoad." class='minipres'> … … 58 104 } 59 105 60 // http://code.spip.net/@install_fin_html 106 /** 107 * Retourne la fin d'une page HTML minimale (de type installation ou erreur) 108 * 109 * @return string Code HTML 110 */ 61 111 function install_fin_html() { 62 112 if (!_request('exec')=='install' && _DEBUG_MINIPRES) { … … 68 118 } 69 119 70 // http://code.spip.net/@minipres 71 function minipres($titre='', $corps="", $onload='') 72 { 120 121 /** 122 * Retourne une page HTML contenant, dans une présentation minimale, 123 * le contenu transmis dans `$titre` et `$corps`. 124 * 125 * Appelée pour afficher un message d’erreur (l’utilisateur n’a pas 126 * accès à cette page par exemple). 127 * 128 * Lorsqu’aucun argument n’est transmis, un header 403 est renvoyé, 129 * ainsi qu’un message indiquant une interdiction d’accès. 130 * 131 * @example 132 * ``` 133 * include_spip('inc/minipres'); 134 * if (!autoriser('configurer')) { 135 * echo minipres(); 136 * exit; 137 * } 138 * ``` 139 * @uses install_debut_html() 140 * @uses install_fin_html() 141 * 142 * @param string $titre 143 * Titre de la page 144 * @param string $corps 145 * Corps de la page 146 * @param array $options 147 * string onload : Attribut onload de `<body>` 148 * bool all_inline : Inliner les css et js dans la page (limiter le nombre de hits) 149 * int status : status de la page 150 * @return string 151 * HTML de la page 152 */ 153 function minipres($titre = '', $corps = "", $options = array()){ 154 155 // compat signature old 156 // minipres($titre='', $corps="", $onload='', $all_inline = false) 157 $args = func_get_args(); 158 if (isset($args[2]) AND is_string($args[2])){$options = array('onload' => $args[2]);} 159 if (isset($args[3])) {$options['all_inline'] = $args[3];} 160 161 $options = array_merge(array( 162 'onload' => '', 163 'all_inline' => false, 164 ),$options); 165 73 166 if (!defined('_AJAX')) define('_AJAX', false); // par securite 74 167 if (!$titre) { 75 if (! _AJAX)76 http_status(403);168 if (!isset($options['status'])) 169 $options['status'] = 403; 77 170 if (!$titre = _request('action') 78 171 AND !$titre = _request('exec') … … 80 173 $titre = '?'; 81 174 82 $titre = htmlspecialchars($titre);175 $titre = spip_htmlspecialchars($titre); 83 176 84 177 $titre = ($titre == 'install') 85 178 ? _T('avis_espace_interdit') 86 179 : $titre . ' : '. _T('info_acces_interdit'); 180 181 $statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : ''; 182 $nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : ''; 183 87 184 $corps = generer_form_ecrire('accueil', '','', 88 $ GLOBALS['visiteur_session']['statut']?_T('public:accueil_site'):_T('public:lien_connecter')185 $statut ? _T('public:accueil_site') : _T('public:lien_connecter') 89 186 ); 90 spip_log($GLOBALS['visiteur_session']['nom'] . " $titre " . $_SERVER['REQUEST_URI']); 91 } 92 93 if (!_AJAX) 94 return install_debut_html($titre, $onload) 187 spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); 188 } 189 190 if (!_AJAX){ 191 if (isset($options['status'])) 192 http_status($options['status']); 193 return install_debut_html($titre, $options['onload'], $options['all_inline']) 95 194 . $corps 96 195 . install_fin_html(); 196 } 97 197 else { 98 198 include_spip('inc/headers');
Note: See TracChangeset
for help on using the changeset viewer.