Browse Source

- fix: possibilité d'utiliser des tag <machin>....</machin> spécifique à spip

(par exemple : <onglets>)
- fix: possition/redimensionnement avec les crayons
- fix: affichage de ckeditor à la place de l'aperçu spip si l'éditeur par
défaut est cke et qu'on est en mode spip
- ajout d'une icône par onglet de configuration
svn/root/tags/v0.17.1
fredlefred@gmail.com 10 years ago
parent
commit
43a032101e
  1. 9
      .gitattributes
  2. 1
      ckeditor_fonctions.php
  3. 3
      css/cked-editor.css
  4. 161
      fonds/ckeditor4spip.js.html
  5. 11
      inc/ckeditor_class.php
  6. 14
      inc/ckeditor_tools.php
  7. 19
      paquet.xml
  8. 30
      plugin.xml
  9. BIN
      prive/themes/spip/images/cke24-avance.png
  10. BIN
      prive/themes/spip/images/cke24-basique.png
  11. BIN
      prive/themes/spip/images/cke24-imgdoc.png
  12. BIN
      prive/themes/spip/images/cke24-modeles.png
  13. BIN
      prive/themes/spip/images/cke24-plugins.png
  14. BIN
      prive/themes/spip/images/cke24-spipmodeles.png
  15. BIN
      prive/themes/spip/images/cke24-styles.png
  16. BIN
      prive/themes/spip/images/cke24-toolbars.png

9
.gitattributes vendored

@ -151,6 +151,7 @@ images/templates/template5.gif -text
images/templates/template6.gif -text
images/templates/template7.gif -text
inc/ckeditor_cfgtools.php -text
inc/ckeditor_class.php -text
inc/ckeditor_constantes.php -text
inc/ckeditor_constantes_inc.php -text
inc/ckeditor_constantes_inc.php.bak -text
@ -213,6 +214,14 @@ prive/squelettes/navigation/configurer_ckeditor_p5.html -text
prive/squelettes/navigation/configurer_ckeditor_p6.html -text
prive/squelettes/navigation/configurer_ckeditor_p7.html -text
prive/squelettes/navigation/configurer_ckeditor_p8.html -text
prive/themes/spip/images/cke24-avance.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-basique.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-imgdoc.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-modeles.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-plugins.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-spipmodeles.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-styles.png -text svneol=unset#image/png
prive/themes/spip/images/cke24-toolbars.png -text svneol=unset#image/png
prive/themes/spip/images/ckspip-logo-16.png -text svneol=unset#image/png
prive/themes/spip/images/ckspip-logo-24.png -text svneol=unset#image/png
prive/themes/spip/images/ckspip-logo.png -text svneol=unset#image/png

1
ckeditor_fonctions.php

@ -60,6 +60,7 @@ function ckeditor_getcss() {
@closedir($fkdir) ;
}
}
$flux .= "<link rel='stylesheet' href='".find_in_path('css/cked-editor.css')."' type='text/css' />\n" ;
return $flux ;
}

3
css/cked-editor.css

@ -2,3 +2,6 @@ div.modele-spip {
white-space: pre ;
font-family: monospace ;
}
form.formulaire_crayon {
max-width:999999px;
}

161
fonds/ckeditor4spip.js.html

@ -39,17 +39,20 @@ function htmldecode(s){
function HideSpipUI(editor_id){
if($(editor_id).size()==0){return;}
var crayon=editor_id.match(/^(#crayon_\d+)\s/);
var crayon=editor_id.match(/^(#crayon_\d+)\s/), item, editor_id_light = editor_id ;
if(crayon) {
editor_id_light='textarea.crayon-active' ;
stack[editor_id].crborder=$(crayon[1]+' .formulaire_spip').css('border');
stack[editor_id].crbg=$(crayon[1]+' .formulaire_spip').css('background-color');
$(crayon[1]+' .formulaire_spip')
.css('border','none')
.css('background-color','white');
item=$(crayon+' div.edition');
} else {
item=$(editor_id).parents().find('div.edition:has('+editor_id+')');
}
var item=$(editor_id).parents().find('div.edition:has('+editor_id+')');
item.each(function() {
if ($(this).find(editor_id).length == 1) {
if ($(this).find(editor_id_light).length == 1) {
if (editor_id.match(/^#formulaire_forum\s/)) {
stack[editor_id].fobd=$(this).css('border');
stack[editor_id].fobg=$(this).css('background');
@ -73,13 +76,17 @@ function ShowSpipUI(editor_id){
barrebouilles_editor(editor_id) ;
stack[editor_id].nobarre = false ;
}
var item=$(editor_id).parents().find('div.edition:has('+editor_id+')');
var crayon=editor_id.match(/^(#crayon_\d+)\s/), item ;
if(crayon) {
item=$(crayon+' div.edition');
} else {
item=$(editor_id).parents().find('div.edition:has('+editor_id+')');
}
item.each(function() {
if (editor_id.match(/^#formulaire_forum\s/)) {
$(this).css('border',stack[editor_id].fobd);
$(this).css('background',stack[editor_id].fobg);
}
var crayon=editor_id.match(/^(#crayon_\d+)\s/);
if(crayon) {
$(crayon[1]+' .formulaire_spip')
.css('border',stack[editor_id].crborder)
@ -115,36 +122,35 @@ function SpipEditor2CKEditor(editor_id){
EdConfig.toolbar='Spip'+stack[editor_id].tb;
HideSpipUI(editor_id);
try { // fix les problèmes des instances de ckeditor répertoriées, mais non visibles/accessibles du fait du rechargement via ajax
if (stack[editor_id] && stack[editor_id].editor && CKEDITOR.instances[stack[editor_id].editor]) {
CKEDITOR.remove(CKEDITOR.instances[stack[editor_id].editor]) ;
}
} catch (E) { /* rien */ }
CKEDITOR.remove(CKEDITOR.instances[stack[editor_id].editor]) ;
} catch (E) {
/* rien */
}
try {
$(editor_id).ckeditor(function(){
stack[editor_id].n='#'+this.container.getId();
stack[editor_id].editor=this.name ;
[(#REM) // calcul de la somme des deux marges de part et d'autre du texte area
// pour cela on teste la présence de divers parents possible...
// dw : Delta Width (différence de largeur entre le conteneur et l'éditeur)
]
var parents_class = [ '.cadre-formulaire-editer', '.cadre-formulaire', '.formulaire_spip', '#contenu' ] ;
var parent_ids = [ '.cadre-formulaire-editer', '.formulaire_crayon', '.cadre-formulaire', '.formulaire_spip', '#contenu' ] ;
var pc=0,parent_trouve=false ;
do {
stack[editor_id].conteneur_class = parents_class[pc++] ;
if ($(stack[editor_id].conteneur_class).length>0) {
stack[editor_id].parent_id = parent_ids[pc++] ;
if ($(stack[editor_id].parent_id).length>0) {
parent_trouve=true ;
stack[editor_id].marges=$(stack[editor_id].conteneur_class).width()-$(stack[editor_id].n).width() ;
stack[editor_id].marges=$(editor_id).parents(stack[editor_id].parent_id).width()-$(stack[editor_id].n).width() ;
}
} while ((pc<parents_class.length) && (!parent_trouve)) ;
} while ((pc<parent_ids.length) && (!parent_trouve)) ;
if (parent_trouve) {
this.on('resize', function(e) {
$(editor_id).parents(stack[editor_id].conteneur_class).width($(stack[editor_id].n).width()+stack[editor_id].marges);
$(editor_id).parents(stack[editor_id].parent_id).width($(stack[editor_id].n).width()+stack[editor_id].marges);
});
}
contexteChange(editor_id);
$(editor_id).attr('disabled',false);
$('#swapeditor_'+stack[editor_id].ndx)
@ -153,8 +159,11 @@ function SpipEditor2CKEditor(editor_id){
.attr('src','[(#CHEMIN{images/ckeditor_spip.png}|url_absolue)]') ;
$('#swapeditor_'+stack[editor_id].ndx).attr('disabled',false);
this.setReadOnly(false);
this.resize(CKEDITOR.ckConfig.minwidth,CKEDITOR.ckConfig.height,true);
this.resize(CKEDITOR.ckConfig.minwidth,CKEDITOR.ckConfig.height);
},EdConfig);
} catch (E) {
alert("Erreur non prévue : \n"+E) ;
}
}
function barrebouilles_editor(editor_id){
@ -241,8 +250,7 @@ function contexteChange(editor_id){
function cke_crayon_submit(editor_id){
if($(editor_id).size()==0){return;}
try{[(#REM)// si on est en mode 'ckeditor'
// on synchronise le textarea]
try{[(#REM)// si on est en mode 'ckeditor', on synchronise le textarea]
$(editor_id).ckeditorGet().updateElement();
}catch(e){ /* rien */ }
$(this).parents('.formulaire_crayon').submit();
@ -280,61 +288,72 @@ function fullInitCKEDITOR(editor_ids){
CKEDITOR.fullInitDone=true;
}
for(var id in editor_ids){
[(#REM) // on évite les appels multiples]
if (defined_ed[editor_ids[id][0]]) { continue ; } else { defined_ed[editor_ids[id][0]] = true ; }
var editor_id=editor_ids[id][0], editor_tb=editor_ids[id][1], crayon=editor_ids[id][2], editor_md5=editor_ids[id][3] ;
var ndx=$('[id^=cke_cpt_]').size(),buttons='';
while ($('[id=cke_cpt_'+ndx+']').size()>0) { ndx++ ; }
stack[editor_id]={'n':null,'w':null,'wr':null,'ctx':null,'crayons':0,'ndx':ndx,'tb':editor_tb};
stack[editor_id].nobarre = ($(editor_id).hasClass('no_barre') || CKEDITOR.ckeditmode == 'spip') ;
if (! stack[editor_id].nobarre)
$(editor_id).addClass('no_barre');[(#REM) // on fait en sorte de désactiver l'affichage du porte plume avant qu'il n'entre en scène ...]
if ($('.after_'+editor_md5).length==0) {
$(editor_id).after('<span id="cke_cpt_'+ndx+'" class="after_'+editor_md5+'"></span>');
[(#CONFIG{ckeditor/ignoreversion}|non)
if(CKEDITOR.version<CKEDITOR.ckpreferedversion){
var pref='<:ckeditor:version_preferee:>';
$('#cke_cpt_'+ndx).prepend(
'<div class="erreur_message">'+pref.replace(/%2/,CKEDITOR.ckpreferedversion).replace(/%1/,CKEDITOR.version)+'</div>'
);
if (($(editor_ids[id][0]).length > 0) && ($(editor_ids[id][0]).css('display') != 'none')) {
try {
$(editor_ids[id][0]).ckeditorGet() ;
} catch(e) {
var editor_id=editor_ids[id][0], editor_tb=editor_ids[id][1], crayon=editor_ids[id][2], editor_md5=editor_ids[id][3] ;
var ndx=$('[id^=cke_cpt_]').size(),buttons='';
while ($('[id=cke_cpt_'+ndx+']').size()>0) { ndx++ ; }
if (typeof stack[editor_id] == 'undefined') {
stack[editor_id] = {} ;
}
]
}
if(CKEDITOR.ckeditmode!='ckeditor-exclu'){
buttons=buttons +
'<button style="margin:0;width:40px;height:24px;" type="button" id="swapeditor_'+ndx+'" onclick="javascript:SwapEditor(\''+editor_id+'\');" title="'
+htmldecode(CKEDITOR.ckeditmode=='spip'?'<:ckeditor:use_ckeditor:>':'<:ckeditor:use_spip_editor:>')
+'"><img src="[(#CHEMIN{images/ckeditor.png}|url_absolue)]"/></button>';
}
stack[editor_id].crayons = 0 ;
stack[editor_id].ndx = ndx ;
stack[editor_id].tb = editor_tb ;
stack[editor_id].nobarre = ($(editor_id).hasClass('no_barre') || CKEDITOR.ckeditmode == 'spip') ;
if (! stack[editor_id].nobarre)
$(editor_id).addClass('no_barre');[(#REM) // on fait en sorte de désactiver l'affichage du porte plume avant qu'il n'entre en scène ...]
[(#REM) // on insère le menu déroulant de changement de contexte s'il existe des contextes]
<B_options> buttons=buttons+'<span style="padding-right:5px;"><:ckeditor:changer_de_contexte:></span>'
+'<select id="contexte_'+ndx+'" name="contexte_'+ndx+'" onchange="contexteChange(\''+editor_id+'\');" style="width:33%;"><option value="" selected><:ckeditor:sans_contexte:></option><BOUCLE_options(POUR){tableau #CONFIG{ckeditor/contextes}|ck_enliste{1}}><option value="[(#VALEUR|table_valeur{0})]">[(#VALEUR|table_valeur{1}|replace{(\.|#)})]</option></BOUCLE_options></select>';</B_options>;
if(buttons && ($('.before_'+editor_md5).length == 0)) {
var div = $(editor_id).closest('.markItUpContainer') ;
var style = "width;100%;text-align:right;position:relative;top:-24px;height:0px;" ;
if (div.length == 0) { // cas où le porteplume n'est pas là...
div = $(editor_id).siblings('label:first') ;
style = "width;100%;text-align:right;position:relative;top:-8px;height:0px;" ;
if ($('.after_'+editor_md5).length==0) {
$(editor_id).after('<span id="cke_cpt_'+ndx+'" class="after_'+editor_md5+'"></span>');
[(#CONFIG{ckeditor/ignoreversion}|non)
if(CKEDITOR.version<CKEDITOR.ckpreferedversion){
var pref='<:ckeditor:version_preferee:>';
$('#cke_cpt_'+ndx).prepend(
'<div class="erreur_message">'+pref.replace(/%2/,CKEDITOR.ckpreferedversion).replace(/%1/,CKEDITOR.version)+'</div>'
);
}
]
}
if(CKEDITOR.ckeditmode!='ckeditor-exclu'){
buttons=buttons +
'<button style="margin:0;width:40px;height:24px;" type="button" id="swapeditor_'+ndx+'" onclick="javascript:SwapEditor(\''+editor_id+'\');" title="'
+htmldecode(CKEDITOR.ckeditmode=='spip'?'<:ckeditor:use_ckeditor:>':'<:ckeditor:use_spip_editor:>')
+'"><img src="[(#CHEMIN{images/ckeditor.png}|url_absolue)]"/></button>';
}
div.prepend('<div id="cke_buttons_'+ndx+'" class="before_'+editor_md5+'" style="'+style+'"><a name="cke_buttons_ancre_'+ndx+'"></a>'+buttons+'</div>');
}
[(#REM) // gestion des crayons :]
if(crayon){
$('#'+crayon+' .crayon-submit')
.after('<button id="save" style=\'background:url("[(#CHEMIN{images/ok.png}|url_absolue)]") no-repeat scroll left top transparent;\' onclick="javascript:return cke_crayon_submit(\''+editor_id+'\');" title="<:bouton_enregistrer:>"><:bouton_enregistrer:></button>')[(#REM)// on ajoute notre bouton qui synchronisera le textarea avant l'editeur avec de soumettre le formulaire]
.remove();[(#REM)// on supprime le bouton original]
}
}
if(CKEDITOR.ckeditmode!='spip'){
for(var id in editor_ids){
SpipEditor2CKEditor(editor_ids[id][0]);
}
[(#REM) // on insère le menu déroulant de changement de contexte s'il existe des contextes]
<B_options> buttons=buttons+'<span style="padding-right:5px;"><:ckeditor:changer_de_contexte:></span>'
+'<select id="contexte_'+ndx+'" name="contexte_'+ndx+'" onchange="contexteChange(\''+editor_id+'\');" style="width:33%;"><option value="" selected><:ckeditor:sans_contexte:></option><BOUCLE_options(POUR){tableau #CONFIG{ckeditor/contextes}|ck_enliste{1}}><option value="[(#VALEUR|table_valeur{0})]">[(#VALEUR|table_valeur{1}|replace{(\.|#)})]</option></BOUCLE_options></select>';</B_options>;
if(buttons && ($('.before_'+editor_md5).length == 0)) {
var div ;
var style = "width;100%;text-align:right;position:relative;top:-24px;height:0px;" ;
if (crayon) {
div = $(editor_id).closest('.formulaire_crayon') ;
} else {
div = $(editor_id).closest('.markItUpContainer') ;
if (div.length == 0) { [(#REM) // cas où le porteplume n'est pas là... ]
div = $(editor_id).siblings('label:first') ;
style = "width;100%;text-align:right;position:relative;top:-8px;height:0px;" ;
}
}
if (div.length != 0) {
div.prepend('<div id="cke_buttons_'+ndx+'" class="before_'+editor_md5+'" style="'+style+'"><a name="cke_buttons_ancre_'+ndx+'"></a>'+buttons+'</div>');
}
}
[(#REM) // gestion des crayons :]
if(crayon){
$('#'+crayon+' .crayon-submit')
.after('<button id="save" style=\'background:url("[(#CHEMIN{images/ok.png}|url_absolue)]") no-repeat scroll left top transparent;\' onclick="javascript:return cke_crayon_submit(\''+editor_id+'\');" title="<:bouton_enregistrer:>"><:bouton_enregistrer:></button>')[(#REM)// on ajoute notre bouton qui synchronisera le textarea avant l'editeur avec de soumettre le formulaire]
.remove();[(#REM)// on supprime le bouton original]
}
if(CKEDITOR.ckeditmode!='spip'){
SpipEditor2CKEditor(editor_ids[id][0]) ;
}
}}
}
}
</BOUCLE_si>

11
inc/ckeditor_class.php

@ -0,0 +1,11 @@
<?php
class CKE_HTML2SPIPEngine extends HTML2SPIPEngine {
protected $tag2typo = array(
'br' => "\n",
'hr' => "\n----",
'p' => "\n\n",
);
}
?>

14
inc/ckeditor_tools.php

@ -259,7 +259,7 @@ function ckeditor_html2spip_post_dist($texte) {
function ckeditor_tag_protect($code,$tag,$params) {
return "<".stripslashes($tag).stripslashes($params).">".
strip_tags(preg_replace(
preg_replace(
array(
/* 1 */ '~<br/?>(\n|\r|\s)*~is',
/* 2 */ '~(&nbsp;|&#160;)~is'
@ -268,7 +268,7 @@ function ckeditor_tag_protect($code,$tag,$params) {
/* 1 */ "\n",
/* 2 */ ' '
),
stripslashes($code))).
stripslashes($code)).
"</".stripslashes($tag).">";
}
@ -365,7 +365,7 @@ function ckeditor_html2spip($texte) {
$replace[] = "$1<$2" ;
}
$search[] = "#<br/?>(\r|\n|\s)*<(td|caption|tr|tbody|/td|/caption|/tr|/tbody)>(\r|\n|\s)*#si" ;
$search[] = "#<br/?>(\r|\n|\s)*<(td|caption|tr|tbody|/td|/caption|/tr|/tbody)[^>]*>(\r|\n|\s)*#si" ;
$replace[] = "<$2>" ;
/* plus de nettoyage : */
@ -394,11 +394,12 @@ function ckeditor_html2spip($texte) {
require_once(find_in_path('lib/'._CKE_HTML2SPIP_VERSION.'/misc_tools.php'));
require_once(find_in_path('lib/'._CKE_HTML2SPIP_VERSION.'/HTMLEngine.class'));
require_once(find_in_path('lib/'._CKE_HTML2SPIP_VERSION.'/HTML2SPIPEngine.class'));
include_spip('inc/ckeditor_class') ;
$identity_tags = ckeditor_lire_config("html2spip_identite", _CKE_HTML2SPIP_IDENTITE);
define('_HTML2SPIP_PRESERVE_DISTANT', true);
$parser = new HTML2SPIPEngine($GLOBALS['db_ok']['link'], _DIR_IMG);
$parser = new CKE_HTML2SPIPEngine($GLOBALS['db_ok']['link'], _DIR_IMG);
$parser->loggingEnable();
if (trim($identity_tags) != '')
$parser->addIdentityTags(explode(';', $identity_tags));
@ -461,11 +462,6 @@ function ckeditor_spip2html($texte) {
$search[] = "~@~" ; // protection de @ : pour que Mailcrypt ne casse pas les liens
$replace[] = "&#64;" ;
if (ckeditor_tweaks_actifs('decoupe')) {
$search[] = "~(<p>)?\+\+\+\+(</p>)?~" ; // saut de page
$replace[] = "<div style=\"page-break-after:always;\"><span style=\"display: none;\">&nbsp;</span></div>" ;
}
if (CLOSED_PROTECTED_SPIP_TAGS) {
$search[] = "#&lt;((".CLOSED_PROTECTED_SPIP_TAGS.")-protected)(.*?)&gt;(.*?)&lt;/\\1&gt;#se" ;
$replace[] = "ckeditor_tag_unprotect('$4','$2','$3')" ;

19
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="ckeditor"
categorie="edition"
version="0.16.2"
version="0.16.3"
etat="dev"
compatibilite="[3.0.5;3.0.*]"
logo="images/ckspip-logo.png"
@ -14,20 +14,21 @@
<auteur mail="superyms@gmail.com">Mehdi Cherifi (Superyms)</auteur>
<auteur mail="manu@netbsd.or">Emmanuel Dreyfus</auteur>
<credit>Alex (http://contrib.spip.net/CKeditor-3-0#forum459606)</credit>
<credit>Les icones des onglets de configuration sont créées par Patricia Clausnitzer (http://pc.de/icons/pc.de-berlin-icon-pack.zip)</credit>
<licence lien="http://www.gnu.org/licenses/gpl-2.0.html">GNU/GPL v2</licence>
<copyright>2009-2012</copyright>
<menu nom="configurer_ckeditor" titre="ckeditor:ckeditor_titre" parent="menu_configuration" icone="images/ckspip-logo-16.png" />
<onglet nom="configurer_ckeditor" titre="ckeditor:ckeditor_p1" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p2" titre="ckeditor:ckeditor_p2" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p3" titre="ckeditor:ckeditor_p3" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p4" titre="ckeditor:ckeditor_p4" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p5" titre="ckeditor:ckeditor_p5" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p6" titre="ckeditor:ckeditor_p6" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p7" titre="ckeditor:ckeditor_p7" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor_p8" titre="ckeditor:ckeditor_p8" parent="configurer_ckeditor" icone="images/ckspip-logo-24.png" />
<onglet nom="configurer_ckeditor" titre="ckeditor:ckeditor_p1" parent="configurer_ckeditor" icone="images/cke24-basique.png" />
<onglet nom="configurer_ckeditor_p2" titre="ckeditor:ckeditor_p2" parent="configurer_ckeditor" icone="images/cke24-toolbars.png" />
<onglet nom="configurer_ckeditor_p3" titre="ckeditor:ckeditor_p3" parent="configurer_ckeditor" icone="images/cke24-avance.png" />
<onglet nom="configurer_ckeditor_p4" titre="ckeditor:ckeditor_p4" parent="configurer_ckeditor" icone="images/cke24-imgdoc.png" />
<onglet nom="configurer_ckeditor_p5" titre="ckeditor:ckeditor_p5" parent="configurer_ckeditor" icone="images/cke24-styles.png" />
<onglet nom="configurer_ckeditor_p6" titre="ckeditor:ckeditor_p6" parent="configurer_ckeditor" icone="images/cke24-modeles.png" />
<onglet nom="configurer_ckeditor_p7" titre="ckeditor:ckeditor_p7" parent="configurer_ckeditor" icone="images/cke24-plugins.png" />
<onglet nom="configurer_ckeditor_p8" titre="ckeditor:ckeditor_p8" parent="configurer_ckeditor" icone="images/cke24-spipmodeles.png" />
<pipeline nom="autoriser" inclure="ckeditor_autorisations.php" />
<pipeline nom="insert_head" inclure="ckeditor_fonctions.php" />

30
plugin.xml

@ -1,7 +1,7 @@
<plugin>
<nom><multi>[fr]CKEditor pour SPIP[en]CKEditor for SPIP[ar]CKEDITOR &#1604; SPIP</multi></nom>
<auteur>Auteurs : [Fr&#233;d&#233;ric Bonnaud->mailto:fred@lea-linux.org], [Mehdi Cherifi (Superyms)->mailto:superyms@gmail.com], [Emmanuel Dreyfus->mailto:manu@netbsd.org]</auteur>
<version>0.16.2</version>
<version>0.16.3</version>
<etat>test</etat>
<description>
<h3><multi>[fr]Int&#233;gration de l'&#233;diteur WYSIWYG CKEditor à SPIP 2.0.9+[en]Integration of WYSIWYG editor CKEditor with SPIP 2.0.9+[ar]&#1578;&#1603;&#1575;&#1605;&#1604; CKEditor &#1606;&#1575;&#1588;&#1585; &#1604;SPIP 2.0.9+ et SPIP 3.0.4+</multi></h3>
@ -14,7 +14,9 @@
Le mode d'&#233;dition de SPIP reste disponible, et on peut configurer le plugin pour que ce mode soit le mode d'&#233;dition par d&#233;faut.
N&#233;cessite : spip-bonux et CFG
Les icones des onglets de configuration sont créées par [Patricia Clausnitzer->http://pc.de/icons/pc.de-berlin-icon-pack.zip].
[en]
This integration of the editor CKEditor is noninvasive (it does not alter the SPIP code). It uses the mechanism of pipelines (here we use the pipeline: <code>editer_contenu_objet</code>). The version of CKeditor used is {{3.6}}.
@ -23,7 +25,7 @@
The editing mode SPIP still available, and you can configure the plugin so that this mode is edit mode by default.
Need/Require : spip-bonux and CFG
[ar]
&#1607;&#1584;&#1575; &#1575;&#1604;&#1578;&#1603;&#1575;&#1605;&#1604; &#1605;&#1606; CKEditor &#1575;&#1604;&#1606;&#1575;&#1588;&#1585; &#1607;&#1608; &#1605;&#1608;&#1587;&#1593; &#40;&#1571;&#1610; : &#1604;&#1575; &#1578;&#1594;&#1610;&#1610;&#1585; &#1585;&#1605;&#1586; SPIP). &#1601;&#1573;&#1606;&#1607; &#1610;&#1587;&#1578;&#1582;&#1583;&#1605; &#1570;&#1604;&#1610;&#1577; &#1605;&#1606; &#1582;&#1591;&#1608;&#1591; &#1575;&#1604;&#1571;&#1606;&#1575;&#1576;&#1610;&#1576;
_ &#1608;&#1607;&#1606;&#1575; &#1606;&#1587;&#1578;&#1582;&#1583;&#1605; &#1575;&#1604;&#1582;&#1591; : <code>editer_contenu_objet</code>
@ -47,45 +49,39 @@ _ &#1608;&#1607;&#1606;&#1575; &#1606;&#1587;&#1578;&#1582;&#1583;&#1605; &#1575
</bouton>
<onglet id="configurer_ckeditor" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-basique.png</icone>
<titre>ckeditor:ckeditor_p1</titre>
</onglet>
<onglet id="configurer_ckeditor_p2" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-toolbars.png</icone>
<titre>ckeditor:ckeditor_p2</titre>
</onglet>
<onglet id="configurer_ckeditor_p3" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-avance.png</icone>
<titre>ckeditor:ckeditor_p3</titre>
</onglet>
<onglet id="configurer_ckeditor_p4" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-imgdoc.png</icone>
<titre>ckeditor:ckeditor_p4</titre>
</onglet>
<onglet id="configurer_ckeditor_p5" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-styles.png</icone>
<titre>ckeditor:ckeditor_p5</titre>
</onglet>
<onglet id="configurer_ckeditor_p6" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-modeles.png</icone>
<titre>ckeditor:ckeditor_p6</titre>
</onglet>
<onglet id="configurer_ckeditor_p7" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-styles.png</icone>
<titre>ckeditor:ckeditor_p7</titre>
</onglet>
<onglet id="configurer_ckeditor_p8" parent="configurer_ckeditor">
<icone>prive/themes/spip/images/ckspip-logo-24.png</icone>
<icone>prive/themes/spip/images/cke24-spipmodeles.png</icone>
<titre>ckeditor:ckeditor_p8</titre>
</onglet>
<pipeline>
<nom>editer_contenu_objet</nom>
<inclure>ckeditor_fonctions.php</inclure>

BIN
prive/themes/spip/images/cke24-avance.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
prive/themes/spip/images/cke24-basique.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

BIN
prive/themes/spip/images/cke24-imgdoc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

BIN
prive/themes/spip/images/cke24-modeles.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

BIN
prive/themes/spip/images/cke24-plugins.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

BIN
prive/themes/spip/images/cke24-spipmodeles.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

BIN
prive/themes/spip/images/cke24-styles.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
prive/themes/spip/images/cke24-toolbars.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Loading…
Cancel
Save