7b507b9d4adc4c11790e5517d0f3b93b685d33ac
[lhc/web/clavette_www.git] / www / ecrire / inc / minipres.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
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 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 include_spip('inc/headers');
16 include_spip('inc/texte'); //inclue inc/lang et inc/filtres
17
18 //
19 // Presentation des pages d'installation et d'erreurs
20 //
21
22 /**
23 * http://doc.spip.org/@install_debut_html
24 *
25 * @param string $titre
26 * @param string $onLoad
27 * @param bool $all_inline
28 * inliner les css et js dans la page (limiter le nombre de hits)
29 * @return string
30 */
31 function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) {
32 global $spip_lang_right,$spip_lang_left;
33
34 utiliser_langue_visiteur();
35
36 http_no_cache();
37
38 if ($titre=='AUTO')
39 $titre=_T('info_installation_systeme_publication');
40
41 # le charset est en utf-8, pour recuperer le nom comme il faut
42 # lors de l'installation
43 if (!headers_sent())
44 header('Content-Type: text/html; charset=utf-8');
45
46 $css = "";
47 $files = array('reset.css','clear.css','minipres.css');
48 if ($all_inline){
49 // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande)
50 foreach ($files as $name){
51 $file = direction_css(find_in_theme($name));
52 if (function_exists("compacte"))
53 $file = compacte($file);
54 else
55 $file = url_absolue_css($file); // precaution
56 lire_fichier($file,$c);
57 $css .= $c;
58 }
59 $css = "<style type='text/css'>".$css."</style>";
60 }
61 else{
62 foreach ($files as $name){
63 $file = direction_css(find_in_theme($name));
64 $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n";
65 }
66 }
67
68 // au cas ou minipres() est appele avant spip_initialisation_suite()
69 if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', '');
70 return _DOCTYPE_ECRIRE.
71 html_lang_attributes().
72 "<head>\n".
73 "<title>".
74 textebrut($titre).
75 "</title>\n".
76 "<meta name='viewport' content='width=device-width' />\n".
77 $css .
78 "</head>
79 <body".$onLoad." class='minipres'>
80 <div id='minipres'>
81 <h1>".
82 $titre .
83 "</h1>
84 <div>\n";
85 }
86
87 // http://doc.spip.org/@install_fin_html
88 function install_fin_html() {
89 return "\n\t</div>\n\t</div>\n</body>\n</html>";
90 }
91
92
93 /**
94 * http://doc.spip.org/@minipres
95 *
96 * @param string $titre
97 * titre de la page
98 * @param string $corps
99 * corps de la page
100 * @param string $onload
101 * attribut onload de <body>
102 * @param bool $all_inline
103 * inliner les css et js dans la page (limiter le nombre de hits)
104 * @return string
105 */
106 function minipres($titre='', $corps="", $onload='', $all_inline = false)
107 {
108 if (!defined('_AJAX')) define('_AJAX', false); // par securite
109 if (!$titre) {
110 if (!_AJAX)
111 http_status(403);
112 if (!$titre = _request('action')
113 AND !$titre = _request('exec')
114 AND !$titre = _request('page'))
115 $titre = '?';
116
117 $titre = spip_htmlspecialchars($titre);
118
119 $titre = ($titre == 'install')
120 ? _T('avis_espace_interdit')
121 : $titre . '&nbsp;: '. _T('info_acces_interdit');
122 $corps = generer_form_ecrire('accueil', '','',
123 $GLOBALS['visiteur_session']['statut']?_T('public:accueil_site'):_T('public:lien_connecter')
124 );
125 spip_log($GLOBALS['visiteur_session']['nom'] . " $titre " . $_SERVER['REQUEST_URI']);
126 }
127
128 if (!_AJAX)
129 return install_debut_html($titre, $onload, $all_inline)
130 . $corps
131 . install_fin_html();
132 else {
133 include_spip('inc/headers');
134 include_spip('inc/actions');
135 $url = self('&',true);
136 foreach ($_POST as $v => $c)
137 $url = parametre_url($url, $v, $c, '&');
138 ajax_retour("<div>".$titre . redirige_formulaire($url)."</div>",false);
139 }
140 }
141 ?>