From 046828e516b0b29f002f406836778a036da6beef Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Fri, 11 Nov 2005 10:02:34 +0000 Subject: [PATCH] permettre aux petits scripts comme iframe de ne pas charger inc_filtres ni d'initialiser des globales inutiles (par deport dans inc_version inc_minipres de qq fonctions indispensables) --- ecrire/articles_tous.php3 | 24 ++++++++++- ecrire/inc.php3 | 46 +++------------------ ecrire/inc_accueil.php | 12 +++--- ecrire/inc_auteur_infos.php | 3 -- ecrire/inc_config.php3 | 1 - ecrire/inc_filtres.php3 | 78 ------------------------------------ ecrire/inc_index.php3 | 1 - ecrire/inc_lang.php3 | 1 - ecrire/inc_layer.php3 | 4 -- ecrire/inc_mail.php3 | 2 - ecrire/inc_meta.php3 | 1 - ecrire/inc_minipres.php | 44 +++++++++++++++++++- ecrire/inc_mots.php3 | 3 -- ecrire/inc_presentation.php3 | 18 ++++++--- ecrire/inc_session.php3 | 1 - ecrire/inc_statistiques.php3 | 1 - ecrire/inc_texte.php3 | 1 - ecrire/inc_version.php3 | 13 ++++++ ecrire/upgrade.php3 | 1 - inc-calcul-outils.php3 | 7 +++- 20 files changed, 108 insertions(+), 154 deletions(-) diff --git a/ecrire/articles_tous.php3 b/ecrire/articles_tous.php3 index c213231c7f..8673012f6d 100644 --- a/ecrire/articles_tous.php3 +++ b/ecrire/articles_tous.php3 @@ -11,13 +11,35 @@ \***************************************************************************/ - include ("inc.php3"); include_ecrire("inc_presentation.php3"); include_ecrire("inc_texte.php3"); include_ecrire("inc_urls.php3"); include_ecrire("inc_rubriques.php3"); +// checkbox avec imgage + +function http_label_img($statut, $etat, $var, $img, $texte) { + return "<label for='$statut'>". + boutonne('checkbox', + $var . '[]', + $statut, + (($etat !== false) ? ' checked="checked"' : '') . + "id='$statut'") . + " " . + http_img_pack($img, $texte, "width='8' height='9' border='0'", $texte) . + " " . + $texte . + "</label><br />"; +} + +// fabrique un bouton de type $t de Name $n, de Value $v et autres attributs $a +function boutonne($t, $n, $v, $a='') { + return "\n<input type='$t'" . + (!$n ? '' : " name='$n'") . + " value=\"$v\" $a />"; +} + if (count($aff_art) > 0) $aff_art = join(',', $aff_art); else $aff_art = 'prop,publie'; diff --git a/ecrire/inc.php3 b/ecrire/inc.php3 index 60c442c9d2..145433056b 100644 --- a/ecrire/inc.php3 +++ b/ecrire/inc.php3 @@ -10,7 +10,6 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ - if (!defined('_ECRIRE_INC_VERSION')) { include ("inc_version.php3"); } @@ -30,12 +29,10 @@ else {spip_log("fonction $var_nom indisponible dans $var_f");exit;} if (!$var_res) exit; - include_ecrire("inc_minipres.php"); // choisit la langue include_ecrire('inc_admin.php3'); include_ecrire('inc_cookie.php'); - // // Preferences de presentation // @@ -49,8 +46,9 @@ if (!$GLOBALS['_COOKIE']['spip_accepte_ajax']) { if ($spip_lang_ecrire = $GLOBALS['_COOKIE']['spip_lang_ecrire'] AND $spip_lang_ecrire <> $auteur_session['lang'] AND changer_langue($spip_lang_ecrire)) { - spip_query ("UPDATE spip_auteurs SET lang = '".addslashes($spip_lang_ecrire) - ."' WHERE id_auteur = $connect_id_auteur"); + spip_query ("UPDATE spip_auteurs SET lang = '". + addslashes($spip_lang_ecrire) . + "' WHERE id_auteur = $connect_id_auteur"); $auteur_session['lang'] = $spip_lang_ecrire; ajouter_session($auteur_session, $spip_session); } @@ -88,7 +86,6 @@ $GLOBALS['couleurs_spip'] = array( "couleur_lien" => "#657701", "couleur_lien_off" => "#A6C113" ), - // Violet clair 2 => array ( "couleur_foncee" => "#eb68b3", @@ -96,7 +93,6 @@ $GLOBALS['couleurs_spip'] = array( "couleur_lien" => "#8F004D", "couleur_lien_off" => "#BE6B97" ), - // Orange 3 => array ( "couleur_foncee" => "#fa9a00", @@ -104,7 +100,6 @@ $GLOBALS['couleurs_spip'] = array( "couleur_lien" => "#FF5B00", "couleur_lien_off" => "#B49280" ), - // Saumon 4 => array ( "couleur_foncee" => "#CDA261", @@ -112,7 +107,6 @@ $GLOBALS['couleurs_spip'] = array( "couleur_lien" => "#AA6A09", "couleur_lien_off" => "#B79562" ), - // Bleu pastel 5 => array ( "couleur_foncee" => "#5da7c5", @@ -120,7 +114,6 @@ $GLOBALS['couleurs_spip'] = array( "couleur_lien" => "#116587", "couleur_lien_off" => "#81B7CD" ), - // Gris 6 => array ( "couleur_foncee" => "#85909A", @@ -134,7 +127,7 @@ $GLOBALS['couleurs_spip'] = array( $options = $prefs['options']; $spip_display = $prefs['display']; $choix_couleur = $prefs['couleur']; -if (strlen($couleurs_spip[$choix_couleur]['couleur_foncee']) < 7) $choix_couleur = 1; +if (!isset($couleurs_spip[$choix_couleur])) $choix_couleur = 1; $couleur_foncee = $couleurs_spip[$choix_couleur]['couleur_foncee']; $couleur_claire = $couleurs_spip[$choix_couleur]['couleur_claire']; @@ -148,38 +141,9 @@ topmargin='0' leftmargin='0' marginwidth='0' marginheight='0' frameborder='0'" . ($spip_lang_rtl ? " dir='rtl'" : ""); // -// Gestion de version +// Gestion de version, sauf si justement on est en train de le faire // if (!isset($reinstall)) if (demande_maj_version()) exit; -// -// Gestion de la configuration globale du site -// - -if (!$adresse_site) { - $nom_site_spip = lire_meta("nom_site"); - $adresse_site = lire_meta("adresse_site"); -} - -if (!$nom_site_spip) { - $nom_site_spip = _T('info_mon_site_spip'); - ecrire_meta("nom_site", $nom_site_spip); - ecrire_metas(); -} - -if (!$adresse_site) { - $adresse_site = "http://$HTTP_HOST".substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/ecrire")); - ecrire_meta("adresse_site", $adresse_site); - ecrire_metas(); -} - - - -// -// Recuperation du cookie -// - -$cookie_admin = $_COOKIE['spip_admin']; - ?> diff --git a/ecrire/inc_accueil.php b/ecrire/inc_accueil.php index bee711b35e..ca44ffc66a 100644 --- a/ecrire/inc_accueil.php +++ b/ecrire/inc_accueil.php @@ -110,7 +110,7 @@ function colonne_gauche_accueil($id_rubrique, $activer_breves, { global $spip_display, $connect_statut, $connect_toutes_rubriques, - $connect_id_auteur, $cookie_admin, $connect_login; + $connect_id_auteur, $connect_login; // @@ -211,7 +211,7 @@ if ($spip_display == 4) { // if ($connect_statut == "0minirezo" AND $spip_display != 4) { - if (!$cookie_admin) { + if (!$_COOKIE['spip_admin']) { $gadget .= "<div> </div>". "<table width=95%><tr>". "<td width=100%>". @@ -239,7 +239,7 @@ echo "<div> </div>"; function personnel_accueil() { global $spip_display, $spip_lang_left, $connect_id_auteur, $connect_id_rubrique, -$connect_nom, $connect_statut, $cookie_admin, $partie_cal, $echelle; +$connect_nom, $connect_statut, $partie_cal, $echelle; if ($spip_display != 4) { @@ -278,7 +278,7 @@ if ($spip_display != 4) { // Supprimer le cookie, se deconnecter... // - if ($cookie_admin) { + if ($_COOKIE['spip_admin']) { $texte = _T('icone_supprimer_cookie'); if ($spip_display != 1) $texte .= aide("cookie"); icone_horizontale( $texte , "../spip_cookie.php3?cookie_admin=non&url=".rawurlencode(_DIR_RESTREINT_ABS), "cookie-24.gif", ""); @@ -291,12 +291,12 @@ if ($spip_display != 4) { function etat_base_accueil() { - global $spip_display, $spip_lang_left, $connect_id_auteur, $connect_nom, $connect_statut, $cookie_admin, $partie_cal, $echelle; + global $spip_display, $spip_lang_left, $connect_id_auteur, $connect_nom, $connect_statut, $partie_cal, $echelle; if ($spip_display != 4) { $nom_site_spip = propre(lire_meta("nom_site")); - if (!$nom_site_spip) $nom_site_spip="SPIP"; + if (!$nom_site_spip) $nom_site_spip= _T('info_mon_site_spip'); echo "\n<div> </div>"; diff --git a/ecrire/inc_auteur_infos.php b/ecrire/inc_auteur_infos.php index bda26a80c6..82d6caa279 100644 --- a/ecrire/inc_auteur_infos.php +++ b/ecrire/inc_auteur_infos.php @@ -12,13 +12,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_ecrire("inc_presentation.php3"); -include_ecrire("inc_texte.php3"); include_ecrire("inc_urls.php3"); include_ecrire("inc_rubriques.php3"); include_ecrire ("inc_acces.php3"); include_ecrire ("inc_logos.php3"); -include_ecrire ("inc_session.php3"); -include_ecrire ("inc_filtres.php3"); include_ecrire ("inc_abstract_sql.php3"); function affiche_auteur_info_dist($id_auteur, $auteur, $echec, $redirect, $ajouter_id_article) diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3 index ede84265e2..7580bc2253 100644 --- a/ecrire/inc_config.php3 +++ b/ecrire/inc_config.php3 @@ -16,7 +16,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_ecrire ("inc_meta.php3"); include_ecrire ("inc_admin.php3"); -include_ecrire ("inc_mail.php3"); // // Appliquer les valeurs par defaut pour les options non initialisees diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3 index 8c739ee67b..f50547b747 100644 --- a/ecrire/inc_filtres.php3 +++ b/ecrire/inc_filtres.php3 @@ -15,13 +15,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; -// Transforme n'importe quel champ en une chaine utilisable -// en PHP ou Javascript en toute securite -// < ? php $x = '[(#TEXTE|texte_script)]'; ? > -function texte_script($texte) { - return str_replace('\'', '\\\'', str_replace('\\', '\\\\', $texte)); -} - // Echappement des entites HTML avec correction des entites "brutes" // (generees par les butineurs lorsqu'on rentre des caracteres n'appartenant // pas au charset de la page [iso-8859-1 par defaut]) @@ -172,53 +165,6 @@ function liens_ouvrants ($texte) { "<a \\1 target=\"_blank\">", $texte); } -// Fabrique une balise A, avec un href conforme au validateur W3C -// attention au cas ou la href est du Javascript avec des "'" - -function http_href($href, $clic, $title='', $style='', $class='', $evt='') { - return '<a href="' . - str_replace('&', '&', $href) . - '"' . - (!$title ? '' : ("\ntitle=\"" . supprimer_tags($title)."\"")) . - (!$style ? '' : ("\nstyle=\"" . $style . "\"")) . - (!$class ? '' : ("\nclass=\"" . $class . "\"")) . - ($evt ? "\n$evt" : '') . - '>' . - $clic . - '</a>'; -} - -// produit une balise img avec un champ alt d'office si vide -// attention le htmlentities et la traduction doivent etre appliques avant. - -function http_img_pack($img, $alt, $att, $title='') { - return "<img src='" . _DIR_IMG_PACK . $img - . ("'\nalt=\"" . - ($alt ? $alt : ($title ? $title : ereg_replace('\..*$','',$img))) - . '" ') - . ($title ? " title=\"$title\"" : '') - . $att . " />"; -} - -// variante avec un label et un checkbox - -function http_label_img($statut, $etat, $var, $img, $texte) { - return "<label for='$statut'>". - "<input type='checkbox' " . - (($etat !== false) ? ' checked="checked"' : '') . - " name='$var" . - "[]' value='$statut' id='$statut'> " . - http_img_pack($img, $texte, "width='8' height='9' border='0'", $texte) . - " " . - $texte . - "</label><br />"; -} - -function http_href_img($href, $img, $att, $title='', $style='', $class='', $evt='') { - return http_href($href, http_img_pack($img, $title, $att), $title, $style, $class, $evt); -} - - // Transformer les sauts de paragraphe en simples passages a la ligne function PtoBR($texte){ $texte = eregi_replace("</p>", "\n", $texte); @@ -1679,23 +1625,6 @@ function vider_attribut ($balise, $attribut) { return inserer_attribut($balise, $attribut, '', false, true); } -// fabrique un bouton de type $t de Name $n, de Value $v et autres attributs $a -# a placer ailleurs que dans inc_filtres -function boutonne($t, $n, $v, $a='') { - return "\n<input type='$t'" . - (!$n ? '' : " name='$n'") . - " value=\"$v\" $a />"; -} - -function http_script($script, $src='', $noscript='') { - return '<script type="text/javascript"' - . ($src ? " src=\"$src\"" : '') - . ">" - . ($script ? "<!--\n$script\n//-->" : '') - . "</script>\n" - . (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n"); -} - // Un filtre ad hoc, qui retourne ce qu'il faut pour les tests de config // dans les squelettes : [(#URL_SITE_SPIP|tester_config{quoi})] @@ -1715,13 +1644,6 @@ function tester_config($ignore, $quoi) { } } -// transformation XML des "&" en "&" -function quote_amp($u) { - return preg_replace( - "/&(?![a-z]{0,4}\w{2,3};|#x?[0-9a-f]{2,5};)/i", - "&",$u); -} - // // Un filtre qui, etant donne un #PARAMETRES_FORUM, retourne un URL de suivi rss // dudit forum diff --git a/ecrire/inc_index.php3 b/ecrire/inc_index.php3 index bea53f2c2b..d76d23c077 100644 --- a/ecrire/inc_index.php3 +++ b/ecrire/inc_index.php3 @@ -215,7 +215,6 @@ function indexer_objet($type, $id_objet, $forcer_reset = true) { spip_query("UPDATE $table SET idx='idx' WHERE $col_id=$id_objet"); include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); spip_log("indexation $type $id_objet"); $index = ''; diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3 index b7b1da9f99..e545f01592 100644 --- a/ecrire/inc_lang.php3 +++ b/ecrire/inc_lang.php3 @@ -243,7 +243,6 @@ function lang_dselect ($rien='') { // function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $herit = '', $lien='') { global $couleur_foncee, $connect_id_auteur; - include_ecrire('inc_filtres.php3'); $ret = liste_options_langues($nom_select, $default, $herit); diff --git a/ecrire/inc_layer.php3 b/ecrire/inc_layer.php3 index 9a82e8c8a5..45072ec057 100644 --- a/ecrire/inc_layer.php3 +++ b/ecrire/inc_layer.php3 @@ -12,10 +12,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; - include_ecrire ("inc_filtres.php3"); # pour http_script (normalement déjà fait) - - - function debut_block_visible($nom_block){ global $numero_block, $compteur_block, $browser_layer; if (!$browser_layer) return ''; diff --git a/ecrire/inc_mail.php3 b/ecrire/inc_mail.php3 index 352cc1051e..16e37a0399 100644 --- a/ecrire/inc_mail.php3 +++ b/ecrire/inc_mail.php3 @@ -95,7 +95,6 @@ function nettoyer_caracteres_mail($t) { function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { global $hebergeur, $queue_mails; - include_ecrire('inc_filtres.php3'); include_ecrire('inc_charsets.php3'); if (!email_valide($email)) return false; @@ -166,7 +165,6 @@ function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { function extrait_article($row) { include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); $adresse_site = lire_meta("adresse_site"); diff --git a/ecrire/inc_meta.php3 b/ecrire/inc_meta.php3 index 931a935bf9..d9b4b89dcf 100644 --- a/ecrire/inc_meta.php3 +++ b/ecrire/inc_meta.php3 @@ -42,7 +42,6 @@ function effacer_meta($nom) { // function ecrire_metas() { global $meta; - include_ecrire('inc_filtres.php3'); # pour texte_script lire_metas(); diff --git a/ecrire/inc_minipres.php b/ecrire/inc_minipres.php index fe43eee66e..3f5c7835fb 100644 --- a/ecrire/inc_minipres.php +++ b/ecrire/inc_minipres.php @@ -14,11 +14,9 @@ // if (!defined("_ECRIRE_INC_VERSION")) return; -include_ecrire ("inc_filtres.php3"); # pour les fonctions http_* (normalement deja la) include_ecrire ("inc_lang.php3"); utiliser_langue_visiteur(); - // // Presentation des pages d'installation et d'erreurs // @@ -113,4 +111,46 @@ function afficher_bouton_preview() { . http_img_pack('naviguer-site.png', $x, '') ." $x</div>"; } + +// Fabrique une balise A, avec un href conforme au validateur W3C +// attention au cas ou la href est du Javascript avec des "'" + +function http_href($href, $clic, $title='', $style='', $class='', $evt='') { + return '<a href="' . + str_replace('&', '&', $href) . + '"' . + (!$title ? '' : ("\ntitle=\"" . supprimer_tags($title)."\"")) . + (!$style ? '' : ("\nstyle=\"" . $style . "\"")) . + (!$class ? '' : ("\nclass=\"" . $class . "\"")) . + ($evt ? "\n$evt" : '') . + '>' . + $clic . + '</a>'; +} + +// produit une balise img avec un champ alt d'office si vide +// attention le htmlentities et la traduction doivent etre appliques avant. + +function http_img_pack($img, $alt, $att, $title='') { + return "<img src='" . _DIR_IMG_PACK . $img + . ("'\nalt=\"" . + ($alt ? $alt : ($title ? $title : ereg_replace('\..*$','',$img))) + . '" ') + . ($title ? " title=\"$title\"" : '') + . $att . " />"; +} + +function http_href_img($href, $img, $att, $title='', $style='', $class='', $evt='') { + return http_href($href, http_img_pack($img, $title, $att), $title, $style, $class, $evt); +} + +function http_script($script, $src='', $noscript='') { + return '<script type="text/javascript"' + . ($src ? " src=\"$src\"" : '') + . ">" + . ($script ? "<!--\n$script\n//-->" : '') + . "</script>\n" + . (!$noscript ? '' : "<noscript>\n\t$noscript\n</noscript>\n"); +} + ?> diff --git a/ecrire/inc_mots.php3 b/ecrire/inc_mots.php3 index 1da009b6fb..8ec4e49cc9 100644 --- a/ecrire/inc_mots.php3 +++ b/ecrire/inc_mots.php3 @@ -14,9 +14,6 @@ // if (!defined("_ECRIRE_INC_VERSION")) return; -include_ecrire ("inc_filtres.php3"); # pour http_script (normalement déjà fait) - - // ne pas faire d'erreur si les chaines sont > 254 caracteres function levenshtein255 ($a, $b) { $a = substr($a, 0, 254); diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index ad02825793..66106aa810 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -1804,7 +1804,7 @@ function debut_html($titre = "", $rubrique="") { global $attributes_body, $browser_verifForm; $nom_site_spip = entites_html(textebrut(typo(lire_meta("nom_site")))); - if (!$nom_site_spip) $nom_site_spip="SPIP"; + if (!$nom_site_spip) $nom_site_spip= _T('info_mon_site_spip'); $titre = textebrut(typo($titre)); http_no_cache(); @@ -2302,7 +2302,7 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr function init_entete($titre, $rubrique, $css) { global $attributes_body, $browser_verifForm; $nom_site_spip = entites_html(textebrut(typo(lire_meta("nom_site")))); - if (!$nom_site_spip) $nom_site_spip="SPIP"; + if (!$nom_site_spip) $nom_site_spip= _T('info_mon_site_spip'); // envoi des en-tetes, du doctype et du <head><title... include_ecrire('inc_headers.php'); @@ -2327,7 +2327,7 @@ function init_entete($titre, $rubrique, $css) { function init_body($rubrique = "asuivre", $sous_rubrique = "asuivre") { global $couleur_foncee; global $couleur_claire; - global $adresse_site; + global $REQUEST_URI; global $connect_id_auteur; global $connect_statut; global $connect_activer_messagerie; @@ -2337,6 +2337,14 @@ function init_body($rubrique = "asuivre", $sous_rubrique = "asuivre") { global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right; $activer_messagerie = "oui"; + if (!$adresse_site) { + $adresse_site = lire_meta("adresse_site"); + if (!$adresse_site) { + $adresse_site = "http://$HTTP_HOST".substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/" . _DIR_RESTREINT_ABS)); + ecrire_meta("adresse_site", $adresse_site); + ecrire_metas(); + } + } if ($spip_ecran == "large") $largeur = 974; else $largeur = 750; @@ -3091,7 +3099,7 @@ function fin_cadre_formulaire(){ // function debut_gauche($rubrique = "asuivre") { - global $connect_statut, $cookie_admin; + global $connect_statut; global $options, $spip_display; global $connect_id_auteur; global $spip_ecran; @@ -3139,7 +3147,7 @@ function creer_colonne_droite($rubrique=""){ global $activer_imessage; global $connect_activer_messagerie; global $connect_activer_imessage; - global $connect_statut, $cookie_admin; + global $connect_statut; global $options; global $connect_id_auteur, $spip_ecran; global $flag_3_colonnes, $flag_centre_large; diff --git a/ecrire/inc_session.php3 b/ecrire/inc_session.php3 index 7f5ba88e90..8fe679217d 100644 --- a/ecrire/inc_session.php3 +++ b/ecrire/inc_session.php3 @@ -213,7 +213,6 @@ function ask_php_auth($pb, $raison, $retour, $url='', $re='', $lien='') { @Header("HTTP/1.0 401 Unauthorized"); echo "<b>$pb</b><p>$raison</p>[<a href='./'>$retour</a>] "; if ($url) { - include_ecrire('inc_filtres.php3'); $url = quote_amp($url); echo "[<a href='spip_cookie.php3?essai_auth_http=oui" . "&$url'>$re</a>]"; diff --git a/ecrire/inc_statistiques.php3 b/ecrire/inc_statistiques.php3 index 49f07115d8..69d5acd82d 100644 --- a/ecrire/inc_statistiques.php3 +++ b/ecrire/inc_statistiques.php3 @@ -60,7 +60,6 @@ function stats_load_engines() { function stats_show_keywords($kw_referer, $kw_referer_host) { static $arr_engines; static $url_site; - include_ecrire("inc_filtres.php3"); if (!$arr_engines) { // Charger les moteurs de recherche diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 0d89a966eb..dc283f608f 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -616,7 +616,6 @@ function extraire_lien ($regs) { $lien_url .= $ancre; // supprimer les numeros des titres - include_ecrire("inc_filtres.php3"); $lien_texte = supprimer_numero($lien_texte); } else if (preg_match(',^\?(.*)$,s', $lien_url, $regs)) { diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 103939a1b9..fd3a04f262 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -949,6 +949,19 @@ function redirige_par_entete($url) { exit; } +// transformation XML des "&" en "&" +function quote_amp($u) { + return preg_replace( + "/&(?![a-z]{0,4}\w{2,3};|#x?[0-9a-f]{2,5};)/i", + "&",$u); +} + +// Transforme n'importe quel champ en une chaine utilisable +// en PHP ou Javascript en toute securite +// < ? php $x = '[(#TEXTE|texte_script)]'; ? > +function texte_script($texte) { + return str_replace('\'', '\\\'', str_replace('\\', '\\\\', $texte)); +} // // find_in_path() : chercher un fichier nomme x selon le chemin rep1:rep2:rep3 diff --git a/ecrire/upgrade.php3 b/ecrire/upgrade.php3 index 02f13f6e14..d1ec7ab26e 100644 --- a/ecrire/upgrade.php3 +++ b/ecrire/upgrade.php3 @@ -22,7 +22,6 @@ if (!_FILE_CONNECT) { include_ecrire ("inc_acces.php3"); include_ecrire ("inc_config.php3"); include_ecrire ("inc_texte.php3"); -include_ecrire ("inc_filtres.php3"); // Si reinstallation necessaire, message ad hoc if ($reinstall == 'oui') { diff --git a/inc-calcul-outils.php3 b/inc-calcul-outils.php3 index e6226ab7d1..da44e3164a 100644 --- a/inc-calcul-outils.php3 +++ b/inc-calcul-outils.php3 @@ -57,7 +57,12 @@ function affiche_logos($logos, $lien, $align) { . $mouseover . " style='border-width: 0px;' class='spip_logos' />"; - return ($lien ? http_href($lien, $milieu) : $milieu); + return (!$lien ? $milieu : + ('<a href="' . + str_replace('&', '&', $lien) . + '">' . + $milieu . + '</a>' )); } // -- GitLab