Valider d98db7ca rédigé par cerdic's avatar cerdic
Parcourir les fichiers

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
parent a0310a28
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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
+9 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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() {

	header("Cache-Control: no-cache, must-revalidate");
	// 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");

+3 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
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)
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php
include_spip('inc/bandeau');
include_spip('exec/menu_rubriques');
include_spip('action/menu_rubriques');
?>
 No newline at end of file
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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'})]"});}
Chargement en cours