fusionner les parametres tri_num et tri_alpha en un seul parametre tri, cela simplifie les formulaires de configuration

"titre" => {par titre}
"!titre" => {!par titre}
"num titre" => {par num titre,titre}
"!num titre" => {!par num titre,titre}

+ rewording des labels de tri
+ rewording des labels de nombre maxi articles/rubriques
+ upgrade de base transparent
svn/root/tags/v1.7.25
cedric@yterium.com 10 years ago
parent f55bd54cd7
commit 11fc70e95b

@ -36,7 +36,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'entree_afficher_articles' => 'Inclure les articles dans le menu ? (mettre "oui" pour cela)',
'entree_afficher_item_suite' => 'Inclure les articles dans le menu ? (mettre "oui" pour cela)',
'entree_articles_max' => 'Si oui, afficher les articles seulement si la rubrique contient au maximum xx articles ? (mettre le nombre maximum darticles, laissez vide pour afficher tous les articles)',
'entree_articles_max_affiches' => 'Si oui, limiter le nombre darticles listés à xx maximum (suivis dun item "... Tous les articles" comportant un lien vers la rubrique parente) ? (indiquer le nombre maximum darticles, laissez vide pour afficher tous les articles)',
'entree_articles_max_affiches' => 'Nombre maximum d\'articles affichés (suivis dun lien "... Tous les articles" vers la rubrique parente)',
'entree_aucun' => 'Aucun',
'entree_bloc' => 'Bloc Zpip',
'entree_choisir' => 'Choisissez le type dentrée que vous voulez ajouter :',
@ -59,7 +59,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'entree_nombre_articles' => 'Nombre darticles au maximum (0 par défaut)',
'entree_page' => 'Nom de la page',
'entree_parametres' => 'Liste des paramètres',
'entree_rubriques_max_affichees' => 'Si oui, limiter le nombre de rubriques listés à xx maximum (suivis dun item "... Toutes les rubriques" comportant un lien vers la rubrique parente) ? (indiquer le nombre maximum de rubriques, laissez vide pour afficher toutes les rubriques)',
'entree_rubriques_max_affichees' => 'Nombre maximum de rubriques affichées (suivies dun lien "... Toutes les rubriques" vers la rubrique parente)',
'entree_sousrub_cond' => 'Nafficher que les sous-rubriques de la rubrique en cours (mettre "oui", sinon laisser vide)',
'entree_suivant_connexion' => 'Restreindre cette entrée suivant la connexion (mettre "connecte" pour afficher seulement si le visiteur est connecté, "deconnecte" pour le cas contraire, mettre "admin" si lauteur est administrateur ou laisser vide pour toujours afficher)',
'entree_suivant_connexion_connecte' => 'seulement si connecté',
@ -72,14 +72,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'entree_titre_prive' => 'Titre pour accéder à lespace privé',
'entree_traduction_articles_rubriques' => 'Dans la mesure du possible, afficher les articles de la rubrique dans la langue du contexte (mettre "trad" pour cela)',
'entree_traduction_objet' => 'Dans le cas dun article, choisir la traduction en fonction du contexte (mettre "trad" pour cela)',
'entree_tri_alpha' => 'Critère de tri des rubriques (alphabétique). Si vous saisissez "date", le critère ajouté sera {par date} et les rubriques seront triées par date',
'entree_tri_alpha_articles' => 'Critère de tri des articles (alphabétique). Si vous saisissez "date", le critère ajouté sera {par date} et les articles seront triés par date',
'entree_tri_alpha_articles_inverse' => 'Inverser le critère de tri alphabétique ? (mettre "oui" pour cela)',
'entree_tri_alpha_inverse' => 'Inverser le critère de tri alphabétique ? (mettre "oui" pour cela)',
'entree_tri_num' => 'Critère de tri des rubriques (numérique). Si vous saisissez "titre", le critère ajouté sera {par num titre} et les rubriques seront triées par numéro de titre',
'entree_tri_num_articles' => 'Critère de tri des articles (numérique). Si vous saisissez "titre", le critère ajouté sera {par num titre} et les articles seront triés par numéro de titre',
'entree_tri_num_articles_inverse' => 'Inverser le critère de tri numérique ? (mettre "oui" pour cela)',
'entree_tri_num_inverse' => 'Inverser le critère de tri numérique ? (mettre "oui" pour cela)',
'entree_tri' => 'Critère de tri des rubriques ("titre" pour trier par titre, "num titre" pour trier par numéro de titre, préfixer par un "!" pour inverser l\'ordre)',
'entree_tri_articles' => 'Critère de tri des articles ("titre" pour trier par titre, "num titre" pour trier par numéro de titre, préfixer par un "!" pour inverser l\'ordre)',
'entree_type_objet' => 'Type de lobjet',
'entree_url' => 'Adresse',
'entree_url_public' => 'Adresse de retour après la connexion',

@ -1,6 +1,6 @@
[(#SET{id_rubrique, #ENV{id_rubrique}|intval})]
[(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]
[(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]
[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
[(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]
[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]

@ -4,8 +4,7 @@
<description><:menus:description_menu_articles_rubrique:></description>
<icone>images/menus_articles_rubrique.png</icone>
<parametre nom="id_rubrique" label="menus:entree_id_rubrique" />
<parametre nom="tri_num" label="menus:entree_tri_num_articles" />
<parametre nom="tri_alpha" label="menus:entree_tri_alpha_articles" />
<parametre nom="tri" label="menus:entree_tri_articles" />
<parametre nom="articles_max_affiches" label="menus:entree_articles_max_affiches" />
<parametre nom="trad" label="menus:entree_traduction_articles_rubriques" />
<refuser_sous_menu/>

@ -1,7 +1,7 @@
[(#SET{id_groupe, #ENV{id_groupe}|intval})]
[(#SET{nombre_articles_mot, #ENV{nombre_articles_mot}|intval|?{#ENV{nombre_articles_mot},0}})]
[(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]
[(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]
[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]

@ -4,8 +4,7 @@
<description><:menus:description_menu_groupes_mots:></description>
<icone>images/menus_groupes_mots.png</icone>
<parametre nom="id_groupe" label="menus:entree_id_groupe" />
<parametre nom="tri_num" label="menus:entree_tri_num" />
<parametre nom="tri_alpha" label="menus:entree_tri_alpha" />
<parametre nom="tri" label="menus:entree_tri" />
<parametre nom="nombre_articles_mot" label="menus:entree_nombre_articles" />
<refuser_sous_menu/>
</entree>

@ -1,7 +1,7 @@
[(#SET{id_mot, #ENV{id_mot}|intval})]
[(#SET{nombre, #ENV{nombre}|intval|?{#ENV{nombre},0}})]
[(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]
[(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]
[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]

@ -5,7 +5,6 @@
<icone>images/menus_mots.png</icone>
<parametre nom="id_mot" label="menus:entree_id_mot" obligatoire="oui" />
<parametre nom="nombre" label="menus:entree_nombre_articles" />
<parametre nom="tri_num" label="menus:entree_tri_num_articles" />
<parametre nom="tri_alpha" label="menus:entree_tri_alpha_articles" />
<parametre nom="tri" label="menus:entree_tri_articles" />
<refuser_sous_menu/>
</entree>

@ -18,14 +18,14 @@
[(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]
[(#REM) Tri des rubriques ]
[(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]
[(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]
[(#SET{tri_num, #ENV{tri,titre}|menus_critere_tri{num}})]
[(#SET{tri_alpha, #ENV{tri,titre}|menus_critere_tri{alpha}})]
[(#SET{tri_num_inverse,#GET{tri_num}|match{^!}|oui})]
[(#SET{tri_alpha_inverse,#GET{tri_alpha}|match{^!}|oui})]
[(#REM) Tri des articles ]
[(#SET{tri_num_articles, #ENV{tri_num_articles}|ou{#ENV{tri_alpha_articles}}|?{#ENV{tri_num_articles},'titre'}})]
[(#SET{tri_alpha_articles, #ENV{tri_num_articles}|ou{#ENV{tri_alpha_articles}}|?{#ENV{tri_alpha_articles},'titre'}})]
[(#SET{tri_num_articles, #ENV{tri_articles,titre}|menus_critere_tri{num}})]
[(#SET{tri_alpha_articles, #ENV{tri_articles,titre}|menus_critere_tri{alpha}})]
[(#SET{tri_num_articles_inverse,#GET{tri_num_articles}|match{^!}|oui})]
[(#SET{tri_alpha_articles_inverse,#GET{tri_alpha_articles}|match{^!}|oui})]

@ -10,13 +10,11 @@
<parametre nom="rubriques_max_affichees" label="menus:entree_rubriques_max_affichees" />
<parametre nom="sousrub_cond" label="menus:entree_sousrub_cond" />
<parametre nom="classe_parent" label="menus:entree_classe_parent" />
<parametre nom="tri_num" label="menus:entree_tri_num" />
<parametre nom="tri_alpha" label="menus:entree_tri_alpha" />
<parametre nom="tri" label="menus:entree_tri" />
<parametre nom="afficher_articles" label="menus:entree_afficher_articles" />
<parametre nom="masquer_articles_uniques" label="menus:entree_masquer_articles_uniques" />
<parametre nom="articles_max" label="menus:entree_articles_max" />
<parametre nom="articles_max_affiches" label="menus:entree_articles_max_affiches" />
<parametre nom="tri_num_articles" label="menus:entree_tri_num_articles" />
<parametre nom="tri_alpha_articles" label="menus:entree_tri_alpha_articles" />
<parametre nom="tri_articles" label="menus:entree_tri_articles" />
<refuser_sous_menu/>
</entree>

@ -5,13 +5,11 @@
<parametre nom="niveau" label="menus:entree_niveau" />
<parametre nom="sousrub_cond" label="menus:entree_sousrub_cond" />
<parametre nom="classe_parent" label="menus:entree_classe_parent" />
<parametre nom="tri_num" label="menus:entree_tri_num" />
<parametre nom="tri_alpha" label="menus:entree_tri_alpha" />
<parametre nom="tri" label="menus:entree_tri" />
<parametre nom="afficher_articles" label="menus:entree_afficher_articles" />
<parametre nom="masquer_articles_uniques" label="menus:entree_masquer_articles_uniques" />
<parametre nom="articles_max" label="menus:entree_articles_max" />
<parametre nom="articles_max_affiches" label="menus:entree_articles_max_affiches" />
<parametre nom="tri_num_articles" label="menus:entree_tri_num_articles" />
<parametre nom="tri_alpha_articles" label="menus:entree_tri_alpha_articles" />
<parametre nom="tri_articles" label="menus:entree_tri_articles" />
<refuser_sous_menu/>
</entree>

@ -24,11 +24,60 @@ function menus_upgrade($nom_meta_version_base, $version_cible){
$maj['0.5.2'] = array(
array('menus_fusionne_critere_tri_inverse'),
);
$maj['0.5.3'] = array(
array('menus_fusionne_critere_tri_num_alpha'),
);
include_spip('base/upgrade');
maj_plugin($nom_meta_version_base, $version_cible, $maj);
}
function menus_fusionne_critere_tri_num_alpha(){
$res = sql_select("*","spip_menus_entrees","","","id_menus_entree");
while ($row = sql_fetch($res)){
#var_dump($row);
$params = unserialize($row['parametres']);
$change = false;
if (isset($params['tri_num']) AND isset($params['tri_alpha'])){
$tri = "";
if (strlen($params['tri_num'])){
$tri = "num ".trim($params['tri_num']);
$tri = str_replace("num !","!num ",$tri);
}
else {
$tri = trim($params['tri_alpha']);
}
$params['tri'] = $tri;
unset($params['tri_num']);
unset($params['tri_alpha']);
$change = true;
}
if (isset($params['tri_num_articles']) AND isset($params['tri_alpha_articles'])){
$tri = "";
if (strlen($params['tri_num_articles'])){
$tri = "num ".trim($params['tri_num_articles']);
$tri = str_replace("num !","!num ",$tri);
}
else {
$tri = trim($params['tri_alpha_articles']);
}
$params['tri_articles'] = $tri;
unset($params['tri_num_articles']);
unset($params['tri_alpha_articles']);
$change = true;
}
if ($change){
#var_dump($params);
$params = serialize($params);
sql_updateq("spip_menus_entrees",array('parametres'=>$params),"id_menus_entree=".intval($row['id_menus_entree']));
}
}
}
function menus_fusionne_critere_tri_inverse(){
$res = sql_select("*","spip_menus_entrees","","","id_menus_entree");

@ -22,4 +22,27 @@ function menus_exposer($id_objet, $objet, $env, $on='on active', $off=''){
include_spip('public/quete');
return calcul_exposer($id_objet, $primary, $env, '', $primary) ? $on : $off;
}
?>
/**
* @param $tri
* @param $quoi
* @return string
*/
function menus_critere_tri($tri,$quoi){
$tri = trim($tri);
$inverse = ((strncmp($tri,"!",1)==0)?"!":"");
if ($inverse)
$tri = ltrim($tri,"!");
$num = ((strncmp($tri,"num ",4)==0)?"num ":"");
if ($num){
$tri = trim(substr($tri,4));
}
// num
if ($quoi=='num'){
return $num?"$inverse$tri":"";
}
// alpha : on renvoie toujours le meme critre que num si num demande
// num titre => {par num titre}{par titre}
return "$inverse$tri";
}

@ -1,12 +1,12 @@
<paquet
prefix="menus"
categorie="navigation"
version="1.5.1"
version="1.5.2"
etat="stable"
compatibilite="[3.0.0;3.0.*]"
logo="prive/themes/spip/images/menu-32.png"
documentation="http://www.spip-contrib.net/Plugin-Menus"
schema="0.5.2"
schema="0.5.3"
>
<nom>Menus</nom>

Loading…
Cancel
Save