[(#CACHE{0})][(#HTTP_HEADER{Content-type: text/javascript[; charset=(#CHARSET)]})]
var ckeDataProcessor;
var sansConversion = [(#CONFIG{ckeditor/conversion}|=={'aucune'}|?{true,false})] ;
if (sansConversion) {
spipDataProcessor={
toDataFormat:function(html, fixForBody){
if(fixForBody) {
return ckeDataProcessor.toDataFormat(html,fixForBody).replace(/
]*>(.|\r|\n)*<\/head>/, '').replace(/[\r\n\s]*]*>[\r\n\s]*/, '').replace(/[\r\n\s]*<\/body>[\r\n\s]*/, '');
} else {
return ckeDataProcessor.toDataFormat(html,fixForBody) ;
}
},
toHtml:function(data, fixForBody){
if(fixForBody) {
return ''+ckeDataProcessor.toHtml(data.replace(//,'').replace(/<\/html>/, ''),fixForBody)+'' ;
} else {
return ckeDataProcessor.toHtml(data,fixForBody);
}
}
};
} else {
spipDataProcessor={
toDataFormat:function(html, fixForBody){
return jQuery.ajax({url:CKEDITOR.spipurl+'?page=ckspip_convert',data:{text_area:html.replace(/]*>\s*(.*?)\s*<\/span>/g,'$1'),cvt:'html2spip',fix:fixForBody},global:false,type:'POST',dataType:'text',async:false}).responseText;
},
toHtml:function(data, fixForBody){
return jQuery.ajax({url:CKEDITOR.spipurl+'?page=ckspip_convert',data:{text_area:data.replace(/]*>\s*(.*?)\s*<\/span>/g,'$1'),cvt:'spip2html',fix:fixForBody},global:false,type:'POST',dataType:'text',async:false}).responseText;
}
};
}
function htmldecode(s){
return jQuery('').html(s).text();
}
function HideSpipUI(editor_id){
if(jQuery(editor_id).size()==0){return;}
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=jQuery(crayon[1]+' .formulaire_spip').css('border');
stack[editor_id].crbg=jQuery(crayon[1]+' .formulaire_spip').css('background-color');
jQuery(crayon[1]+' .formulaire_spip')
.css('border','none')
.css('background-color','white');
item=jQuery(crayon+' div.edition');
} else {
editor_id_light = editor_id.match(/^#\S*\s+(.*)$/) ;
if (editor_id_light) {
editor_id_light = editor_id_light[1] ;
} else {
editor_id_light = editor_id ;
}
item=jQuery(editor_id_light).parents().find('div.forum, div.edition:has('+editor_id_light+')');
}
item.each(function() {
if (jQuery(this).find(editor_id_light).length == 1) {
if (editor_id.match(/^#formulaire_forum\s/)) {
stack[editor_id].fobd=jQuery(this).css('border');
stack[editor_id].fobg=jQuery(this).css('background');
jQuery(this).css('border','none');
jQuery(this).css('background','none');
}
jQuery(this).find('.spip_barre').css('display','none').end()
.find('.explication').css('display','none').end()
.find('.markItUpHeader').css('display','none').end()
.find('.markItUpTabs').css('display','none').end()
.find('.markItUpPreview').css('display','none').end()
.find('.markItUpFooter').css('display','none');
}
}) ;
}
function ShowSpipUI(editor_id){
if(jQuery(editor_id).size()==0){return;}
if (! stack[editor_id].nobarre) {
jQuery(editor_id).removeClass('no_barre') ;
barrebouilles_editor(editor_id) ;
stack[editor_id].nobarre = false ;
}
var crayon=editor_id.match(/^(#crayon_\d+)\s/), item ;
if(crayon) {
item=jQuery(crayon+' div.edition');
} else {
item=jQuery(editor_id).parents().find('div.forum, div.edition:has('+editor_id+')');
}
item.each(function() {
if (editor_id.match(/^#formulaire_forum\s/)) {
jQuery(this).css('border',stack[editor_id].fobd);
jQuery(this).css('background',stack[editor_id].fobg);
}
if(crayon) {
jQuery(crayon[1]+' .formulaire_spip')
.css('border',stack[editor_id].crborder)
.css('background-color',stack[editor_id].crbg);
}
if(jQuery(this).find('.markItUpTabs .previsuVoir').hasClass('on')){
jQuery(this).find('.markItUpTabs').css('display','').end()
.find('.markItUpPreview').css('display','block').end()
.find('.markItUpEditor').css('display','none');
}else{
jQuery(this).find('.spip_barre').css('display','').end()
.find('.explication').css('display','').end()
.find('.markItUpHeader').css('display','').end()
.find('.markItUpTabs').css('display','').end()
.find('.markItUpFooter').css('display','').end()
.find('.markItUpEditor').css('display','block').end()
.find('.markItUpPreview').css('display','none');
}
}) ;
}
[(#REM)// pile permettant d'avoir plusieurs éditeurs]
var stack=[];
function SpipEditor2CKEditor(editor_id){
if (jQuery(editor_id).size()==0) {return;}
jQuery('#swapeditor_'+stack[editor_id].md5)
.attr('disabled',true)
.attr('title',htmldecode('<:ckeditor:loading:>'))
.find('img')
.attr('src','[(#CHEMIN{images/searching.gif}|url_absolue)]');
jQuery(editor_id).attr('disabled',true);
var EdConfig={};jQuery.extend(EdConfig,CKEDITOR.ckConfig) ;
EdConfig.toolbar='Spip'+stack[editor_id].tb;
try {
jQuery(editor_id).ckeditor(function(){
HideSpipUI(editor_id);
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...
]
var parent_ids = [ '.cadre-formulaire-editer', '.formulaire_crayon', '.cadre-formulaire', '.formulaire_spip', '#contenu' ] ;
var pc=0,parent_trouve=false ;
do {
stack[editor_id].parent_id = parent_ids[pc++] ;
if (jQuery(stack[editor_id].parent_id).length>0) {
parent_trouve=true ;
stack[editor_id].marges=jQuery(editor_id).parents(stack[editor_id].parent_id).width()-jQuery(stack[editor_id].n).width() ;
}
} while ((pc'))
.find('img')
.attr('src','[(#CHEMIN{images/ckeditor_spip.png}|url_absolue)]') ;
jQuery('#swapeditor_'+stack[editor_id].md5).attr('disabled',false);
this.setReadOnly(false);
this.on('dataReady', function(e){
this.resize(CKEDITOR.ckConfig.minwidth,CKEDITOR.ckConfig.height);
});
},EdConfig);
} catch (E) { /* rien */ }
}
function barrebouilles_editor(editor_id){
[(#REM)
// basée sur 'barrebouilles' du fichier : porte_plume/porte_plume_start.js.html
// (c) Matthieu Marcillaud
// fonction generique appliquee aux classes CSS :
// inserer_barre_forum, inserer_barre_edition, inserer_previsualisation
]
if (jQuery(editor_id).hasClass('inserer_barre_forum'))
jQuery(editor_id).barre_outils('forum');
if (jQuery(editor_id).hasClass('inserer_barre_edition'))
jQuery(editor_id).barre_outils('edition');
if (jQuery(editor_id).hasClass('inserer_previsualisation'))
jQuery(editor_id).barre_previsualisation();
[(#REM) // fonction specifique aux formulaires de SPIP :
// barre de forum
]
if (jQuery(editor_id).hasClass('textarea_forum'))
jQuery(editor_id).barre_outils('forum');
if(jQuery(editor_id).attr('name').match(/^(texte|\w+_texte)$/)) {
if (!editor_id.match(/\b#formulaire_forum\b/)) {
jQuery(editor_id).barre_outils('edition').barre_previsualisation();
}
[(#CONFIG{forums_afficher_barre}|=={non}|non)
else {
jQuery(editor_id).barre_outils('forum');
}]
}
}
function CKEditor2SpipEditor(editor_id){
if(jQuery(editor_id).size()==0){return;}
jQuery('#swapeditor_'+stack[editor_id].md5)
.attr('disabled',true)
.attr('title',htmldecode('<:ckeditor:loading:>'))
.find('img')
.attr('src','[(#CHEMIN{images/searching.gif}|url_absolue)]');
jQuery(editor_id)
.attr('disabled',true)
.css('display','block')
.ckeditorGet().destroy();
ShowSpipUI(editor_id);
jQuery('#swapeditor_'+stack[editor_id].md5)
.attr('title',htmldecode('<:ckeditor:use_ckeditor:>'))
.find('img')
.attr('src','[(#CHEMIN{images/ckeditor.png}|url_absolue)]')
.end()
.attr('disabled',false);
jQuery(editor_id)
.attr('disabled',false);
}
function SwapEditor(editor_id){
if(jQuery(editor_id).size()==0){return;}
try{
CKEditor2SpipEditor(editor_id);
}catch(e){
SpipEditor2CKEditor(editor_id);
}
}
function contexteChange(editor_id){
if(jQuery(editor_id).size()==0){return;}
if(jQuery("#contexte_"+stack[editor_id].md5).length){
var contexte=jQuery("#contexte_"+stack[editor_id].md5).val().match(/^([\.#])(.*)$/);
if(stack[editor_id].ctx){[(#REM)// on supprime l'ancien contexte]
if(stack[editor_id].ctx[1]=="#"){[(#REM)// le contexte est donné via un identifiant]
jQuery(stack[editor_id].n+' iframe').contents().find('body').attr('id','');
}else{
jQuery(stack[editor_id].n+' iframe').contents().find('body').removeClass(stack[editor_id].ctx[2]);
}
}
stack[editor_id].ctx=contexte;
if(contexte){[(#REM)// on affecte le nouveau contexte]
if(contexte[1]=="#"){[(#REM)// le contexte est donné via un identifiant]
jQuery(stack[editor_id].n+' iframe').contents().find('body').attr('id', contexte[2]);
}else{[(#REM)// le contexte est donné via une class]
jQuery(stack[editor_id].n+' iframe').contents().find('body').addClass(contexte[2]);
}
}
}
}
function on_submit_destroy_cke() {
for(name in CKEDITOR.instances) {
CKEDITOR.instances[name].destroy()
}
}
function cke_crayon_submit(editor_id){
if(jQuery(editor_id).size()==0){return;}
try{[(#REM)// si on est en mode 'ckeditor', on synchronise le textarea]
jQuery(editor_id).ckeditorGet().updateElement();
}catch(e){ /* rien */ }
jQuery(this).parents('.formulaire_crayon').submit();
}
function fullInitCKEDITOR(editor_ids){
if(!editor_ids)editor_ids=[["textarea[name=texte]","Full"]];
jQuery("input[type=submit]").click(on_submit_destroy_cke) ;
if (!CKEDITOR.fullInitDone) {
CKEDITOR.fullInitDone=true;
CKEDITOR.ckConfig.on={
'pluginsLoaded':function(ev){ckeDataProcessor=ev.editor.dataProcessor;ev.editor.dataProcessor=spipDataProcessor;}
};
CKEDITOR.on('dialogDefinition',function(ev){
var dialogName=ev.data.name,
dialogDefinition=ev.data.definition;
if(dialogName==='about'){
var aboutTab=dialogDefinition.getContents('tab1');
aboutTab.style='height:280px;';
aboutTab.add({
'type':'html',
'html':'
<:ckeditor:spipification:>
'
});
}
var advTab=dialogDefinition.getContents('advanced');
if(advTab){
var advClasses=advTab.get('advCSSClasses');
if(advClasses){
advClasses['default']='spip';
}
}
});
for(var plugin in CKEDITOR.ckConfig.loadExtraPlugins){
CKEDITOR.plugins.addExternal(plugin, CKEDITOR.ckConfig.loadExtraPlugins[plugin]);
}
}
for(var id in editor_ids){
if ((jQuery(editor_ids[id][0]).length > 0) && (jQuery(editor_ids[id][0]).css('display') != 'none')) {
var editor_id=editor_ids[id][0], editor_tb=editor_ids[id][1], crayon=null, editor_md5=editor_ids[id][3] ;
if (jQuery(editor_id).parents("[id^=crayon_]").length>0) { // sommes-nous appelé depuis un crayon ?
crayon = jQuery(editor_id).parents("[id^=crayon_]").attr('id') ;
if (! editor_id.match(/^\s*#/)) {
editor_id = "#"+crayon+" "+editor_id ;
}
}
try {
jQuery(editor_id).ckeditorGet() ;
} catch(e) {
var buttons='';
if (typeof stack[editor_id] == 'undefined') {
stack[editor_id] = {} ;
}
stack[editor_id].crayons = 0 ;
stack[editor_id].tb = editor_tb ;
stack[editor_id].nobarre = (jQuery(editor_id).hasClass('no_barre') || CKEDITOR.ckeditmode == 'spip') ;
stack[editor_id].md5 = editor_md5 ;
if (! stack[editor_id].nobarre)
jQuery(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 (jQuery('#after_'+editor_md5).length==0) {
jQuery(editor_id).after('');
[(#CONFIG{ckeditor/ignoreversion}|=={'on'}|non)
if(CKEDITOR.version'+pref.replace(/%2/,CKEDITOR.ckpreferedversion).replace(/%1/,CKEDITOR.version)+''
);
}
]
}
if(CKEDITOR.ckeditmode!='ckeditor-exclu'){
buttons=buttons +
'';
}
[(#REM) // on insère le menu déroulant de changement de contexte s'il existe des contextes]
buttons=buttons+'<:ckeditor:changer_de_contexte:>'
+'';;
if(buttons && (jQuery('#before_'+editor_md5).length == 0)) {
var div = jQuery(editor_id) ;
var style = "width;100%;text-align:right;position:relative;top:-24px;height:0px;clear:both;" ;
if (div.length != 0) {
div.before('
'+buttons+'
');
}
}
[(#REM) // gestion des crayons :]
if(crayon){
jQuery('#'+crayon+' .crayon-submit')
.after('')[(#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_id) ;
}
}}
}
}