function install_debut_html($titre = 'AUTO', $onLoad = '') { global $spip_lang_right,$spip_lang_left; 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'); // au cas ou minipres() est appele avant spip_initialisation_suite() if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', ''); return _DOCTYPE_ECRIRE. html_lang_attributes(). "<head>\n". "<title>". textebrut($titre). "</title> <link rel='stylesheet' href='".direction_css(find_in_path('minipres.css')). "' type='text/css' media='all' />\n" . // cet appel permet d'assurer un copier-coller du nom du repertoire a creer dans tmp (esj) http_script('', "spip_barre.js") . "</head> <body".$onLoad." class='minipres'> <div id='minipres'> <h1>". $titre . "</h1> <div>\n"; }
/** * Débute une page HTML pour l'espace privé * * Préferer l'usage des squelettes prive/squelettes/. * * @uses init_entete() * @uses init_body() * @example * ``` * $commencer_page = charger_fonction('commencer_page','inc'); * echo $commencer_page($titre); * ``` * * @param string $titre Titre de la page * @param string $rubrique ? * @param string $sous_rubrique ? * @param string $id_rubrique ? * @param bool $menu ? * @param bool $minipres ? * @param bool $alertes ? * @return string Code HTML **/ function inc_commencer_page_dist($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $id_rubrique = "", $menu = true, $minipres = false, $alertes = true) { global $connect_id_auteur; include_spip('inc/headers'); http_no_cache(); return init_entete($titre, $id_rubrique, $minipres) . init_body($rubrique, $sous_rubrique, $id_rubrique, $menu) . "<div id='page'>" . auteurs_recemment_connectes($connect_id_auteur) . ($alertes ? alertes_auteur($connect_id_auteur) : '') . '<div class="largeur">'; }
function inc_commencer_page_dist($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $id_rubrique = "") { include_spip('inc/headers'); http_no_cache(); return init_entete($titre, $id_rubrique) . init_body($rubrique, $sous_rubrique, $id_rubrique) . "<div id='page' align='center'>" . avertissement_messagerie() . ((($rubrique == "messagerie") OR (_request('changer_config')!="oui")) ? auteurs_recemment_connectes() : ''); }
function exec_charger_description_outil_dist() { cs_log("INIT : exec_charger_description_outil_dist() - Preparation du retour par Ajax sur div#cs_infos"); cs_minipres(); if ($outil_id=_request('outil')) { include_spip('inc/headers'); http_no_cache(); include_spip('inc/cs_outils'); echo '<div id="cs_infos" class="cs_infos">'.description_outil2($outil_id).'</div>'; } cs_log(" FIN : exec_charger_description_outil_dist()"); }
/** * http://doc.spip.org/@install_debut_html * * @param string $titre * @param string $onLoad * @param bool $all_inline * inliner les css et js dans la page (limiter le nombre de hits) * @return string */ function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) { global $spip_lang_right, $spip_lang_left; 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 = "<style type='text/css'>" . $css . "</style>"; } else { foreach ($files as $name) { $file = direction_css(find_in_theme($name)); $css .= "<link rel='stylesheet' href='{$file}' type='text/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() . "<head>\n" . "<title>" . textebrut($titre) . "</title>\n" . "<meta name='viewport' content='width=device-width' />\n" . $css . "</head>\n<body" . $onLoad . " class='minipres'>\n\t<div id='minipres'>\n\t<h1>" . $titre . "</h1>\n\t<div>\n"; }
/** * Point d'entrée pour les erreurs de compilation * * Point d'entrée pour les appels involontaires ($message non vide => erreur) * et volontaires (var_mode et var_profile) * * Si pas d'autorisation, les erreurs ne sont pas affichées * (mais seront dans les logs) * * Si l'erreur vient de SPIP, en parler sur `spip@rezo.net` * * @param bool|string|array $message * - Message d'erreur (string|array) * - false pour retourner le texte des messages d'erreurs * - vide pour afficher les messages d'erreurs * @param string|Contexte $lieu * Contexte : lieu d'origine de l'erreur * @param array $opt * Options pour debug ou tests unitaires * - 'erreurs' = 'get' : Retourne le tableau des erreurs * - 'erreurs' = 'reset' : Efface le tableau des erreurs * @return null|string * - string si $message à false. **/ function public_debusquer_dist($message = '', $lieu = '', $opt = array()) { global $visiteur_session; global $debug_objets; static $tableau_des_erreurs = array(); // Pour des tests unitaires, pouvoir récupérer les erreurs générées if (isset($opt['erreurs'])) { if ($opt['erreurs'] == 'get') { return $tableau_des_erreurs; } if ($opt['erreurs'] == 'reset') { $tableau_des_erreurs = array(); return true; } } // Erreur ou appel final ? if ($message) { $message = debusquer_compose_message($message); $tableau_des_erreurs[] = array($message, $lieu); set_request('var_mode', 'debug'); $GLOBALS['bouton_admin_debug'] = true; // Permettre a la compil de continuer if (is_object($lieu) and (!isset($lieu->code) or !$lieu->code)) { $lieu->code = "''"; } // forcer l'appel au debusqueur en cas de boucles infernales $urgence = (_DEBUG_MAX_SQUELETTE_ERREURS and count($tableau_des_erreurs) > _DEBUG_MAX_SQUELETTE_ERREURS); if (!$urgence) { return; } } if (empty($debug_objets['principal'])) { // espace public ? if (isset($GLOBALS['fond'])) { $debug_objets['principal'] = $GLOBALS['fond']; } } include_spip('inc/autoriser'); if (!autoriser('debug')) { return; } include_spip('inc/headers'); include_spip('inc/filtres'); // en cas de squelette inclus, virer le code de l'incluant: // - il contient souvent une Div restreignant la largeur a 3 fois rien // - ca fait 2 headers ! // sauf si l'on se trouve deja dans un flux compresse (plugin compresseur // actif par exemple) if (ob_get_length() and !in_array('ob_gzhandler', ob_get_status())) { ob_end_clean(); } lang_select($visiteur_session['lang']); $fonc = _request('var_mode_objet'); $mode = _request('var_mode_affiche'); $self = str_replace("\\'", ''', self()); $self = parametre_url($self, 'var_mode', 'debug'); $res = debusquer_bandeau($tableau_des_erreurs) . '<br />' . debusquer_squelette($fonc, $mode, $self); if (!_DIR_RESTREINT or headers_sent()) { return $res; } if ($tableau_des_erreurs) { http_status(503); } http_no_cache(); if (isset($_GET['var_profile'])) { $titre = parametre_url($GLOBALS['REQUEST_URI'], 'var_profile', ''); $titre = parametre_url($titre, 'var_mode', ''); } else { if (!$fonc) { $fonc = $debug_objets['principal']; } $titre = !$mode ? $fonc : $mode . (isset($debug_objets['sourcefile'][$fonc]) ? " " . $debug_objets['sourcefile'][$fonc] : ""); } if ($message === false) { lang_select(); return debusquer_entete($titre, $res); } else { echo debusquer_entete($titre, $res); } exit; }
function exec_brouteur_frame_dist() { global $connect_id_auteur, $spip_ecran, $spip_lang_left; $id_rubrique = is_numeric(_request('rubrique')) ? intval(_request('rubrique')) : ""; $frame = _request('frame'); $effacer_suivant = _request('effacer_suivant'); $special = _request('special'); $peutpub = autoriser('publierdans','rubrique'); include_spip('inc/headers'); http_no_cache(); $profile = _request('var_profile') ? "&var_profile=1" : ''; echo _DOCTYPE_ECRIRE . html_lang_attributes() . pipeline('header_prive', "<head>\n" . "<title>brouteur_frame</title>\n" . "<meta http-equiv='Content-Type' content='text/html" . (($c = $GLOBALS['meta']['charset']) ? "; charset=$c" : '') . "' />\n" . envoi_link(_T('info_mon_site_spip')) . http_script('jQuery(function(){ jQuery("a.iframe").click(function(){ window.open(this.href,"iframe"+this.rel); return false; }); });') . "</head>\n") ."<body>"; if ($spip_ecran == "large") { $nb_col = 4; } else { $nb_col = 3; } if ($effacer_suivant == "oui" && $frame < $nb_col) { $res = ''; for ($i = $frame+1; $i < $nb_col; $i++) { $res .= "\nparent.iframe$i.location.href='" . generer_url_ecrire('brouteur_frame',"frame=$i$profile") . "'"; } echo http_script($res); } echo "\n<div class='arial2'>"; if ($special == "redac") { $result=sql_select("articles.id_article, articles.id_rubrique, articles.titre, articles.statut", "spip_articles AS articles LEFT JOIN spip_auteurs_articles AS lien ON articles.id_article=lien.id_article", "articles.statut = 'prepa' AND lien.id_auteur = $connect_id_auteur ", " id_article ", " articles.date DESC"); $res = ''; while($row=sql_fetch($result)){ $id_article=$row['id_article']; if (autoriser('voir','article',$id_article)){ $titre = typo($row['titre']); $statut = $row['statut']; $h = generer_url_ecrire('articles',"id_article=$id_article"); $res .= "<a class='$statut'\nhref='javascript:window.parent.location=\"$h\"'>$titre</a>"; } } if ($res) { echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T("info_cours_edition")."</b></div>"; echo "\n<div class='plan-articles'>", $res, "</div>"; } } else if ($special == "valider") { $result=sql_select("id_article, id_rubrique, titre, statut", "spip_articles", "statut = 'prop'", "", "date DESC"); $res = ''; while($row=sql_fetch($result)){ $id_article=$row['id_article']; if (autoriser('voir','article',$id_article)){ $titre = typo($row['titre']); $statut = $row['statut']; $h = generer_url_ecrire('articles',"id_article=$id_article"); $res .= "<a class='$statut' href='javascript:window.parent.location=\"$h\"'>$titre</a>"; } } if ($res) { echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T("info_articles_proposes")."</b></div>"; echo "\n<div class='plan-articles'>", $res, "</div>"; } $result=sql_select("*", "spip_breves", "statut = 'prop'", "", "date_heure DESC", "20"); $res = ''; while($row=sql_fetch($result)){ $id_breve=$row['id_breve']; if (autoriser('voir','breve',$id_breve)){ $titre = typo($row['titre']); $statut = $row['statut']; $h = generer_url_ecrire('breves_voir',"id_breve=$id_breve"); $res .= "<a class='$statut' href='javascript:window.parent.location=\"$h\"'>$titre</a>"; } } if ($res) { echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T("info_breves_valider")."</b></div>"; echo "\n<div class='plan-articles'>", $res, "</div>"; } } else { if ($id_rubrique !== "" AND autoriser('voir','rubrique',$id_rubrique)) { $row = sql_fetsel("id_rubrique, titre, id_parent", "spip_rubriques", "id_rubrique=$id_rubrique",'', '0+titre,titre'); if ($row){ $titre = typo($row['titre']); $id_parent=$row['id_parent']; if ($id_parent == 0) $icone = "secteur-24.gif"; else $icone = "rubrique-24.gif"; echo "\n<div style='background-color: #cccccc; border: 1px solid #444444;'>"; echo icone_horizontale($titre, "javascript:window.parent.location=\"" . generer_url_ecrire('naviguer',"id_rubrique=$id_rubrique") .'"', $icone, "", false); echo "</div>"; } else if ($frame == 0) { echo "\n<div style='background-color: #cccccc; border: 1px solid #444444;'>"; echo icone_horizontale(_T('info_racine_site'), "javascript:window.parent.location=\"" . generer_url_ecrire('naviguer') . '"', "racine-site-24.gif","", false); echo "</div>"; } $result = sql_select("id_rubrique, titre, id_parent", "spip_rubriques", "id_parent=$id_rubrique",'', '0+titre,titre'); while($row=sql_fetch($result)){ $ze_rubrique=$row['id_rubrique']; if (autoriser('voir','rubrique',$ze_rubrique)){ $titre = typo($row['titre']); $id_parent=$row['id_parent']; echo "\n<div class='brouteur_rubrique' onmouseover=\"changeclass(this, 'brouteur_rubrique_on');\" onmouseout=\"changeclass(this, 'brouteur_rubrique');\">"; if ($id_parent == '0') { echo "\n<div style='", frame_background_image("secteur-24.gif"), ";'><a href='", generer_url_ecrire('brouteur_frame', "rubrique=$ze_rubrique&frame=".($frame+1)."&effacer_suivant=oui$profile"), "' class='iframe' rel='", ($frame+1), "'>", $titre, "</a></div>"; } else { if ($frame+1 < $nb_col) echo "\n<div style='", frame_background_image("rubrique-24.gif"), ";'><a href='", generer_url_ecrire('brouteur_frame', "rubrique=$ze_rubrique&frame=".($frame+1)."&effacer_suivant=oui$profile"), "' class='iframe' rel='", ($frame+1), "'>$titre</a></div>"; else echo "\n<div style='", frame_background_image("rubrique-24.gif"), ";'><a href='javascript:window.parent.location=\"" . generer_url_ecrire('brouteur',"id_rubrique=$ze_rubrique$profile")."\"'>",$titre,"</a></div>"; } echo "</div>\n"; } } if ($id_rubrique > 0) { if ($peutpub) $result = sql_select("id_article, id_rubrique, titre, statut", "spip_articles", "id_rubrique=$id_rubrique", "", "date DESC"); else $result = sql_select("articles.id_article, articles.id_rubrique, articles.titre, articles.statut", "spip_articles AS articles, spip_auteurs_articles AS lien", "articles.id_rubrique=$id_rubrique AND (articles.statut = 'publie' OR articles.statut = 'prop' OR (articles.statut = 'prepa' AND articles.id_article = lien.id_article AND lien.id_auteur = $connect_id_auteur)) ", " id_article ", " articles.date DESC"); $res = ''; while($row=sql_fetch($result)){ $id_article=$row['id_article']; if (autoriser('voir','article',$id_article)){ $titre = typo($row['titre']); $statut = $row['statut']; $h = generer_url_ecrire('articles',"id_article=$id_article"); $res .= "<a class='$statut' href='javascript:window.parent.location=\"$h\"'>$titre</a>"; } } if ($res) { echo "\n<div style='padding-top: 6px; padding-bottom: 3px;'><b class='verdana2'>"._T('info_articles')."</b></div>"; echo "\n<div class='plan-articles'>", $res, "</div>"; } $result=sql_select("*", "spip_breves", "id_rubrique=$id_rubrique", "", "date_heure DESC", "20"); $res = ''; while($row=sql_fetch($result)){ $id_breve=$row['id_breve']; if (autoriser('voir','breve',$id_breve)){ $titre = typo($row['titre']); $statut = $row['statut']; $h = generer_url_ecrire('breves_voir',"id_breve=$id_breve"); $res .= "<a class='$statut' href='javascript:window.parent.location=\"$h\"'>$titre</a>"; } } if ($res) { echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T('info_breves_02')."</b></div>"; echo "\n<div class='plan-articles'>", $res, "</div>"; } $result=sql_select("*", "spip_syndic", "id_rubrique=$id_rubrique AND statut!='refuse'", "", "nom_site"); $res = ''; while($row=sql_fetch($result)){ $id_syndic=$row['id_syndic']; if (autoriser('voir','site',$id_syndic)){ $titre = typo($row['nom_site']); $statut = $row['statut']; $h = generer_url_ecrire('sites',"id_syndic=$id_syndic"); $res .= "\n<div class='brouteur_icone_site'><b><a href='javascript:window.parent.location=\"$h\"'>$titre</a></b></div>"; } } if ($res) echo "\n<div style='padding-top: 6px;'><b class='verdana2'>"._T('icone_sites_references')."</b></div>", $res; } // en derniere colonne, afficher articles et breves if ($frame == 0 AND $id_rubrique==0) { $cpt = sql_fetsel('A.id_article', "spip_auteurs_articles AS A LEFT JOIN spip_articles AS L ON A.id_article = L.id_article", "L.statut = 'prepa' AND A.id_auteur=$connect_id_auteur", "A.id_article"); if ($cpt) { echo "\n<div class='brouteur_icone_article'><b class='verdana2'><a href='", generer_url_ecrire('brouteur_frame', "special=redac&frame=".($frame+1)."&effacer_suivant=oui$profile"), "' class='iframe' rel='",($frame+1),"'>", _T("info_cours_edition"),"</a></b></div>"; } $cpt = sql_countsel("spip_articles AS articles", "articles.statut = 'prop'"); if (!$cpt) $cpt = sql_countsel("spip_breves", "statut = 'prop'"); if ($cpt) echo "\n<div class='brouteur_icone_article'><b class='verdana2'><a href='", generer_url_ecrire('brouteur_frame', "special=valider&frame=".($frame+1)."&effacer_suivant=oui$profile"), "' class='iframe' rel='", ($frame+1)."'>", _T("info_articles_proposes"), " / "._T("info_breves_valider")."</a></b></div>"; } } } echo "</div>"; echo "</body></html>"; }