diff --git a/.gitattributes b/.gitattributes index dafb33d..b262620 100644 --- a/.gitattributes +++ b/.gitattributes @@ -29,9 +29,11 @@ icones_barre/lien.png -text icones_barre/notes.png -text icones_barre/oelig-maj.png -text icones_barre/oelig.png -text +icones_barre/page_white_code.png -text icones_barre/poesie.png -text icones_barre/quote.png -text icones_barre/spt-v1.png -text +icones_barre/tag.png -text icones_barre/text_bold.png -text icones_barre/text_indent.png -text icones_barre/text_indent_remove.png -text diff --git a/barre_outils/edition.php b/barre_outils/edition.php index 7e29714..41c5759 100644 --- a/barre_outils/edition.php +++ b/barre_outils/edition.php @@ -356,6 +356,33 @@ function barre_outils_edition(){ ), ), + // Groupe de Codes informatiques. + array( + "id" => "sepCode", + "separator" => "---------------", + "display" => true, + ), + array( + // groupe code et bouton + "id" => 'grpCode', + "name" => _T('barreoutils:barre_inserer_code'), + "className" => 'outil_code', + "openWith" => "", + "closeWith" => "", + "display" => true, + "dropMenu" => array( + // bouton + array( + "id" => 'cadre', + "name" => _T('barreoutils:barre_inserer_cadre'), + "className" => 'outil_cadre', + "openWith" => "\n", + "closeWith" => "\n", + "display" => true, + ), + ), + ), + /* inutile (origine de markitup et non de spip) // separation @@ -500,6 +527,9 @@ function barre_outils_edition_icones(){ 'outil_uppercase' => array('spt-v1.png','-10px -730px'), //'text_uppercase.png' 'outil_lowercase' => array('spt-v1.png','-10px -694px'), //'text_lowercase.png' + 'outil_code' => array('spt-v1.png','-10px -1086px'), + 'outil_cadre' => array('spt-v1.png','-10px -1122px'), + 'outil_clean' => array('spt-v1.png','-10px -982px'), //'clean.png' 'outil_preview' => array('spt-v1.png','-10px -1018px'), //'eye.png' ); diff --git a/icones_barre/page_white_code.png b/icones_barre/page_white_code.png new file mode 100644 index 0000000..0c76bd1 Binary files /dev/null and b/icones_barre/page_white_code.png differ diff --git a/icones_barre/spt-v1.png b/icones_barre/spt-v1.png index c2bd082..6fb8385 100644 Binary files a/icones_barre/spt-v1.png and b/icones_barre/spt-v1.png differ diff --git a/icones_barre/tag.png b/icones_barre/tag.png new file mode 100644 index 0000000..e093032 Binary files /dev/null and b/icones_barre/tag.png differ diff --git a/lang/barreoutils_fr.php b/lang/barreoutils_fr.php index 31ff613..b94542e 100644 --- a/lang/barreoutils_fr.php +++ b/lang/barreoutils_fr.php @@ -76,7 +76,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'barre_quote' => 'Citer un message', 'barre_stats' => 'Afficher les statistiques du texte', 'barre_tableau' => 'Insérer/modifier (le sélectionner avant) un tableau', - + 'barre_inserer_code' => "Insérer un code informatique (code)", + 'barre_inserer_cadre' => "Insérer un code preformaté (cadre)", + // C 'config_info_enregistree' => 'Configuration sauvegardée', diff --git a/paquet.xml b/paquet.xml index c6dd4e5..1dc6e5f 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@ verif_params($identifiant, $params); - // dedans on merge - if ($lieu == 'dedans') { - return $tableau[$trouve] = array_merge($tableau[$trouve], $params); + // verifier que les insertions sont correctes + $les_params = ($plusieurs ? $params : array($params)); + foreach ($les_params as $i=>$un_params) { + $les_params[$i] = $this->verif_params($identifiant, $un_params); } - // avant ou apres, on insere + + // dedans on merge ($params uniquement tableau cle/valeur) + if ($lieu == 'dedans' && !$plusieurs) { + return $tableau[$trouve] = array_merge($tableau[$trouve], $les_params[0]); + } + // avant ou apres, on insere ($params peut etre tableau cle/valeur ou tableau de tableaux cle/valeur) elseif ($lieu == 'avant') { - array_splice($tableau, $trouve, 0, array($params)); + array_splice($tableau, $trouve, 0, $les_params); return $params; } elseif ($lieu == 'apres') { - array_splice($tableau, $trouve+1, 0, array($params)); + array_splice($tableau, $trouve+1, 0, $les_params); return $params; } } @@ -178,7 +192,7 @@ class Barre_outils{ foreach ($tableau as $i=>$v){ if (is_array($v)) { foreach ($v as $m=>$n) { - if (is_array($n) AND ($r = $this->affecter($tableau[$i][$m], $identifiant, $params, $lieu))) + if (is_array($n) AND ($r = $this->affecter($tableau[$i][$m], $identifiant, $params, $lieu, $plusieurs))) return $r; } } @@ -300,23 +314,52 @@ class Barre_outils{ * ajouter un bouton ou quelque chose, avant un autre deja present * * @param string $identifiant : identifiant du bouton ou l'on doit se situer - * @param array $params : parametres de l'ajout + * @param array $params + * Parametres de l'ajout. + * Description d'1 bouton (tableau cle/valeurs) */ function ajouterAvant($identifiant, $params){ return $this->affecter($this->markupSet, $identifiant, $params, 'avant'); } /** - * ajouter un bouton ou quelque chose, apres un autre deja present + * ajouter plusieurs boutons, avant un autre deja present * * @param string $identifiant : identifiant du bouton ou l'on doit se situer - * @param array $params : parametres de l'ajout + * @param array $tableau_params + * Parametres de l'ajout. + * Description de plusieurs boutons (tableau de tableaux cle/valeurs). + */ + function ajouterPlusieursAvant($identifiant, $tableau_params){ + return $this->affecter($this->markupSet, $identifiant, $tableau_params, 'avant', true); + } + + /** + * ajouter un bouton ou quelque chose, apres un autre deja present + * + * @param string $identifiant + * identifiant du bouton ou l'on doit se situer + * @param array $params + * parametres de l'ajout. + * Description d'1 bouton (tableau cle/valeurs) */ function ajouterApres($identifiant, $params){ return $this->affecter($this->markupSet, $identifiant, $params, 'apres'); - } - + + /** + * ajouter plusieurs boutons, apres un autre deja present + * + * @param string $identifiant + * identifiant du bouton ou l'on doit se situer + * @param array $tableau_params + * Parametres de l'ajout. + * Description de plusieurs boutons (tableau de tableaux cle/valeurs). + */ + function ajouterPlusieursApres($identifiant, $tableau_params){ + return $this->affecter($this->markupSet, $identifiant, $tableau_params, 'apres', true); + } + /** * ajouter une fonction js pour etre utilises dans les boutons * @@ -542,7 +585,7 @@ function barre_outils_css_icones(){ $pos = "background-position:".end($i); $i = reset($i); } - $css .= "\n.markItUp .$n a em {background-image:url(".protocole_implicite(url_absolue(find_in_path("icones_barre/$i"))).");$pos}"; + $css .= "\n.markItUp .$n>a>em {background-image:url(".protocole_implicite(url_absolue(find_in_path("icones_barre/$i"))).");$pos}"; } return $css;