Browse Source

Corrections sur le menu de rubriques :

en exec, il redirigeait automatiquement vers la page de login si pas identifié. Si on gardait une page de l'espace privé ouverte longtemps et qu'on survolait la boussole alors que le cookie n'est plus valable, cela faisait perdre la page, ce qui pouvait etre gênant. Ce scenario pouvait arriver aussi dans d'autre cas, par exemple lors d'une migration de base qui fait perdre temporairement le cookie de session.
On passe donc le menu en action, interrogeable depuis une url publique, mais on y renvoie simplement un lien de connextion si la session n'est plus valable,
ou si le visiteur n'a pas le droit d'acceder à ecrire

+ petit detail css&js sur le gif animé pendant le chargement
spip-3-stable
Cerdic 12 years ago
parent
commit
d98db7ca6b
  1. 2
      .gitattributes
  2. 12
      ecrire/action/menu_rubriques.php
  3. 6
      prive/javascript/gadgets.js
  4. 2
      prive/squelettes/inclure/barre-nav_fonctions.php
  5. 2
      prive/squelettes/inclure/head.html
  6. 1
      prive/themes/spip/bando.css.html

2
.gitattributes vendored

@ -22,6 +22,7 @@ ecrire/action/instituer_article.php -text
ecrire/action/instituer_langue_objet.php -text
ecrire/action/instituer_langue_rubrique.php -text
ecrire/action/logout.php -text
ecrire/action/menu_rubriques.php -text
ecrire/action/preferer.php -text
ecrire/action/purger.php -text
ecrire/action/redirect.php -text
@ -77,7 +78,6 @@ ecrire/exec/index.php -text
ecrire/exec/info_plugin.php -text
ecrire/exec/informer.php -text
ecrire/exec/install.php -text
ecrire/exec/menu_rubriques.php -text
ecrire/exec/plonger.php -text
ecrire/exec/puce_statut.php -text
ecrire/exec/rechercher.php -text

12
ecrire/exec/menu_rubriques.php → ecrire/action/menu_rubriques.php

@ -14,11 +14,17 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
include_spip('inc/texte');
// http://doc.spip.org/@exec_menu_rubriques_dist
function exec_menu_rubriques_dist() {
function action_menu_rubriques_dist() {
// si pas acces a ecrire, pas acces au menu
// on renvoi un 401 qui fait echouer la requete ajax silencieusement
if (!autoriser('ecrire')){
$retour = "<ul class='cols_1'><li class='toutsite'><a href='".generer_url_ecrire('accueil')."'>"._T('public:lien_connecter')."</a></li></ul>";
ajax_retour($retour);
exit;
}
header("Cache-Control: no-cache, must-revalidate");
if ($date = intval(_request('date')))
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $date)." GMT");

6
prive/javascript/gadgets.js

@ -1,6 +1,6 @@
function init_gadgets(){
function init_gadgets(url_menu_rubrique){
jQuery('#boutonbandeautoutsite').one('mouseover',function(){
jQuery(this).siblings('ul').animeajax();
jQuery(this).siblings('ul').find('li:first>a').animeajax();
jQuery.ajax({
url: url_menu_rubrique,
success: function(c){
@ -17,7 +17,7 @@ function focus_zone(selecteur){
return false;
}
jQuery(document).ready(function(){
init_gadgets();
init_gadgets(url_menu_rubrique);
var is_open = 0;
jQuery.fn.menuItemOpen = function(){
jQuery(this)

2
prive/squelettes/inclure/barre-nav_fonctions.php

@ -1,4 +1,4 @@
<?php
include_spip('inc/bandeau');
include_spip('exec/menu_rubriques');
include_spip('action/menu_rubriques');
?>

2
prive/squelettes/inclure/head.html

@ -5,7 +5,7 @@ Appel au script php en attendant de reecrire le head ici
]
<meta http-equiv="Content-Type" content="text/html[; charset=(#CONFIG{charset})]" />
<script type='text/javascript'>/*<![CDATA[*/
var url_menu_rubrique="./?exec=menu_rubriques\x26date=#CONFIG{date_calcul_rubriques}";
var url_menu_rubrique="[(#EVAL{_DIR_RACINE}|sinon{./})]?action=menu_rubriques\x26date=#CONFIG{date_calcul_rubriques}";
(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);
[(#EVAL{$_COOKIE}|table_valeur{spip_accepte_ajax}|>={1}|non)
function test_accepte_ajax(){jQuery.ajax({"url":"[(#URL_ECRIRE{test_ajax,js=1}|replace{'&amp;','\x26'})]"});}

1
prive/themes/spip/bando.css.html

@ -59,6 +59,7 @@
#bando_outils li.boussole a#boutonbandeautoutsite {display:block;line-height:1em;}
#bando_outils li.boussole a#boutonbandeautoutsite img {padding:2px; }
#bando_outils li.boussole a#boutonbandeautoutsite:hover,#bando_outils li.boussole a#boutonbandeautoutsite:focus {background:#fff;}
#bando_outils li.boussole a .image_loading {float:right;}
#bando_outils ul.deroulant {font-size:0.9em;}
#bando_outils ul.deroulant li ul {background:#fff;[border:1px solid (#GET{claire});]padding:0px;border-top:0;padding-top:0;margin-left:-1px;}

Loading…
Cancel
Save