Changeset 51202 in spip-zone


Ignore:
Timestamp:
Sep 9, 2011, 2:35:00 PM (10 years ago)
Author:
marcimat@…
Message:

Ajout des boutons <code> et <cadre> pour fermer http://core.spip.org/issues/2272 .

Location:
_core_/plugins/porte_plume
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/porte_plume/barre_outils/edition.php

    r51172 r51202  
    355355                                        ),
    356356                                ),
     357                        ),
     358
     359                        // Groupe de Codes informatiques.
     360                        array(
     361                                        "id" => "sepCode",
     362                                        "separator" => "---------------",
     363                                        "display"   => true,
     364                        ),
     365                        array(
     366                                        // groupe code et bouton <code>
     367                                        "id"          => 'grpCode',
     368                                        "name"        => _T('barreoutils:barre_inserer_code'),
     369                                        "className"   => 'outil_code',
     370                                        "openWith" => "<code>",
     371                                        "closeWith" => "</code>",               
     372                                        "display"     => true,
     373                                        "dropMenu"    => array(
     374                                                // bouton <cadre>
     375                                                array(
     376                                                        "id"          => 'cadre',
     377                                                        "name"        => _T('barreoutils:barre_inserer_cadre'),
     378                                                        "className"   => 'outil_cadre',
     379                                                        "openWith" => "<cadre>\n",
     380                                                        "closeWith" => "\n</cadre>",
     381                                                        "display"     => true,
     382                                                ),
     383                                        ),
    357384                        ),
    358385
     
    501528                        'outil_lowercase' => array('spt-v1.png','-10px -694px'), //'text_lowercase.png'
    502529
     530                'outil_code' => array('spt-v1.png','-10px -1086px'),
     531                        'outil_cadre' => array('spt-v1.png','-10px -1122px'),
     532               
    503533                'outil_clean' => array('spt-v1.png','-10px -982px'), //'clean.png'
    504534                'outil_preview' => array('spt-v1.png','-10px -1018px'), //'eye.png'
  • _core_/plugins/porte_plume/lang/barreoutils_fr.php

    r47671 r51202  
    7777        'barre_stats' => 'Afficher les statistiques du texte',
    7878        'barre_tableau' => 'Ins&eacute;rer/modifier (le s&eacute;lectionner avant) un tableau',
    79 
     79        'barre_inserer_code' => "Ins&eacute;rer un code informatique (code)",
     80        'barre_inserer_cadre' => "Ins&eacute;rer un code preformat&eacute; (cadre)",
     81       
    8082        // C
    8183        'config_info_enregistree' => 'Configuration sauvegard&eacute;e',
  • _core_/plugins/porte_plume/paquet.xml

    r51172 r51202  
    22        prefix="porte_plume"
    33        categorie="edition"
    4         version="1.10.1"
     4        version="1.11.0"
    55        etat="stable"
    66        compatibilite="[3.0.0-alpha2;["
  • _core_/plugins/porte_plume/porte_plume_fonctions.php

    r51199 r51202  
    132132         * Lorsqu'on demande d'inserer avant ou apres, la fonction retourne les parametres inseres
    133133         *
    134          * @param string $identifiant : identifiant du bouton a afficher
    135          * @param array $params : parametres a affecter a la trouvaille
    136          * @param string $lieu : lieu d'affectation des parametres (dedans, avant, apres)
    137          * @param false/array $tableau : tableau ou chercher les elements (sert pour la recursion)
    138          */
    139         function affecter(&$tableau, $identifiant, $params=array(), $lieu='dedans'){
     134         * @param false/array $tableau
     135         *              tableau ou chercher les elements (sert pour la recursion)
     136         * @param string $identifiant
     137         *              identifiant du bouton a afficher
     138         * @param array $params
     139         *              parametres a affecter a la trouvaille.
     140         *              Peut etre tableau cle/valeur ou
     141         *              Tableau de tableaux cle/valeur (sauf pour $lieu = dedans)
     142         * @param string $lieu
     143         *              lieu d'affectation des parametres (dedans, avant, apres)
     144         * @param bool $plusieurs
     145         *              definit si $params est une forme simple (tableau cle/valeur)
     146         *              ou comporte plusieurs boutons (tableau de tableaux cle/valeur).
     147         */
     148        function affecter(&$tableau, $identifiant, $params=array(), $lieu='dedans', $plusieurs=false){
    140149                static $cle_de_recherche = 'id'; // ou className ?
    141150               
     
    157166                if (($trouve !== false)) {
    158167                        if ($params) {
    159                                 $params = $this->verif_params($identifiant, $params);
    160                                 // dedans on merge
    161                                 if ($lieu == 'dedans') {
    162                                         return $tableau[$trouve] = array_merge($tableau[$trouve], $params);
    163                                 }
    164                                 // avant ou apres, on insere
     168                                // verifier que les insertions sont correctes
     169                                $les_params = ($plusieurs ? $params : array($params));
     170                                foreach ($les_params as $i=>$un_params) {
     171                                        $les_params[$i] = $this->verif_params($identifiant, $un_params);
     172                                }
     173       
     174                                // dedans on merge ($params uniquement tableau cle/valeur)
     175                                if ($lieu == 'dedans' && !$plusieurs) {
     176                                        return $tableau[$trouve] = array_merge($tableau[$trouve], $les_params[0]);
     177                                }
     178                                // avant ou apres, on insere ($params peut etre tableau cle/valeur ou tableau de tableaux cle/valeur)
    165179                                elseif ($lieu == 'avant') {
    166                                         array_splice($tableau, $trouve, 0, array($params));
     180                                        array_splice($tableau, $trouve, 0, $les_params);
    167181                                        return $params;
    168182                                }
    169183                                elseif ($lieu == 'apres') {
    170                                         array_splice($tableau, $trouve+1, 0, array($params));
     184                                        array_splice($tableau, $trouve+1, 0, $les_params);
    171185                                        return $params;
    172186                                }
     
    179193                        if (is_array($v)) {
    180194                                foreach ($v as $m=>$n) {
    181                                         if (is_array($n) AND ($r = $this->affecter($tableau[$i][$m], $identifiant, $params, $lieu)))
     195                                        if (is_array($n) AND ($r = $this->affecter($tableau[$i][$m], $identifiant, $params, $lieu, $plusieurs)))
    182196                                                return $r;
    183197                                }
     
    301315         *
    302316         * @param string $identifiant : identifiant du bouton ou l'on doit se situer
    303          * @param array $params : parametres de l'ajout
     317         * @param array $params
     318         *              Parametres de l'ajout.
     319         *              Description d'1 bouton (tableau cle/valeurs)
    304320         */
    305321        function ajouterAvant($identifiant, $params){
     
    308324       
    309325        /**
     326         * ajouter plusieurs boutons, avant un autre deja present
     327         *
     328         * @param string $identifiant : identifiant du bouton ou l'on doit se situer
     329         * @param array $tableau_params
     330         *              Parametres de l'ajout.
     331         *              Description de plusieurs boutons (tableau de tableaux cle/valeurs).
     332         */
     333        function ajouterPlusieursAvant($identifiant, $tableau_params){
     334                return $this->affecter($this->markupSet, $identifiant, $tableau_params, 'avant', true);
     335        }
     336       
     337        /**
    310338         * ajouter un bouton ou quelque chose, apres un autre deja present
    311339         *
    312          * @param string $identifiant : identifiant du bouton ou l'on doit se situer
    313          * @param array $params : parametres de l'ajout
     340         * @param string $identifiant
     341         *              identifiant du bouton ou l'on doit se situer
     342         * @param array $params
     343         *              parametres de l'ajout.
     344         *              Description d'1 bouton (tableau cle/valeurs)
    314345         */
    315346        function ajouterApres($identifiant, $params){
    316347                return $this->affecter($this->markupSet, $identifiant, $params, 'apres');
    317                
    318         }
    319                
     348        }
     349
     350        /**
     351         * ajouter plusieurs boutons, apres un autre deja present
     352         *
     353         * @param string $identifiant
     354         *              identifiant du bouton ou l'on doit se situer
     355         * @param array $tableau_params
     356         *              Parametres de l'ajout.
     357         *              Description de plusieurs boutons (tableau de tableaux cle/valeurs).
     358         */
     359        function ajouterPlusieursApres($identifiant, $tableau_params){
     360                return $this->affecter($this->markupSet, $identifiant, $tableau_params, 'apres', true);
     361        }
     362                       
    320363        /**
    321364         * ajouter une fonction js pour etre utilises dans les boutons
     
    543586                  $i = reset($i);
    544587                }
    545                 $css .= "\n.markItUp .$n a em {background-image:url(".protocole_implicite(url_absolue(find_in_path("icones_barre/$i"))).");$pos}";
     588                $css .= "\n.markItUp .$n>a>em {background-image:url(".protocole_implicite(url_absolue(find_in_path("icones_barre/$i"))).");$pos}";
    546589        }
    547590
Note: See TracChangeset for help on using the changeset viewer.