Browse Source

feature: options permettant de supprimer les répertoires des sources et exemples de ckeditor

clean: nettoyage de code
svn/root/tags/v0.17.1
fredlefred@gmail.com 10 years ago
parent
commit
e2f21202b0
  1. 1
      .gitattributes
  2. 1
      ckeditor4spip.js.html
  3. 22
      ckeditor_fonctions.php
  4. 131
      formulaires/configurer_ckeditor_p3.php
  5. 8
      inc/ckeditor_tools.php
  6. 33
      lang/ckeditor_fr.php
  7. 1
      saisies/bouton.html

1
.gitattributes vendored

@ -309,6 +309,7 @@ prive/themes/spip/images/icons/icon-80.png -text svneol=unset#image/png
prive/themes/spip/images/icons/icon-81.png -text svneol=unset#image/png
prive/themes/spip/images/icons/icon-82.png -text svneol=unset#image/png
/rubriques-links-json.html -text
saisies/bouton.html -text
saisies/case_image.html -text
saisies/explication_spip.html -text
saisies/selecteur_images.html -text

1
ckeditor4spip.js.html

@ -269,7 +269,6 @@ function cke_crayon_submit(editor_id){
function fullInitCKEDITOR(editor_ids){
if(!editor_ids)editor_ids=[["textarea[name=texte]","Full"]];
initCKEDITOR();
CKEDITOR.ckConfig.on={
'pluginsLoaded':function(ev){ckeDataProcessor=ev.editor.dataProcessor;ev.editor.dataProcessor=spipDataProcessor;}
};

22
ckeditor_fonctions.php

@ -588,20 +588,6 @@ function ckeditor_preparescript($config) {
if (!$init_done) {
$script = "
<script type=\"text/javascript\">
function initCKEDITOR() { //
// la configuration de ckeditor :
CKEDITOR.ckeditorpath=".$ckeditor_json_encode(url_absolue(_CKE_JS)).";
CKEDITOR.spipurl=".$ckeditor_json_encode(url_absolue(_DIR_RACINE.'spip.php')).";
CKEDITOR.ckpreferedversion='"._CKE_PREFERED_VERSION."';
CKEDITOR.ckeditmode='$editmode';
CKEDITOR.cache_redim=".$ckeditor_json_encode(ckeditor_lire_config('cache_redim', _CKE_CACHE_REDIM_DEF)?true:false).";
$ajaxload
CKEDITOR.ckConfig = ".$ckeditor_json_encode($ckeditor_config_post($cke_cfg)).";
}
</script>
<script type=\"text/javascript\" src=\"".url_absolue(_CKE_JS)."\"></script>
<script type=\"text/javascript\">CKEDITOR.config.jqueryOverrideVal=true;</script>
<script type=\"text/javascript\" src=\"".url_absolue(_CKE_JQUERY)."\"></script>
@ -621,6 +607,14 @@ $ajaxload
}
$script .= " <script type=\"text/javascript\">
function loadCKEditor() {
// la configuration de ckeditor :
CKEDITOR.ckeditorpath=".$ckeditor_json_encode(url_absolue(_CKE_JS)).";
CKEDITOR.spipurl=".$ckeditor_json_encode(url_absolue(_DIR_RACINE.'spip.php')).";
CKEDITOR.ckpreferedversion='"._CKE_PREFERED_VERSION."';
CKEDITOR.ckeditmode='$editmode';
CKEDITOR.cache_redim=".$ckeditor_json_encode(ckeditor_lire_config('cache_redim', _CKE_CACHE_REDIM_DEF)?true:false).";
CKEDITOR.ckConfig = ".$ckeditor_json_encode($ckeditor_config_post($cke_cfg)).";
var ajaxload=".$ckeditor_json_encode($config['ajaxload']).";
try {
var prefix_id = $(this).attr('id');

131
formulaires/configurer_ckeditor_p3.php

@ -52,7 +52,6 @@ function formulaires_configurer_ckeditor_p3_charger_dist() {
'nom'=>'explication_conversion',
'texte' => _T('ckeditor:html2spip_detecte'))
) ;
//$cvt_explication = _T('ckeditor:html2spip_detecte') ;
} else {
$cvt_explication = array(
'saisie' => 'explication_spip',
@ -60,7 +59,6 @@ function formulaires_configurer_ckeditor_p3_charger_dist() {
'nom'=>'explication_conversion',
'texte' => _T('ckeditor:aide_html2spip_non_trouvee'))
) ;
//$cvt_explication= _T('ckeditor:aide_html2spip_non_trouvee') ;
}
$valeurs['saisies_cke_page3'] = array(
@ -240,7 +238,63 @@ function formulaires_configurer_ckeditor_p3_charger_dist() {
'cacher_option_intro' => 'oui',
'datas' => array(
'auto'=>'Auto détection',
'af'=>'Afrikaans','ar'=>'Arabic','bg'=>'Bulgarian','bn'=>'Bengali/Bangla','bs'=>'Bosnian','ca'=>'Catalan','cs'=>'Czech','da'=>'Danish','de'=>'German','el'=>'Greek','en'=>'English','en-au'=>'English (Australia)','en-ca'=>'English (Canadian)','en-uk'=>'English (United Kingdom)','eo'=>'Esperanto','es'=>'Spanish','et'=>'Estonian','eu'=>'Basque','fa'=>'Persian','fi'=>'Finnish','fo'=>'Faroese','fr'=>'French','fr-ca'=>'French (Canada)','gl'=>'Galician','gu'=>'Gujarati','he'=>'Hebrew','hi'=>'Hindi','hr'=>'Croatian','hu'=>'Hungarian','is'=>'Icelandic','it'=>'Italian','ja'=>'Japanese','km'=>'Khmer','ko'=>'Korean','lt'=>'Lithuanian','lv'=>'Latvian','mn'=>'Mongolian','ms'=>'Malay','nb'=>'Norwegian Bokmal','nl'=>'Dutch','no'=>'Norwegian','pl'=>'Polish','pt'=>'Portuguese (Portugal)','pt-br'=>'Portuguese (Brazil)','ro'=>'Romanian','ru'=>'Russian','sk'=>'Slovak','sl'=>'Slovenian','sr'=>'Serbian (Cyrillic)','sr-latn'=>'Serbian (Latin)','sv'=>'Swedish','th'=>'Thai','tr'=>'Turkish','uk'=>'Ukrainian','vi'=>'Vietnamese','zh'=>'Chinese Traditional','zh-cn'=>'Chinese Simplified'
'af'=>'Afrikaans',
'ar'=>'Arabic',
'bg'=>'Bulgarian',
'bn'=>'Bengali/Bangla',
'bs'=>'Bosnian',
'ca'=>'Catalan',
'cs'=>'Czech',
'da'=>'Danish',
'de'=>'German',
'el'=>'Greek',
'en'=>'English',
'en-au'=>'English (Australia)',
'en-ca'=>'English (Canadian)',
'en-uk'=>'English (United Kingdom)',
'eo'=>'Esperanto',
'es'=>'Spanish',
'et'=>'Estonian',
'eu'=>'Basque',
'fa'=>'Persian',
'fi'=>'Finnish',
'fo'=>'Faroese',
'fr'=>'French',
'fr-ca'=>'French (Canada)',
'gl'=>'Galician',
'gu'=>'Gujarati',
'he'=>'Hebrew',
'hi'=>'Hindi',
'hr'=>'Croatian',
'hu'=>'Hungarian',
'is'=>'Icelandic',
'it'=>'Italian',
'ja'=>'Japanese',
'km'=>'Khmer',
'ko'=>'Korean',
'lt'=>'Lithuanian',
'lv'=>'Latvian',
'mn'=>'Mongolian',
'ms'=>'Malay',
'nb'=>'Norwegian Bokmal',
'nl'=>'Dutch',
'no'=>'Norwegian',
'pl'=>'Polish',
'pt'=>'Portuguese (Portugal)',
'pt-br'=>'Portuguese (Brazil)',
'ro'=>'Romanian',
'ru'=>'Russian',
'sk'=>'Slovak',
'sl'=>'Slovenian',
'sr'=>'Serbian (Cyrillic)',
'sr-latn'=>'Serbian (Latin)',
'sv'=>'Swedish',
'th'=>'Thai',
'tr'=>'Turkish',
'uk'=>'Ukrainian',
'vi'=>'Vietnamese',
'zh'=>'Chinese Traditional',
'zh-cn'=>'Chinese Simplified'
)
)
)
@ -284,6 +338,36 @@ function formulaires_configurer_ckeditor_p3_charger_dist() {
)
)
)
),
array(
'saisie' => 'fieldset',
'options' => array(
'nom' => 'nettoyage_ckeditor',
'label' => _T('ckeditor:nettoyage_de_ckeditor'),
'pliable' => 'oui',
'plie' => 'oui'
),
'saisies' => array(
array(
'saisie' => 'radio',
'options' => array(
'nom' => 'nettoyage',
'datas' => array(
'sources'=>_T('ckeditor:les_sources'),
'exemples'=>_T('ckeditor:les_exemples'),
'tout'=>_T('ckeditor:les_sources_et_les_exemples')
)
)
),
array(
'saisie' => 'bouton',
'options' => array(
'nom' => 'nettoyer',
'type' => 'submit',
'texte' => _T('ckeditor:nettoyer')
)
)
)
)
) ;
@ -321,6 +405,47 @@ function formulaires_configurer_ckeditor_p3_traiter_dist() {
unset($_POST[$cle]) ;
}
return array('message_ok' => _T('ckeditor:ck_delete')) ;
} else if (_request('nettoyer')) {
$cke_path = dirname(_CKE_JS) ;
$sources = $cke_path.'/_source' ;
$exemples = $cke_path.'/_samples' ;
switch (_request('nettoyage')) {
case 'sources':
if (is_dir($sources)) {
ckeditor_efface_repertoire($sources) ;
return array('message_ok' => _T('ckeditor:ok_nettoyage_des_sources')) ;
} else {
return array('message_ok', _T('ckeditor:ok_repertoire_introuvable',array('repertoire'=>$sources))) ;
}
break ;
case 'exemples':
if (is_dir($exemples)) {
ckeditor_efface_repertoire($exemples) ;
return array('message_ok' => _T('ckeditor:ok_nettoyage_des_exemples')) ;
} else {
return array('message_ok', _T('ckeditor:ok_repertoire_introuvable',array('repertoire'=>$exemples))) ;
}
break ;
case 'tout':
$result = array() ;
if (is_dir($sources)) {
ckeditor_efface_repertoire($sources) ;
$result[] = _T('ckeditor:ok_nettoyage_des_sources') ;
} else {
$result[] = _T('ckeditor:ok_repertoire_introuvable',array('repertoire'=>$sources)) ;
}
if (is_dir($exemples)) {
ckeditor_efface_repertoire($exemples) ;
$result[] = _T('ckeditor:ok_nettoyage_des_sources') ;
} else {
$result[] = _T('ckeditor:ok_repertoire_introuvable',array('repertoire'=>$exemples)) ;
}
return array('message_ok' => join("<br/>\n",$result)) ;
break ;
default:
return array('message_erreur' => _T('ckeditor:ko_nettoyage_indetermine')) ;
break ;
}
} else {
foreach(preg_split('~\s*;\s*~', _request("protectedtags")) as $tag) {
$tag = trim($tag) ;

8
inc/ckeditor_tools.php

@ -20,6 +20,14 @@ foreach($cke_tags as $tagname => $tagdesc) {
define( 'PROTECTED_SPIP_TAGS', "(?:".join('|', $protectedtags).")" );unset($protectedtags);
define( 'CLOSED_PROTECTED_SPIP_TAGS', "(?:".join('|', $closedtags).")" );unset($closedtags);
function ckeditor_efface_repertoire($dir) {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? ckeditor_efface_repertoire("$dir/$file") : unlink("$dir/$file");
}
return rmdir($dir);
}
function ckeditor_ecrire_protectedtags($tags=null) {
if (! is_array($tags)) { $tags = lire_config('ckeditor/tags') ; }
if (! is_array($tags)) { $tags = unserialize(_CKE_TAGS_DEF) ; }

33
lang/ckeditor_fr.php

@ -10,7 +10,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'acceder_repertoire' => 'Accéder au répertoire @repertoire@.',
'acces_interdit' => 'Accès interdit.',
'affiche_les_informations_de_developpement' => 'Afficher les informations de développement',
'aide_class_css_formulaire' => 'Si vous voulez utilisez CKEditor avec vos formulaires, il faut que vos {{<textarea>}}s aient une classe CSS spécifique que vous devez renseigner ici. Par défaut, CKEditor utilisera la la classe CSS : {{inserer_barre_edition}} qui correspond aux {{<textarea>}}s auxquels le {{porteplume}} se greffe.',
'aide_contextes' => 'Indiquez ici une liste d\'identifiants CSS ({{#identifiant}}) ou de classes CSS ({{.class}}) qui pourront être appliquées au {{<body>}} de l\'éditeur. Vous pouvez préciser une description du contexte en entrant : {{#contexte|description}} ou {{.contexte|description}}.
{{Exemple :}} {#colonne_un|Colonne principale; .colonne_gauche|Colonne de gauche ; .colonne_droite|Colonne de droite ; #extrait|Comme extrait de texte}',
'aide_couleurs' => 'Entrez ici, une liste de couleurs au format rvb ou rrvvbb<br/>(exemple <code>999 333 939 993 399 339 933 393</code>).<br/>Ceci permet, par exemple, de prédéfinir les couleurs de la CSS du site et ainsi de maintenir une certaine unité au site.<br/>Toute entrée invalide est ignorée.',
@ -65,7 +64,6 @@ Exemple :
'changer_de_contexte' => 'Contexte',
'choisir_correction_ortho' => 'Si la langue n\'est pas connue, choisir :',
'choisir_skin' => 'Choisir une skin :',
'cisf' => 'saisie facile (fonctionnalité expérimentale)',
'ckeditor_defaut' => 'CKEditor par défaut',
'ckeditor_exclu' => 'CKEditor exclusivement',
'ckeditor_p1' => 'Basique',
@ -88,8 +86,6 @@ Exemple :
'ck_ko' => 'Erreur dans les paramètres.',
'ck_ok' => 'Configuration enregistrée.',
'class_des_formats' => 'Classe CSS des éléments insérés par le menu déroulants formats :',
'class_partie_privee' => 'classe CSS :',
'class_partie_publique' => 'classe CSS :',
'configuration_des_couleurs' => 'Configuration des couleurs :',
'configuration_des_modeles_spip' => 'Liste de modèles',
'configuration_des_polices' => 'Configuration des polices :',
@ -105,7 +101,6 @@ Exemple :
// D
'demarrer_correction_ortho' => 'Démarrer la correction orthographique.',
'desactive_car_zappe_par_html2spip' => 'Désactivé car zappé par HTML2SPIP.',
'description' => 'Description :',
'documents_article' => 'Afficher uniquement les documents de l\'article en cours d\'édition.',
'documents_rubrique' => 'Afficher uniquement les documents de la rubrique en cours d\'édition.',
@ -169,6 +164,7 @@ Exemple :
// K
'kcfinder_ignore' => ' (option ignorée par KCFinder)',
'ko_nettoyage_indetermine' => 'Vous devez choisir un mode de nettoyage : sources, exemples ou les deux.',
// L
'label_article' => 'Article',
@ -180,8 +176,9 @@ Exemple :
'label_section' => 'Rubrique',
'langue_ckeditor' => 'Langue de CKEditor :',
'large' => 'Écran large :',
'les_crayons' => 'les crayons (fonctionnalité expérimentale)',
'les_forums' => 'les forums (fonctionnalité expérimentale)',
'les_exemples' => 'le répertoire des exemples',
'les_sources' => 'le répertoire des sources',
'les_sources_et_les_exemples' => 'les répertoires des sources et des exemples',
'listes_des_couleurs_presentees' => 'Liste des couleurs présentées :',
'liste_des_parametres' => 'Liste des paramètres',
'liste_de_contextes' => 'Liste de contextes :',
@ -206,6 +203,8 @@ Exemple :
'modification_de_modele' => 'Modification du modèle SPIP.',
// N
'nettoyage_de_ckeditor' => 'Nettoyage du répertoire de CKEditor',
'nettoyer' => 'Nettoyer',
'nom_du_bouton' => 'Nom du bouton :',
'nom_du_nouveau_modele' => 'Entrez le nom du nouveau modèle :',
'nom_nouveau_modele' => 'Nom du modèle :',
@ -231,41 +230,37 @@ Valeur détectée : ',
// O
'objet_en_edition' => 'l\'objet en cours d\'édition',
'ok' => 'Ok',
'options_cisf' => 'Options Saisie Facile',
'ok_nettoyage_des_exemples' => 'Le répertoire d\'exemples de CKEditor est supprimé.',
'ok_nettoyage_des_sources' => 'Le répertoire des sources de CKEditor est supprimé.',
'ok_nettoyage_des_sources_et_des_exemples' => 'Les répertoires d\'exemples et des sources de CKEditor sont supprimés.',
'ok_repertoire_introuvable' => 'Le réperoire [@repertoire@] n\'existe pas. Il a déjà été supprimé.',
'options_conversion' => 'Options de conversion',
'options_crayons' => 'Options pour les crayons',
'options_css' => 'Options CSS :',
'options_developpeur' => 'Options développeur',
'options_editeur' => 'Option de l\'éditeur',
'options_forums' => 'Options pour les forums',
'options_gui' => 'Option de l\'interface',
'options_html2spip' => 'Mode de conversion :',
'options_orthographe' => 'Options de correction orthographique',
'options_privee' => 'Options pour la partie privée',
'options_publique' => 'Options pour la partie publique',
'options_spip' => 'Options SPIP :',
'options_vignettes' => 'Options pour les vignettes',
'ordre_du_bouton' => 'Ordre du bouton :',
// P
'parametre_nomme' => 'Paramètre : @PARAMETRE@',
'partie_privee' => 'les formulaires en partie privée',
'partie_publique' => 'les formulaires en partie publique',
'pas_numerique' => 'non numérique',
'plugins_barre_position' => 'Position des boutons :',
'plugin_active' => 'activer le plugin',
'plugin_bouton' => 'activer le bouton',
// R
'reinitialiser_le_plugin' => 'Réinitialiser le plugin',
'reinitialiser' => 'Réinitialiser',
'reinitialiser_le_plugin' => 'Réinitialiser le plugin',
'repertoires_telechargement' => 'Répertoires de téléchargement :',
'repertoire_des_fichiers' => 'Répertoire des fichiers:',
'repertoire_des_flash' => 'Répertoire des documents Flash®:',
'repertoire_des_images' => 'Répertoire des images :',
'repertoire_de_base' => 'Répertoire de base des téléchargements :',
'repertoire_parent' => 'Accéder au répertoire parent.',
'reset_toolbars' => 'Réinitialise les barres d\'outils',
'retour' => 'Retour',
'rubrique' => 'rubrique',
@ -273,10 +268,7 @@ Valeur détectée : ',
'sans_contexte' => 'sans contexte',
'selecteurs_espace_prive' => 'Sélecteurs jQuery pour l\'espace privé :',
'selecteurs_espace_public' => 'Sélecteurs jQuery pour l\'espace publique :',
'selection_aucun' => 'Tout désélectionner',
'selection_document_spip' => 'Sélection d\'un document SPIP',
'selection_inverse' => 'Inverser la sélection',
'selection_tout' => 'Tout sélectionner',
'shiftentermode' => 'Shift + Entrée donne un :',
'spipification' => 'Copyright &copy; 2009 <a style="text-decoration:underline;color:blue;cursor:pointer;" href="http://code.google.com/p/ckeditor-spip-plugin/">Plugin SPIP</a> - Frédéric Bonnaud, Mehdi Cherifi, Emmanuel Dreyfus',
'spip_defaut' => 'SPIP par défaut',
@ -292,11 +284,8 @@ Valeur détectée : ',
// T
'tailles_de_police' => 'Taille des polices :',
'taille_maximale_telechargements' => '<p>La taille maximale autorisée d\'un fichier est de @taille@Mo.</p>',
'tb_basic' => 'basique',
'tb_full' => 'complète',
'telecharger' => 'Télécharger',
'telecharger_document' => 'Télécharger un document',
'toolbar' => 'barre d\'outils :',
'tool_About' => '&#192; propos',
'tool_Anchor' => 'Ancre',
'tool_BGColor' => 'Couleur du fond',

1
saisies/bouton.html

@ -0,0 +1 @@
<button[ name="(#ENV{nom})" value="#ENV{nom}"][ type="(#ENV{type})"][ style="width:(#ENV{largeur});"]>#ENV{texte}</button>
Loading…
Cancel
Save