From: Ludovic CHEVALIER Date: Fri, 14 Feb 2014 06:41:15 +0000 (+0100) Subject: [PLUGINS] ~maj spip-bonux 2.3.0-->2.3.2 X-Git-Tag: production~1 X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=commitdiff_plain;h=a7986fd72f684eda0014e1c0659b70e771f4ad97 [PLUGINS] ~maj spip-bonux 2.3.0-->2.3.2 --- diff --git a/www/plugins/auto/spip-bonux/formulaires/selecteur/inc-nav-rubriques.html b/www/plugins/auto/spip-bonux/formulaires/selecteur/inc-nav-rubriques.html old mode 100644 new mode 100755 diff --git a/www/plugins/auto/spip-bonux/formulaires/selecteur/navigateur.html b/www/plugins/auto/spip-bonux/formulaires/selecteur/navigateur.html old mode 100644 new mode 100755 diff --git a/www/plugins/auto/spip-bonux/inc/config.php b/www/plugins/auto/spip-bonux/inc/config.php index 0417a56..283f81b 100644 --- a/www/plugins/auto/spip-bonux/inc/config.php +++ b/www/plugins/auto/spip-bonux/inc/config.php @@ -16,5 +16,9 @@ if (!defined('_DIR_PLUGIN_CFG')){ return spip_bonux_lire_config($cfg, $def, $unserialize); } } +// charger celui de CFG si ce n'est pas le cas encore ! +} elseif (!function_exists('lire_config')) { + include_spip('inc/cfg_config'); } -?> \ No newline at end of file + +?> diff --git a/www/plugins/auto/spip-bonux/plugin.xml b/www/plugins/auto/spip-bonux/plugin.xml index c5f8451..9f2a5dc 100644 --- a/www/plugins/auto/spip-bonux/plugin.xml +++ b/www/plugins/auto/spip-bonux/plugin.xml @@ -1,19 +1,24 @@ - SPIP Bonux - Un plugin avec plein de cadeaux ! - Cedric Morin, Matthieu Marcillaud, romy.tetue.net - img_pack/spip-bonux.png - (c) 2008-2011 GPL - 2.3.0 - stable - Le plugin qui lave plus SPIP que SPIP, avec des chouettes cadeaux dedans ! Interface douce, boucles POUR et CONDITION, tableaux, compteur, etc. - http://www.spip-contrib.net/SPIP-Bonux - public/spip_bonux_criteres.php - public/spip_bonux_balises.php - spip_bonux_fonctions.php - spip_bonux_options.php - spip_bonux - + SPIP Bonux + Un plugin avec plein de cadeaux ! + Cedric Morin, Matthieu Marcillaud, romy.tetue.net + img_pack/spip-bonux.png + (c) 2008-2012 GPL + 2.3.2 + stable + + + [fr]Le plugin qui lave plus SPIP que SPIP, avec des chouettes cadeaux dedans ! Interface douce, boucles POUR et CONDITION, tableaux, compteur, etc. + [en]The plugin that offers a lot of nice gifts ! Sweet Interface, CONDITION and POUR loops, arrays, counters, etc. + + + http://www.spip-contrib.net/SPIP-Bonux + public/spip_bonux_criteres.php + public/spip_bonux_balises.php + spip_bonux_fonctions.php + spip_bonux_options.php + spip_bonux + @@ -24,24 +29,34 @@ formulaire_traiter configurer/pipelines.php - configurer/pipelines.php - outil + configurer/pipelines.php + outil - SPIP Bonux - Un plugin avec plein de cadeaux ! - Cedric Morin, Matthieu Marcillaud, romy.tetue.net - img_pack/spip-bonux.png - (c) 2008-2011 GPL - 2.3.0 - stable - Le plugin qui lave plus SPIP que SPIP, avec des chouettes cadeaux dedans ! Interface douce, boucles POUR et CONDITION, tableaux, compteur, etc. - http://www.spip-contrib.net/SPIP-Bonux - public/spip_bonux_criteres.php - public/spip_bonux_balises.php - spip_bonux_fonctions.php - spip_bonux_options.php - spip_bonux + SPIP Bonux + + + [fr]Un plugin avec plein de cadeaux ! + [en]A plugin with a lot of gifts ! + + + Cedric Morin, Matthieu Marcillaud, romy.tetue.net + img_pack/spip-bonux.png + (c) 2008-2012 GPL + 2.3.2 + stable + + + [fr]Le plugin qui lave plus SPIP que SPIP, avec des chouettes cadeaux dedans ! Interface douce, boucles POUR et CONDITION, tableaux, compteur, etc. + [en]The plugin that offers a lot of nice gifts ! Sweet Interface, CONDITION and POUR loops, arrays, counters, etc. + + + http://www.spip-contrib.net/SPIP-Bonux + public/spip_bonux_criteres.php + public/spip_bonux_balises.php + spip_bonux_fonctions.php + spip_bonux_options.php + spip_bonux formulaire_charger configurer/pipelines.php @@ -50,6 +65,6 @@ formulaire_traiter configurer/pipelines.php - configurer/pipelines.php - outil - \ No newline at end of file + configurer/pipelines.php + outil + diff --git a/www/plugins/auto/spip-bonux/public/spip_bonux_balises.php b/www/plugins/auto/spip-bonux/public/spip_bonux_balises.php index 076a3ba..55db306 100644 --- a/www/plugins/auto/spip-bonux/public/spip_bonux_balises.php +++ b/www/plugins/auto/spip-bonux/public/spip_bonux_balises.php @@ -33,12 +33,6 @@ function get_nom_serveur($p) { function balise_URL_ACTION_AUTEUR($p) { $p->descr['session'] = true; - // si serveur externe, ce n'est pas possible - if (get_nom_serveur($p)) { - $p->code = 'generer_url_public("404")'; - return $p; - } - $p->code = interprete_argument_balise(1,$p); $args = interprete_argument_balise(2,$p); if (!$args) @@ -529,37 +523,38 @@ function produire_fond_statique($fond, $contexte=array(), $options = array(), $c } else { $extension = "html"; - if (preg_match(',[.](css|js)$,',$fond,$m)) + if (preg_match(',[.](css|js|json)$,',$fond,$m)) $extension = $m[1]; } // recuperer le contenu produit par le squelette $options['raw'] = true; $cache = recuperer_fond($fond,$contexte,$options,$connect); - - // calculer le nom de la css + + // calculer le nom de la css $dir_var = sous_repertoire (_DIR_VAR, 'cache-'.$extension); $filename = $dir_var . $extension."dyn-".md5($fond.serialize($contexte).$connect) .".$extension"; // mettre a jour le fichier si il n'existe pas // ou trop ancien - if (!file_exists($filename) - OR filemtime($filename)<$cache['lastmodified'] - OR $GLOBALS['var_mode']=='recalcul'){ - - $contenu = $cache['texte']; - // passer les urls en absolu si c'est une css - if ($extension=="css") - $contenu = urls_absolues_css($contenu, generer_url_public($fond)); - - $comment = "/* #PRODUIRE{fond=$fond"; - foreach($contexte as $k=>$v) - $comment .= ",$k=$v"; - $comment .="} le ".date("Y-m-d H:i:s")." */\n"; - // et ecrire le fichier - ecrire_fichier($filename,$comment.$contenu); - } - - return $filename; + if (!file_exists($filename) + OR filemtime($filename)<$cache['lastmodified'] + OR $GLOBALS['var_mode']=='recalcul') { + $contenu = $cache['texte']; + // passer les urls en absolu si c'est une css + if ($extension=="css") + $contenu = urls_absolues_css($contenu, generer_url_public($fond)); + // ne pas insérer de commentaire si c'est du json + if ($extension!="json") { + $comment = "/* #PRODUIRE{fond=$fond"; + foreach($contexte as $k=>$v) + $comment .= ",$k=$v"; + $comment .="} le ".date("Y-m-d H:i:s")." */\n"; + } + // et ecrire le fichier + ecrire_fichier($filename,$comment.$contenu); + } + + return $filename; } function produire_css_fond($fond, $contexte=array(), $options = array(), $connect=''){ diff --git a/www/plugins/auto/spip-bonux/spip_bonux_fonctions.php b/www/plugins/auto/spip-bonux/spip_bonux_fonctions.php index c2f9d3a..1c5e02d 100644 --- a/www/plugins/auto/spip-bonux/spip_bonux_fonctions.php +++ b/www/plugins/auto/spip-bonux/spip_bonux_fonctions.php @@ -12,8 +12,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/core21_filtres'); /** - * une fonction pour generer des menus avec liens - * ou un span lorsque l'item est selectionne + * une fonction pour générer des menus avec liens + * ou un span lorsque l'item est sélectionné * * @param string $url * @param string $libelle @@ -28,7 +28,7 @@ function aoustrong($url,$libelle,$on=false,$class="",$title="",$rel=""){ /** - * une fonction pour generer une balise img a partir d'un nom de fichier + * une fonction pour générer une balise img à partir d'un nom de fichier * * @param string $img * @param string $alt @@ -51,7 +51,7 @@ function affiche_un_ou_plusieurs($nb,$chaine_un,$chaine_plusieurs,$var='nb'){ } /** - * Ajouter un timestamp a une url de fichier + * Ajouter un timestamp à une url de fichier * * @param unknown_type $fichier * @return unknown @@ -63,15 +63,15 @@ function timestamp($fichier){ } /** - * Transformer un tableau d'entrees array("rubrique|9","article|8",...) - * en un tableau contenant uniquement les identifiants d'un type donne. - * Accepte aussi que les valeurs d'entrees soient une chaine brute + * Transformer un tableau d'entrées array("rubrique|9","article|8",...) + * en un tableau contenant uniquement les identifiants d'un type donné. + * Accepte aussi que les valeurs d'entrées soient une chaîne brute * "rubrique|9,article|8,..." * - * @param array/string $selected liste des entrees : tableau ou chaine separee par des virgules - * @param string $type type de valeur a recuperer ('rubrique', 'article') + * @param array/string $selected liste des entrées : tableau ou chaîne séparée par des virgules + * @param string $type type de valeur à récuperer ('rubrique', 'article') * - * @return array liste des identifiants trouves. + * @return array liste des identifiants trouvés. **/ function picker_selected($selected, $type){ $select = array(); @@ -105,15 +105,15 @@ function picker_identifie_id_rapide($ref,$rubriques=0,$articles=0){ } /** - * Donner n'importe quelle information sur un objet de maniere generique. + * Donner n'importe quelle information sur un objet de manière générique. * - * La fonction va gerer en interne deux cas particuliers les plus utilises : + * La fonction va gérer en interne deux cas particuliers les plus utilisés : * l'URL et le titre (qui n'est pas forcemment la champ SQL "titre"). * - * On peut ensuite personnaliser les autres infos en creant une fonction + * On peut ensuite personnaliser les autres infos en créant une fonction * generer__entite($id_objet, $type_objet, $ligne). - * $ligne correspond a la ligne SQL de tous les champs de l'objet, les fonctions - * de personnalisation n'ont donc pas a refaire de requete. + * $ligne correspond à la ligne SQL de tous les champs de l'objet, les fonctions + * de personnalisation n'ont donc pas à refaire de requête. * * @param int $id_objet * @param string $type_objet @@ -121,7 +121,7 @@ function picker_identifie_id_rapide($ref,$rubriques=0,$articles=0){ * @return string */ function generer_info_entite($id_objet, $type_objet, $info, $etoile=''){ - // On verifie qu'on a tout ce qu'il faut + // On vérifie qu'on a tout ce qu'il faut $id_objet = intval($id_objet); if (!($id_objet and $type_objet and $info)) return ''; @@ -130,7 +130,7 @@ function generer_info_entite($id_objet, $type_objet, $info, $etoile=''){ if ($info == 'url') return generer_url_entite($id_objet, $type_objet); - // Si on demande le titre, on le gere en interne + // Si on demande le titre, on le gère en interne if ($demande_titre = ($info == 'titre')){ global $table_titre; $champ_titre = $table_titre[table_objet($type_objet)]; @@ -138,10 +138,10 @@ function generer_info_entite($id_objet, $type_objet, $info, $etoile=''){ $champ_titre = ", $champ_titre"; } - // Sinon on va tout chercher dans la table et on garde en memoire + // Sinon on va tout chercher dans la table et on garde en mémoire static $objets; - // On ne fait la requete que si on a pas deja l'objet ou si on demande le titre mais qu'on ne l'a pas encore + // On ne fait la requête que si on n'a pas déjà l'objet ou si on demande le titre mais qu'on ne l'a pas encore if (!$objets[$type_objet][$id_objet] or ($demande_titre and !$objets[$type_objet][$id_objet]['titre'])){ include_spip('base/abstract_sql'); include_spip('base/connect_sql'); @@ -162,7 +162,7 @@ function generer_info_entite($id_objet, $type_objet, $info, $etoile=''){ else $info_generee = $ligne[$info]; - // On va ensuite chercher les traitements automatiques a faire + // On va ensuite chercher les traitements automatiques à faire global $table_des_traitements; $maj = strtoupper($info); $traitement = $table_des_traitements[$maj]; @@ -178,8 +178,8 @@ function generer_info_entite($id_objet, $type_objet, $info, $etoile=''){ } /** - * Proteger les champs passes dans l'url et utiliser dans {tri ...} - * preserver l'espace pour interpreter ensuite num xxx et multi xxx + * Protéger les champs passés dans l'url et utilisés dans {tri ...} + * préserver l'espace pour interpréter ensuite num xxx et multi xxx * @param string $t * @return string */ @@ -188,10 +188,10 @@ function tri_protege_champ($t){ } /** - * Interpreter les multi xxx et num xxx utilise comme tri + * Interpréter les multi xxx et num xxx utilisés comme tri * pour la clause order - * 'multi xxx' devient simplement 'multi' qui est calcule dans le select - * 'hasard' est calculé dans le select + * 'multi xxx' devient simplement 'multi' qui est calculé dans le select + * 'hasard' est calculé dans le select * @param string $t * @return string */ @@ -199,7 +199,7 @@ function tri_champ_order($t,$table=NULL,$field=NULL){ if (strncmp($t,'num ',4)==0){ $t = substr($t,4); $t = preg_replace(',\s,','',$t); - // Lever une ambiguit� possible si le champs fait partie de la table (pour compatibilit� de la balise tri avec compteur, somme, etc.) + // Lever une ambiguïté possible si le champ fait partie de la table (pour compatibilité de la balise tri avec compteur, somme, etc.) if (!is_null($table) && !is_null($field) && in_array($t,unserialize($field))) $t = "0+$table.$t"; else @@ -211,7 +211,7 @@ function tri_champ_order($t,$table=NULL,$field=NULL){ } else { $t = preg_replace(',\s,','',$t); - // Lever une ambiguit� possible si le champs fait partie de la table (pour compatibilit� de la balise tri avec compteur, somme, etc.) + // Lever une ambiguïté possible si le champ fait partie de la table (pour compatibilité de la balise tri avec compteur, somme, etc.) if (!is_null($table) && !is_null($field) && in_array($t,unserialize($field))) return $table.'.'.$t; else @@ -220,10 +220,10 @@ function tri_champ_order($t,$table=NULL,$field=NULL){ } /** - * Interpreter les multi xxx et num xxx utilise comme tri + * Interpréter les multi xxx et num xxx utilisés comme tri * pour la clause select * 'multi xxx' devient select "...." as multi - * les autres cas ne produisent qu'une chaine vide '' en select + * les autres cas ne produisent qu'une chaîne vide '' en select * 'hasard' devient 'rand() AS hasard' dans le select * * @param string $t @@ -244,7 +244,7 @@ function tri_champ_select($t){ /** * Rediriger une page suivant une autorisation, - * et ce, n'importe o� dans un squelette, m�me dans les inclusions. + * et ce, n'importe où dans un squelette, même dans les inclusions. * * @param bool $ok Indique si l'on doit rediriger ou pas * @param string $url Adresse vers laquelle rediriger @@ -263,7 +263,7 @@ function filtre_sinon_interdire_acces_dist($ok=false, $url='', $statut=0){ // Si aucun argument on essaye de deviner quoi faire if (!$url and !$statut){ - // Si on est dans l'espace priv�, on g�n�re du 403 Forbidden + // Si on est dans l'espace privé, on génère du 403 Forbidden if (test_espace_prive()){ http_status(403); $echec = charger_fonction('403','exec'); @@ -275,11 +275,11 @@ function filtre_sinon_interdire_acces_dist($ok=false, $url='', $statut=0){ } } - // Sinon on suit les directives indiqu�es dans les deux arguments + // Sinon on suit les directives indiquées dans les deux arguments // S'il y a un statut if ($statut){ - // Dans tous les cas on modifie l'ent�te avec ce qui est demand� + // Dans tous les cas on modifie l'entité avec ce qui est demandé http_status($statut); // Si le statut est une erreur 4xx on va chercher le squelette if ($statut >= 400) @@ -292,4 +292,40 @@ function filtre_sinon_interdire_acces_dist($ok=false, $url='', $statut=0){ exit; } -?> +/** + * Calculer et retourner la profondeur de la rubrique + * (dans spip3, c'est un champ de la table rubrique) + * les rubriques à la racine sont à une profondeur de 1 + * + * @param string + * @return int +*/ +function filtre_profondeur_dist($id_rubrique) { + $id_rubrique = intval($id_rubrique); + + // sauver les calculs déjà faits + static $profs = array(); + if (isset($profs[$id_rubrique])) { + return $profs[$id_rubrique]; + } + + // récupérer le parent. + $id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique='.$id_rubrique); + + // pas de parent : id_rubrique n'existe pas + if (is_null($id_parent)) { + return ''; + } + + // parent zéro : on est tout en haut (racine) + if ($id_parent == '0') { + return $profs[$id_rubrique] = 1; + } + + // sinon, on trouve la profondeur du parent + $parent = filtre_profondeur_dist($id_parent); + $profs[$id_rubrique] = ($parent + 1); + return $profs[$id_rubrique]; +} + +?> \ No newline at end of file diff --git a/www/plugins/auto/spip-bonux/svn.revision b/www/plugins/auto/spip-bonux/svn.revision index 914df8b..a9f71fc 100644 --- a/www/plugins/auto/spip-bonux/svn.revision +++ b/www/plugins/auto/spip-bonux/svn.revision @@ -1,10 +1,10 @@ Origine: file:///home/svn/repository/spip-zone/_plugins_/spip-bonux-2 -Revision: 55785 -Dernier commit: 2011-12-20 17:00:07 +0100 +Revision: 77736 +Dernier commit: 2013-10-28 18:00:06 +0100 file:///home/svn/repository/spip-zone/_plugins_/spip-bonux-2 -55785 -2011-12-20 17:00:07 +0100 +77736 +2013-10-28 18:00:06 +0100 \ No newline at end of file