\n"; } } $texte = $x . $texte; return $texte; } /** * Traiter var_recherche ou le referrer pour surligner les mots * * Surligne les mots de la recherche (si var_recherche est présent) * ou des réferers (si la constante _SURLIGNE_RECHERCHE_REFERERS est * définie à true) dans un texte HTML * * Cette fonction est appelée par le pipeline affichage_final * * @pipeline affichage_final * * @param string $texte Contenu de la page envoyée au navigateur * @return string Contenu de la page envoyée au navigateur **/ function f_surligne($texte) { if (!$GLOBALS['html']) { return $texte; } $rech = _request('var_recherche'); if (!$rech and (!defined('_SURLIGNE_RECHERCHE_REFERERS') or !_SURLIGNE_RECHERCHE_REFERERS or !isset($_SERVER['HTTP_REFERER'])) ) { return $texte; } include_spip('inc/surligne'); if (isset($_SERVER['HTTP_REFERER'])) { $_SERVER['HTTP_REFERER'] = preg_replace(',[^\w\,/#&;:-]+,', ' ', $_SERVER['HTTP_REFERER']); } if ($rech){ $rech = preg_replace(',[^\w\,/#&;:-]+,', ' ', $rech); } return surligner_mots($texte, $rech); } /** * Indente un code HTML * * Indente et valide un code HTML si la globale 'xhtml' est * définie à true. * * Cette fonction est appelée par le pipeline affichage_final * * @pipeline affichage_final * * @param string $texte Contenu de la page envoyée au navigateur * @return string Contenu de la page envoyée au navigateur **/ function f_tidy($texte) { /** * Indentation à faire ? * * - true : actif. * - false par défaut. */ if ($GLOBALS['xhtml'] # tidy demande and $GLOBALS['html'] # verifie que la page avait l'entete text/html and strlen($texte) and !headers_sent() ) { # Compatibilite ascendante if (!is_string($GLOBALS['xhtml'])) { $GLOBALS['xhtml'] = 'tidy'; } if (!$f = charger_fonction($GLOBALS['xhtml'], 'inc', true)) { spip_log("tidy absent, l'indenteur SPIP le remplace"); $f = charger_fonction('sax', 'xml'); } return $f($texte); } return $texte; } /** * Offre `#INSERT_HEAD` sur tous les squelettes (bourrin) * * À activer dans mes_options via : * `$GLOBALS['spip_pipeline']['affichage_final'] .= '|f_insert_head';` * * Ajoute le contenu du pipeline insert head dans la page HTML * si cela n'a pas été fait. * * @pipeline_appel insert_head * * @param string $texte Contenu de la page envoyée au navigateur * @return string Contenu de la page envoyée au navigateur **/ function f_insert_head($texte) { if (!$GLOBALS['html']) { return $texte; } include_spip('public/admin'); // pour strripos ($pos = stripos($texte, '')) || ($pos = stripos($texte, '
')) || ($pos = 0); if (false === strpos(substr($texte, 0, $pos), '')) { $insert = "\n" . pipeline('insert_head', '') . "\n"; $texte = substr_replace($texte, $insert, $pos, 0); } return $texte; } /** * Insérer au besoin les boutons admins * * Cette fonction est appelée par le pipeline affichage_final * * @pipeline affichage_final * @uses affiche_boutons_admin() * * @param string $texte Contenu de la page envoyée au navigateur * @return string Contenu de la page envoyée au navigateur **/ function f_admin($texte) { if (defined('_VAR_PREVIEW') and _VAR_PREVIEW and $GLOBALS['html']) { include_spip('inc/filtres'); // pour http_img_pack $x = "