Skip to content
Extraits de code Groupes Projets
Valider 65b1b2df rédigé par cerdic's avatar cerdic
Parcourir les fichiers

#3320 : quand on utilise avec le criter tri un nom de variable qui commence...

#3320 : quand on utilise avec le criter tri un nom de variable qui commence par 'session', les changements de criteres de tri par l'utilisateur sont memorises en session et conserves d'un hit sur l'autre pour toutes les listes qui utilisent le meme nom de variable.
Application a la liste des articles dans l'espace prive (a voir si on generalise a tous les objets ou non)
parent 83c56279
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -419,6 +419,14 @@ OR _request('action') == 'test_dirs')) {
// autrement c'est une install ad hoc (spikini...), on sait pas faire
}
// memoriser un tri sessionne eventuel
if (isset($_REQUEST['var_memotri'])
AND $t = $_REQUEST['var_memotri']
AND (strncmp($t,'trisession',10)==0 OR strncmp($t,'senssession',11)==0)){
if (!function_exists('session_set'))
include_spip('inc/session');
session_set($t,_request($t));
}
/**
* Header "Composed-By"
......
......@@ -2594,6 +2594,7 @@ function balise_TRI_dist($p, $liste='true') {
$_variable = "((\$s=$_issens)?'sens':'tri').".$boucle->modificateur['tri_nom'];
$_url = "parametre_url(self(),$_variable,\$s?$_sens:$_champ)";
$_url = "parametre_url($_url,'var_memotri',strncmp(".$boucle->modificateur['tri_nom'].",'session',7)==0?$_variable:'')";
$_on = "\$s?(".$boucle->modificateur['tri_sens']."==$_sens".'):('.$boucle->modificateur['tri_champ']."==$_champ)";
$p->code = "lien_ou_expose($_url,$_libelle,$_on".($_class?",$_class":"").")";
......
......@@ -1287,10 +1287,10 @@ function critere_tri_dist($idb, &$boucles, $crit){
$_variable = !isset($crit->param[2][0]) ? "'$idb'"
: calculer_liste(array($crit->param[2][0]), array(), $boucles, $boucle->id_parent);
$_tri = "((\$t=(isset(\$Pile[0]['tri'.$_variable]))?\$Pile[0]['tri'.$_variable]:$_champ_defaut)?tri_protege_champ(\$t):'')";
$_tri = "((\$t=(isset(\$Pile[0]['tri'.$_variable]))?\$Pile[0]['tri'.$_variable]:((strncmp($_variable,'session',7)==0 AND session_get('tri'.$_variable))?session_get('tri'.$_variable):$_champ_defaut))?tri_protege_champ(\$t):'')";
$_sens_defaut = "(is_array(\$s=$_sens_defaut)?(isset(\$s[\$st=$_tri])?\$s[\$st]:reset(\$s)):\$s)";
$_sens = "((intval(\$t=(isset(\$Pile[0]['sens'.$_variable]))?\$Pile[0]['sens'.$_variable]:$_sens_defaut)==-1 OR \$t=='inverse')?-1:1)";
$_sens = "((intval(\$t=(isset(\$Pile[0]['sens'.$_variable]))?\$Pile[0]['sens'.$_variable]:((strncmp($_variable,'session',7)==0 AND session_get('sens'.$_variable))?session_get('sens'.$_variable):$_sens_defaut))==-1 OR \$t=='inverse')?-1:1)";
$boucle->modificateur['tri_champ'] = $_tri;
$boucle->modificateur['tri_sens'] = $_sens;
......
......@@ -19,7 +19,7 @@
</tr>
</thead>
<tbody>
<BOUCLE_liste_art(ARTICLES){id_article?}{id_rubrique?}{id_mot?}{id_auteur?}{where?}{statut?}{recherche?}{tri #ENV{par,date},#GET{defaut_tri}}{par titre}{pagination #ENV{nb,10}}{!lang_select}>
<BOUCLE_liste_art(ARTICLES){id_article?}{id_rubrique?}{id_mot?}{id_auteur?}{where?}{statut?}{recherche?}{tri #ENV{par,date},#GET{defaut_tri},session_liste_art}{par titre}{pagination #ENV{nb,10}}{!lang_select}>
[(#LANG|changer_typo)]
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
<td class='statut'>[(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE})]</td>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter