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

Quand on arrive sur la page des plugins, faire en sorte que le menu soit...

Quand on arrive sur la page des plugins, faire en sorte que le menu soit synchro avec les plugins actifs sans avoir à recharger une page.
Pour cela on passe le md5 des menus en parametre de la css privee.
De plus, les menus sont definis dans un fichier fonctions chargé avant l'actualisation des plugins (les fichiers sont chargés par SAX dans tous les cas, donc pour lire le paquet.xml). On prévoit donc un define qui permet de les redéfinir en cours de hit, et qui est levé a l'actualisation. Il ne sert que dans ce hit la.
parent 0759a313
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+4 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -34,7 +34,10 @@ function exec_admin_plugin_dist($retour='') {
		if ($new AND _request('actualise')<2) {
			include_spip('inc/headers');
			redirige_par_entete(parametre_url(self(),'actualise',_request('actualise')+1,'&'));
		} else admin_plug_args(_request('voir'), _request('erreur'), _request('format'));
		}
		else {
			admin_plug_args(_request('voir'), _request('erreur'), _request('format'));
		}
	}
}

+1 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -63,6 +63,7 @@ function parametres_css_prive(){
	$args['p'] = substr(md5($GLOBALS['meta']['plugin']),0,4);
	$args['themes'] = implode(',',lister_themes_prives());
	$args['ltr'] = $GLOBALS['spip_lang_left'];
	$args['md5b'] = md5_boutons_plugins(); // un md5 des menus : si un menu change il faut maj la css

	$c = (is_array($visiteur_session)
		AND is_array($visiteur_session['prefs']))
+9 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -464,9 +464,15 @@ function plugins_precompile_xxxtions($plugin_valides, $ordre)

function plugin_ongletbouton($nom, $val)
{
	$val =!$val ? 'array()'
	: ("unserialize('".str_replace("'","\'",serialize($val))."')");
	return "if (!function_exists('$nom')) {function $nom(){return $val;}}\n";
	if (!$val) $val = array();
	define("_UPDATED_$nom",$val = serialize($val));
	define("_UPDATED_md5_$nom",$md5=md5($val));
	$val = "unserialize('".str_replace("'","\'",$val)."')";
	return
		"if (!function_exists('$nom')) {\n"
	 ."function $nom(){return defined('_UPDATED_$nom')?unserialize(_UPDATED_$nom):$val;}\n"
		."function md5_$nom(){return defined('_UPDATED_md5_$nom')?_UPDATED_md5_$nom:'".$md5."';}\n"
	 ."}\n";
}

// creer le fichier CACHE_PLUGIN_VERIF a partir de