` * @param bool $all_inline * Inliner les css et js dans la page (limiter le nombre de hits) * @return string * Code HTML */ function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) { utiliser_langue_visiteur(); http_no_cache(); if ($titre == 'AUTO') { $titre = _T('info_installation_systeme_publication'); } # le charset est en utf-8, pour recuperer le nom comme il faut # lors de l'installation if (!headers_sent()) { header('Content-Type: text/html; charset=utf-8'); } $css = ""; $files = array('reset.css', 'clear.css', 'minipres.css'); if ($all_inline) { // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) foreach ($files as $name) { $file = direction_css(find_in_theme($name)); if (function_exists("compacte")) { $file = compacte($file); } else { $file = url_absolue_css($file); // precaution } lire_fichier($file, $c); $css .= $c; } $css = ""; } else { foreach ($files as $name) { $file = direction_css(find_in_theme($name)); $css .= "\n"; } } // au cas ou minipres() est appele avant spip_initialisation_suite() if (!defined('_DOCTYPE_ECRIRE')) { define('_DOCTYPE_ECRIRE', ''); } return _DOCTYPE_ECRIRE . html_lang_attributes() . "\n" . "" . textebrut($titre) . "\n" . "\n" . $css . "

" . $titre . "

\n"; } /** * Retourne la fin d'une page HTML minimale (de type installation ou erreur) * * @return string Code HTML */ function install_fin_html() { return "\n\t
\n\t
\n\n"; } /** * Retourne une page HTML contenant, dans une présentation minimale, * le contenu transmis dans `$titre` et `$corps`. * * Appelée pour afficher un message d’erreur (l’utilisateur n’a pas * accès à cette page par exemple). * * Lorsqu’aucun argument n’est transmis, un header 403 est renvoyé, * ainsi qu’un message indiquant une interdiction d’accès. * * @example * ``` * include_spip('inc/minipres'); * if (!autoriser('configurer')) { * echo minipres(); * exit; * } * ``` * @uses install_debut_html() * @uses install_fin_html() * * @param string $titre * Titre de la page * @param string $corps * Corps de la page * @param array $options * string onload : Attribut onload de `` * bool all_inline : Inliner les css et js dans la page (limiter le nombre de hits) * int status : status de la page * @return string * HTML de la page */ function minipres($titre = '', $corps = "", $options = array()) { // compat signature old // minipres($titre='', $corps="", $onload='', $all_inline = false) $args = func_get_args(); if (isset($args[2]) and is_string($args[2])) { $options = array('onload' => $args[2]); } if (isset($args[3])) { $options['all_inline'] = $args[3]; } $options = array_merge(array( 'onload' => '', 'all_inline' => false, ), $options); if (!defined('_AJAX')) { define('_AJAX', false); } // par securite if (!$titre) { if (!isset($options['status'])) { $options['status'] = 403; } if (!$titre = _request('action') and !$titre = _request('exec') and !$titre = _request('page') ) { $titre = '?'; } $titre = spip_htmlspecialchars($titre); $titre = ($titre == 'install') ? _T('avis_espace_interdit') : $titre . ' : ' . _T('info_acces_interdit'); $statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : ''; $nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : ''; if ($statut != '0minirezo') { $titre = _T('info_acces_interdit'); } $corps = generer_form_ecrire('accueil', '', '', $statut ? _T('public:accueil_site') : _T('public:lien_connecter') ); spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); } if (!_AJAX) { if (isset($options['status'])) { http_status($options['status']); } return install_debut_html($titre, $options['onload'], $options['all_inline']) . $corps . install_fin_html(); } else { include_spip('inc/headers'); include_spip('inc/actions'); $url = self('&', true); foreach ($_POST as $v => $c) { $url = parametre_url($url, $v, $c, '&'); } ajax_retour("
" . $titre . redirige_formulaire($url) . "
", false); } }