diff --git a/.gitattributes b/.gitattributes index 6ef2b795d569844a3e971c8cafefb58cd765c9ae..f85e7c6624dc78ec1bbfa7f4a92649607e69f131 100644 --- a/.gitattributes +++ b/.gitattributes @@ -108,6 +108,7 @@ ecrire/configuration/rubriques.php -text ecrire/configuration/syndications.php -text ecrire/configuration/transcodeur.php -text ecrire/configuration/visiteurs.php -text +ecrire/exec/403.php -text ecrire/exec/404.php -text ecrire/exec/accueil.php -text ecrire/exec/admin_backup.php -text @@ -780,7 +781,6 @@ prive/rss/signatures.html -text prive/spip_pass.html -text prive/spip_style.css -text prive/squelettes/body.html -text -prive/squelettes/contenu/page-403.html -text prive/squelettes/contenu/page-configurer_identite.html -text prive/squelettes/contenu/page-typo.html -text prive/squelettes/extra/dist.html -text diff --git a/ecrire/exec/403.php b/ecrire/exec/403.php new file mode 100644 index 0000000000000000000000000000000000000000..5404d350e56e9a41940e2883dc9dfa3e7ec18451 --- /dev/null +++ b/ecrire/exec/403.php @@ -0,0 +1,45 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2010 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +/** + * Un exec d'acces interdit + */ +function exec_403_dist(){ + + $exec = _request('exec'); + + $titre = "exec_$exec"; + $navigation = ""; + $extra = ""; + + include_spip('inc/presentation'); // alleger les inclusions avec un inc/presentation_mini + $commencer_page = charger_fonction('commencer_page','inc'); + echo $commencer_page($titre); + + echo debut_gauche("403_$exec",true); + echo recuperer_fond('prive/squelettes/navigation/dist',array()); + echo pipeline('affiche_gauche',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>'')); + + echo creer_colonne_droite("403",true); + echo pipeline('affiche_droite',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>'')); + + echo debut_droite("403",true); + echo "<h1>"._T('info_acces_interdit')."</h1>"; + echo _L("Vous n'avez pas le droit d'accèder à la page <b>@exec@</b>.",array('exec'=>_request('exec'))); + echo pipeline('affiche_milieu',array('args'=>array('exec'=>'403','exec_erreur'=>$exec),'data'=>'')); + + echo fin_gauche(),fin_page(); +} + +?> \ No newline at end of file diff --git a/ecrire/exec/fond.php b/ecrire/exec/fond.php index d36e68362471c666bf28fe5cc1c5948d45365351..2c35871c30851d542f1176891a7eb696fb019e33 100644 --- a/ecrire/exec/fond.php +++ b/ecrire/exec/fond.php @@ -48,8 +48,12 @@ function exec_fond_dist(){ function interdire_acces($ok=false) { if ($ok) return ''; - include_spip('inc/headers'); - redirige_formulaire(generer_url_ecrire('403','acces='._request('exec'))); + ob_end_clean(); // vider tous les tampons + $echec = charger_fonction('403','exec'); + $echec(); + + #include_spip('inc/headers'); + #redirige_formulaire(generer_url_ecrire('403','acces='._request('exec'))); exit; } diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index caac364406061a61211635d66669968555104793..a2a412ab2c4c226c0477f6f04a0628b2c6f91475 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -2068,26 +2068,23 @@ function env_to_attributs ($texte, $ignore_params=array()) { } // Inserer jQuery -// et au passage verifier qu'on ne doublonne pas #INSERT_HEAD +// ne pas verifier ici qu'on ne doublonne pas #INSERT_HEAD +// car cela empeche un double appel (multi calcul en cache cool, +// ou erreur de l'espace prive) // http://doc.spip.org/@f_jQuery function f_jQuery ($texte) { - static $doublon=0; - if ($doublon++) { - erreur_squelette(array('double_occurrence', array('balise' => "INSERT_HEAD"))); - } else { - $x = ''; - foreach (array_unique(pipeline('jquery_plugins', - array( - 'javascript/jquery.js', - 'javascript/jquery.form.js', - 'javascript/jquery.autosave.js', - 'javascript/ajaxCallback.js', - 'javascript/jquery.cookie.js' - ))) as $script) - if ($script = find_in_path($script)) - $x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n"; - $texte = $x.$texte; - } + $x = ''; + foreach (array_unique(pipeline('jquery_plugins', + array( + 'javascript/jquery.js', + 'javascript/jquery.form.js', + 'javascript/jquery.autosave.js', + 'javascript/ajaxCallback.js', + 'javascript/jquery.cookie.js' + ))) as $script) + if ($script = find_in_path($script)) + $x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n"; + $texte = $x.$texte; return $texte; } diff --git a/prive/squelettes/contenu/page-403.html b/prive/squelettes/contenu/page-403.html deleted file mode 100644 index d81d5a595ee549f45ea36fd9aade7d53ff3859e1..0000000000000000000000000000000000000000 --- a/prive/squelettes/contenu/page-403.html +++ /dev/null @@ -1,10 +0,0 @@ -[(#REM) - - Squelette - (c) 2009 xxx - Distribue sous licence GPL - -] -<h1><:info_acces_interdit:></h1> - -[Vous n'aves pas le droit d'accèder à la page <b>(#ENV{acces})</b>.] \ No newline at end of file