Changeset 60866 in spip-zone


Ignore:
Timestamp:
May 2, 2012, 5:57:26 PM (9 years ago)
Author:
marcimat@…
Message:
  • Suivre le déplacement de jquery-ui dans SPIP3
  • Éviter les fonctions mb_* lorsqu'elles ne sont pas présentes dans le PHP (c'est vraiment dommage) (vince)
  • Mauvais nommage de l'autorisation du bouton d'action rapide (Cédric Couvrat)
  • Suppression du titre du plugin en doublon (le premier ne s'affichait pas à cause d'une coquille !)
Location:
_plugins_/fabrique
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fabrique/changelog.txt

    r60822 r60866  
    77
    88* Coquille et code mort en moins
     9* Suivre le déplacement de jquery-ui dans SPIP3
     10* Éviter les fonctions mb_* lorsqu'elles ne sont pas présentes dans le PHP (c'est vraiment dommage) (vince)
     11
     12Dans le plugin généré
     13* Mauvais nommage de l'autorisation du bouton d'action rapide (Cédric Couvrat)
     14
    915
    1016Interface :
    1117* Gestion des diff sous Windows (Julien Lanfray)
    1218* Affichage des diff unix plus aérés et simples
     19* Permettre de saisir des liaisons vers des objets que l'on a déclaré
     20  dans la Fabrique, mais qui ne sont pas encore connu de SPIP (plugin
     21  non activé). [ Possible que ça ne fonctionne bien, pour ces objets
     22  en cours de création, que si la table est naturelle pour SPIP
     23  (spip_xxs, id_xx) ]
     24* Suppression du titre du plugin en doublon (le premier ne s'affichait pas à cause d'une coquille !)
     25
    1326
    1427
  • _plugins_/fabrique/css/formulaire_fabrique.css.html

    r60510 r60866  
    6161.formulaire_fabriquer_plugin h3.erreur,
    6262.formulaire_fabriquer_plugin h4.erreur{
    63         background-image:url([(#CHEMIN_IMAGE{ui-bg_glass_75_e6e6e6_1x400.png}|image_sepia{F00}
     63        background-image:url([(#CHEMIN{css/images/ui-bg_glass_75_e6e6e6_1x400.png}|image_sepia{F00}
    6464                |extraire_attribut{src}|url_absolue)]);
    6565}
  • _plugins_/fabrique/fabrique/prefixe_autorisations.php.html

    r60510 r60866  
    3434[
    3535// bouton d'outils rapides
    36 function autoriser_[(#OBJET)]creer_menu_dist($faire, $type, $id, $qui, $opts){
     36function autoriser_[(#TYPE)]creer_menu_dist($faire, $type, $id, $qui, $opts){
    3737        return autoriser('creer', ['(#TYPE)'], '', $qui, $opts);
    3838}(#VAL{outils_rapides}|in_any{#VALEUR{boutons}})]
  • _plugins_/fabrique/fabrique_fonctions.php

    r60724 r60866  
    9292**/
    9393function chaine_de_langue($texte) {
     94        $texte = html_entity_decode($texte, ENT_QUOTES, 'UTF-8');
     95        # egalement
    9496        # http://www.php.net/manual/fr/function.html-entity-decode.php#104617
    95         // mais eviter une fonction anonyme en PHP 5.2
    96 
    97         $texte = preg_replace_callback("/(&#[0-9]+;)/", 'convertir_chaine_de_langue', $texte);
     97
    9898        return addslashes($texte);
    99 }
    100 
    101 // fonction normalement anonyme dans la fonction chaine_de_langue()
    102 // mais mise ici pour compat PHP 5.2
    103 function convertir_chaine_de_langue($m) {
    104         return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES");
    10599}
    106100
     
    530524
    531525
    532 // ucfirst en utilisant mb
    533 if (!function_exists('mb_ucfirst')) {
    534         function mb_ucfirst($str) {
    535                 $str[0] = mb_strtoupper($str[0]);
    536                 return $str;
     526
     527/**
     528 * Passer en majuscule en utilisant mb de preference
     529 * s'il est disponible.
     530 *
     531 * @param string $str
     532 *              La chaine a passer en majuscule
     533 * @return string
     534 *              La chaine en majuscule
     535**/
     536function fabrique_mb_strtoupper($str) {
     537        if (function_exists('mb_strtoupper')) {
     538                return mb_strtoupper($str);
     539        } else {
     540                return strtoupper($str);
     541        }
     542}
     543
     544/**
     545 * Passer en minuscule en utilisant mb de preference
     546 * s'il est disponible.
     547 *
     548 * @param string $str
     549 *              La chaine a passer en minuscule
     550 * @return string
     551 *              La chaine en minuscule
     552**/
     553function fabrique_mb_strtolower($str) {
     554        if (function_exists('mb_strtolower')) {
     555                return mb_strtolower($str);
     556        } else {
     557                return strtolower($str);
    537558        }
    538559}
     
    554575
    555576
     577
     578/**
     579 * Retourne un tableau table_sql=>Nom des objets de SPIP
     580 * complété des objets declares dans la fabrique ainsi
     581 * que de tables indiquees même si elles ne font pas parties
     582 * de declarations connues.
     583 *
     584 * @param array $objets_fabrique
     585 *              Déclaration d'objets de la fabrique
     586 * @param array $inclus
     587 *              Liste de tables SQL que l'on veut forcement presentes
     588 *              meme si l'objet n'est pas declare
     589 * @param array $exclus
     590 *              Liste de tables SQL que l'on veut forcement exclues
     591 *              meme si l'objet n'est pas declare
     592 * @return array
     593 *              Tableau table_sql => Nom
     594**/
     595function filtre_fabrique_lister_objets_editoriaux($objets_fabrique, $inclus=array(), $exclus=array()) {
     596
     597        // les objets existants
     598        $objets = lister_tables_objets_sql();
     599        foreach ($objets as $sql => $o) {
     600                if ($o['editable']) {
     601                        $liste[$sql] = _T($o['texte_objets']);
     602                }
     603        }
     604        unset($objets);
     605
     606        // les objets de la fabrique
     607        foreach ($objets_fabrique as $o) {
     608                if (!isset($liste[$o['table']])) {
     609                        $liste[ $o['table'] ] = $o['nom'];
     610                }
     611        }
     612
     613        // des objets qui n'existent pas mais qui sont actuellement coches dans la saisie
     614        foreach ($inclus as $sql) {
     615                if (!isset($liste[$sql])) {
     616                        $liste[$sql] = $sql; // on ne connait pas le nom
     617                }
     618        }
     619
     620        // tables forcement exclues
     621        foreach ($exclus as $sql) {
     622                unset($liste[$sql]);
     623        }
     624        // enlever un eventuel element vide
     625        unset($liste['']);
     626
     627        asort($liste);
     628
     629        return $liste;
     630}
     631
     632
    556633/**
    557634 * Retourne le code pour tester un type d'autorisation
  • _plugins_/fabrique/formulaires/fabriquer_plugin.html

    r60510 r60866  
    11<div class='formulaire_spip formulaire_editer formulaire_#FORM'>
    2         [(#ENV{paquet/nom}|oui)<h2 class='h2'><:fabrique:titre_plugin{plugin=#ENV{paquet/nom}}:></h2>]
    32        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
    43        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     
    4342                                <BOUCLE_tab_objets(DATA){source tableau, #OBJETS}>
    4443                                        [(#SET{defaut,<:fabrique:onglet_objet_n{nb=#CLE}:>})]
    45                                 <li id='objet#CLE'><a href="#tab-objet-#CLE">[(#NOM|mb_strtoupper|sinon{#GET{defaut}})]
     44                                <li id='objet#CLE'><a href="#tab-objet-#CLE">[(#NOM|fabrique_mb_strtoupper|sinon{#GET{defaut}})]
    4645                                        [(#REM) Attention à bien rafraichir l'image reduite lorsqu'on change de logo ]
    4746                                        [(#VALEUR{logo/24/fichier}
  • _plugins_/fabrique/formulaires/inc-fabriquer_plugin_objet.html

    r60724 r60866  
    270270<h3><a href="#chaines"><:fabrique:legend_chaines_langues:></a></h3>
    271271<div class='li_colonne'>
    272                 [(#SET{objets,#ENV{objets/#CLE/nom}|trim|mb_strtolower})]
    273                 [(#SET{type,#ENV{objets/#CLE/nom_singulier}|trim|mb_strtolower|sinon{#GET{objets}|substr{0,-1}}})]
    274                 [(#SET{mobjets,#GET{objets}|mb_ucfirst})]
    275                 [(#SET{mtype,#GET{type}|mb_ucfirst})]
     272                [(#SET{objets,#ENV{objets/#CLE/nom}|trim|fabrique_mb_strtolower})]
     273                [(#SET{type,#ENV{objets/#CLE/nom_singulier}|trim|fabrique_mb_strtolower|sinon{#GET{objets}|substr{0,-1}}})]
     274                [(#SET{mobjets,#GET{objets}|fabrique_mb_strtoupper|ucfirst})]
     275                [(#SET{mtype,#GET{type}|fabrique_mb_strtoupper|ucfirst})]
    276276        <B_chaines>
    277277        <ul>
     
    327327                        label=<:fabrique:label_table_liens:>})]
    328328
    329                 [(#SAISIE{choisir_objets, objets/#CLE/vue_liens,
     329                [(#SAISIE{checkbox, objets/#CLE/vue_liens,
    330330                        label=<:fabrique:label_vue_liens:>,
    331331                        explication=<:fabrique:label_vue_liens_explication:>,
    332                         exclus=#TABLE})]
     332                        datas=[(#ENV{objets}|fabrique_lister_objets_editoriaux{#ENV{objets/#CLE/vue_liens, #ARRAY}, #LISTE{#TABLE}})],
     333                        li_class=saisie_choisir_objets})]
    333334                </ul>
    334335        </fieldset>
  • _plugins_/fabrique/paquet.xml

    r60724 r60866  
    22        prefix="fabrique"
    33        categorie="outil"
    4         version="1.14.0"
     4        version="1.15.0"
    55        etat="dev"
    66        compatibilite="[3.0.0-rc;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.