function ckeditor_preparescript($config) { global $visiteur_session ; global $auteur_session ; static $init_done = false ; if (!$init_done) { $cke_cfg= array() ; $removePlugins = array() ; $allPlugins = array('about', 'blockquote', 'div', 'docprops', 'find', 'flash', 'horizontalrule', 'iframe', 'image', 'indent', 'justify', 'link', 'list', 'maximize', 'newpage', 'pagebreak', 'pastefromword', 'pastetext', 'placeholder', 'preview', 'print', 'removeformat', 'save', 'selection', 'showblocks', 'smiley', 'sourcearea', 'specialchar', 'table', 'templates', 'uicolor', 'undo', 'wsc', 'colorbutton','scayt','basicstyles','forms') ; $requiredPlugins = array('clipboard','basicstyles','list','link','about') ; // requis par la barre d'outils basique foreach($_COOKIE as $cookie => $value) { // fix pb avec la langue du dictionnaire if (preg_match('~^scayt_~', $cookie)) { @setcookie($cookie, '') ; // on efface les cookis du système SCAYT (Spell Check As You Type) } } $barre_outils = array() ; $max_sizetools = (int)_CKE_MAXSIZETOOLS ; $cke_cfg['minwidth'] = (int)_CKE_MAXSIZETOOLS+28 ; $cke_cfg['vignette'] = (int)ckeditor_lire_config('vignette', _CKE_VIGNETTE_DEF) ; $arg_select = ((isset($config['type']) && isset($config['id']) && (array_search($config['type'], $GLOBALS['cke_types_img_attachable']) !== false)) ? '&'.$config['type'].'='.$config['id'] : (ckeditor_lire_config('insertall') ? '&type=tout' : '' ) ) ; $cke_cfg['filebrowserSpipdocBrowseUrl'] = url_absolue(_DIR_RACINE.'spip.php?page=select_documents'.$arg_select) ; $editmode = ckeditor_lire_config('editmode', _CKE_EDITMODE_DEF) ; // fix : valeur par défaut pas lisible depuis un squelette ckeditor_fix_default_values() ; // préparation du script : include_spip("inc/toolbars") ; $plug_pos = ckeditor_lire_config('pluginbarreposition', _CKE_PLUGINSBARREPOSITION_DEF) ; $plugposref = ckeditor_lire_config('plugin_position_reference', _CKE_PLUGINSPOS_REF_DEF) ; if ($packed_plugins=find_in_path("ckeditor-plugin-packed")) { $ckpluginpath = url_absolue($packed_plugins).'/' ; } else { $ckpluginpath = url_absolue(find_in_path("ckeditor-plugin")).'/' ; } $pluginsactifs = array() ; $pluginsboutons = array() ; if ((version_compare($GLOBALS['spip_version_code'],'3.0','>=') || defined('_DIR_PLUGIN_ITERATEURS')) && ($plugins = ckeditor_lire_config('plugins'))) { uasort($plugins,'ckeditor_cmpplugins') ; foreach($plugins as $plugin => $values) { if (is_dir($path=$values['chemin']) && $values['actif']) { $pluginsactifs[$plugin] = url_absolue($path) . '/' ; if ($values['bouton']) $pluginsboutons[] = ($values['nom_bouton']?$values['nom_bouton']:$plugin) ; } } } if (preg_match_all("#(\w+)#", ckeditor_lire_config("formats", _CKE_FORMATS_DEF),$matches, PREG_SET_ORDER)) { $cke_cfg['format_tags'] = ckeditor_lire_config("formats", _CKE_FORMATS_DEF) ; $class = ckeditor_lire_config("formatsclass", _CKE_FORMATS_CLASS_DEF) ; foreach($matches as $match) { $cke_cfg['format_'.$match[1]]['element'] = $match[1] ; if ($class) $cke_cfg['format_'.$match[1]]['attributes']['class'] = $class ; } } $cke_cfg['forcePasteAsPlainText'] = ckeditor_lire_config('pastetext', _CKE_PASTETEXT_DEF) ; $cfgCK_Smileys = ckeditor_cfgCK_Smileys() ; if (is_array($GLOBALS['toolbars'])) { $tbsize = 0 ; $html2spip = ckeditor_lire_config('html2spip_limite', _CKE_HTML2SPIP_LIMITE_DEF) ; foreach($GLOBALS['toolbars'] as $ndx => $toolbar) { $tb = array() ; if (is_array($toolbar)) { $thissize = 0 ; foreach($toolbar as $tool => $item) { if (count($pluginsboutons) && ($tool == $plugposref) && ($plug_pos == 'avant')) { $thissize += 24 * count($pluginsboutons) ; $tb = array_merge($tb,$pluginsboutons) ; } if (ckeditor_lire_config("tool_$tool", $item[_CKE_DEFAULT]) && (!$html2spip || $item[_CKE_COMPAT]) && // outil interdit par html2spip ( // cas particulier d'outils absents ou désactivés (($tool != 'Format') || ckeditor_lire_config("formats", _CKE_FORMATS_DEF)) && (($tool != 'Smiley') || $cfgCK_Smileys) && (($tool != 'SpipDoc') || $arg_select) && (($tool != 'PasteFromWord') || !$cke_cfg['forcePasteAsPlainText']) ) ) { switch ($tool) { // certains outils nécessitent un traiteement supplémentaire case 'ZpipPreview' : $pluginsactifs['zpippreview'] = $ckpluginpath.'zpippreview/' ; break ; case 'SpipSave' : $pluginsactifs['spipsave'] = $ckpluginpath.'spipsave/' ; break ; case 'SpipDoc' : $pluginsactifs['spipdoc'] = $ckpluginpath.'spipdoc/' ; break ; case 'Spip' : $pluginsactifs['spip'] = $ckpluginpath.'spip/' ; break ; case 'SpipModeles' : $pluginsactifs['spipmodeles'] = $ckpluginpath.'spipmodeles/' ; break ; case 'Smiley' : $cke_cfg['smiley_descriptions'] = $cfgCK_Smileys[0] ; $cke_cfg['smiley_images'] = $cfgCK_Smileys[1] ; $cke_cfg['smiley_path'] = $cfgCK_Smileys[2] ; break ; } $thissize += $item[_CKE_SIZE] ; $tb[] = $tool ; if (isset($item[_CKE_PLUGIN])) $requiredPlugins[] = $item[_CKE_PLUGIN] ; } if (count($pluginsboutons) && ($tool == $plugposref) && ($plug_pos == 'apres')) { $thissize += 24 * count($pluginsboutons) ; $tb = array_merge($tb,$pluginsboutons) ; } } if (count($tb)) { /* 4 : largeur des bordures des barres d'outils, 6 : espace inter barre d'outils */ if ($barre_outils && ($tbsize + $thissize + 4 + 6 >= $max_sizetools)) { $barre_outils[] = '/' ; $tbsize=$thissize + 4 ; } else { $tbsize+=$thissize + 4 + 6 ; } $barre_outils[] = $tb ; } } } } if (!count($barre_outils)) { // on met forcément une barre d'outils. $barre_outils = unserialize(_CKE_BARREOUTILS_DEF) ; } $cke_cfg['toolbar_SpipFull'] = $barre_outils ; $cke_cfg['toolbar_SpipBasic'] = array(array('Cut','Copy','PasteText','-','Bold','Italic','Underline','-','NumberedList','BulletedList','-','Spip','Link','Unlink','-','About')); $cke_cfg['toolbar'] = 'SpipFull' ; // on essaie de faire en sorte que la couleur de ckeditor corresponde au theme spip actif $couleurs = charger_fonction('couleurs', 'inc'); $couleurs_spip = $couleurs(array(), true) ; $cke_cfg['uiColor'] = (isset($visiteur_session['prefs']) && is_array($visiteur_session) && is_array($visiteur_session['prefs'])) ? couleur_pastelle($couleurs_spip[$visiteur_session['prefs']['couleur']]['couleur_claire']) // si pas de couleur : gris pale : '#eee' ; // on fait correspondre l'url du site ($site_url = lire_config("ckeditor/siteurl")) || ($site_url = lire_meta("adresse_site")) ; // on fait correspondre la langue $cklanguage = ckeditor_lire_config("cklanguage", _CKE_LANGAGE_DEF) ; if (($cklanguage == 'auto') || ($cklanguage == '')) { if (is_array($visiteur_session) && array_key_exists('lang', $visiteur_session)) { $cklanguage = $visiteur_session['lang'] ; } else { $cklanguage = lire_meta("langue_site") ; } } $cke_cfg['language'] = $cklanguage ; // définition des CSS en correspondance avec les polices utilisables $cssContent = (($csssite=ckeditor_lire_config("csssite"))?preg_split("#\s*[,; ]\s*#",$csssite):array()) ; $cssContent[] = url_absolue(find_in_path('prive/spip_style.css')) ; $cssContent[] = url_absolue(find_in_path('css/cked-editor.css')) ; $webfonts = array('serif','sans serif','monospace','cursive','fantasy') ; if ($ggwebfonts = ckeditor_lire_config("webfonts", _CKE_WEBFONTS_DEF)) { $ggwebfonts = preg_replace(array("~\s*[,;\|]\s*~","~\s+~"), array("|","+"), $ggwebfonts) ; $cssContent[] = _CKE_GOOGLE_WEBFONT.$ggwebfonts ; $webfonts[] = preg_replace(array("~\|~","~\+~"),array(";"," "), $ggwebfonts) ; } // si le polices de 'FontKit' sont autorisées if (ckeditor_lire_config('fontkit', _CKE_FONTKIT_DEF)) { // on lit le répertoire des polices $fkdir = @opendir($fkdirname = _CKE_FONTKIT) ; if ($fkdir) { while($fontdir = @readdir($fkdir)) { // y a-t-il une css dans ce dossier ? if (is_dir( $fkdirname.'/'.$fontdir ) && is_file( $css = $fkdirname.'/'.$fontdir.'/stylesheet.css' )) { // c'est le cas, on la lit $stylesheet = file_get_contents($css) ; //on récupère les noms des polices inclues dans ce fontkit if (preg_match_all("~font-family\s*:\s*'(.*?)'~s",$stylesheet, $match)) { $cssContent[] = url_absolue($css) ; $webfonts=array_merge($webfonts, $match[1]); } } } @closedir($fkdir) ; } } $cke_cfg['contentsCss'] = $cssContent ; $cke_cfg['font_names'] = join(';', $webfonts) ; // configuration des navigateurs de fichier : $autorise_parcours = ckeditor_lire_config('autorise_parcours', _CKE_PARCOURS_DEF) ; $autorise_admin_telecharger = ckeditor_lire_config('autorise_telechargement', _CKE_UPLOAD_DEF) ; $autorise_redac_telecharger = $autorise_admin_telecharger && ckeditor_lire_config('autorise_telechargement_redacteur', _CKE_UPLOAD_REDAC_DEF) ; $est_admin = ( is_array($auteur_session) && array_key_exists('statut', $auteur_session) && $auteur_session['statut'] == '0minirezo' ) ; $est_redac = ( is_array($auteur_session) && array_key_exists('statut', $auteur_session) && (($auteur_session['statut'] == '0minirezo') || ($auteur_session['statut'] == '1comite')) ) ; $peut_parcourir = ($autorise_parcours && $est_redac) ; $peut_telecharger = ( ($autorise_admin_telecharger && $est_admin) || ($autorise_redac_telecharger && $est_redac) ) ; $url_path = ckeditor_lire_config("base_dir",preg_replace(_CKE_RACINE_REGEX, '', _CKE_DIR_UPLOAD_DEF) ) ; $imgdir = preg_replace('~^.*/~','',ckeditor_lire_config("images_dir",_CKE_IMAGES_UPLOAD_DEF)) ; $flashdir = preg_replace('~^.*/~','',ckeditor_lire_config("flash_dir",_CKE_FLASH_UPLOAD_DEF)) ; $filesdir = preg_replace('~^.*/~','',ckeditor_lire_config("files_dir",_CKE_FILES_UPLOAD_DEF)) ; $uploaddir = realpath(_DIR_RACINE.'/'.$url_path) ; $imgrdir = $uploaddir . '/' . $imgdir ; $flashrdir= $uploaddir . '/' . $flashdir ; $filesrdir= $uploaddir . '/' . $filesdir ; // si les répertoires n'existent pas, on tente de les créer if (! is_dir($baserdir = _DIR_RACINE . $url_path) ) { @mkdir($baserdir) ; } if (! is_dir($imgrdir) ) { @mkdir($imgrdir) ; } if (! is_dir($flashrdir) ) { @mkdir($flashrdir) ; } if (! is_dir($filesrdir) ) { @mkdir($filesrdir) ; } $site_url_components = parse_url($site_url) ; $ckeditor_setfilebrowser = charger_fonction('ckeditor_setfilebrowser','') ; $append_cfg = $ckeditor_setfilebrowser(array( 'filesdir'=>$filesdir, 'imgdir'=>$imgdir, 'flashdir'=>$flashdir, 'peut_parcourir'=> $peut_parcourir, 'peut_telecharger' => $peut_telecharger, 'est_admin' => $est_admin, 'est_redac' => $est_redac, 'upload_url' => $site_url_components['path']."/".$url_path, 'upload_dir' => realpath($uploaddir) )); $cke_cfg['filebrowserBrowseUrl'] = $append_cfg['filebrowserBrowseUrl'] ; $cke_cfg['filebrowserImageBrowseLinkUrl'] = $append_cfg['filebrowserImageBrowseLinkUrl'] ; $cke_cfg['filebrowserImageBrowseUrl'] = $append_cfg['filebrowserImageBrowseUrl'] ; $cke_cfg['filebrowserFlashBrowseUrl'] = $append_cfg['filebrowserFlashBrowseUrl'] ; $cke_cfg['filebrowserUploadUrl'] = $append_cfg['filebrowserUploadUrl'] ; $cke_cfg['filebrowserImageUploadUrl'] = $append_cfg['filebrowserImageUploadUrl'] ; $cke_cfg['filebrowserFlashUploadUrl'] = $append_cfg['filebrowserFlashUploadUrl'] ; $cke_cfg['filebrowserWindowWidth'] = (isset($append_cfg['filebrowserWindowWidth'])?$append_cfg['filebrowserWindowWidth']:682) ; $cke_cfg['filebrowserWindowHeight'] = (isset($append_cfg['filebrowserWindowHeight'])?$append_cfg['filebrowserWindowHeight']:500) ; if (isset($append_cfg['load_extra_js'])) $load_extra_js = $append_cfg['load_extra_js'] ; if (isset($append_cfg['extra_js'])) $extra_js = $append_cfg['extra_js'] ; if (isset($append_cfg['extraPlugin']) && isset($append_cfg['loadExtraPlugin'])) { $pluginsactifs[$append_cfg['extraPlugin']] = $append_cfg['loadExtraPlugin'] ; } $cke_cfg['extraPlugins'] = join(',', array_keys($pluginsactifs)) ; $cke_cfg['loadExtraPlugins'] = $pluginsactifs ; if (ckeditor_lire_config('devtools', _CKE_DEVTOOLS_DEF)=='on') { $cke_cfg['extraPlugins'] .= ($cke_cfg['extraPlugins']?',':'').'devtools' ; } // des modèles spip ont-il été définis ? if (is_array(ckeditor_lire_config('modeles'))) { $cke_cfg['templates_files'] = array(url_absolue(_DIR_RACINE.'spip.php?page=templates.js')) ; $cke_cfg['templates'] = "ckeditor-spip" ; } // quelles couleurs sont autorisées ? $couleurs_autorisees = ckeditor_lire_config('liste_couleurs') ; if ($couleurs_autorisees && preg_match_all("~\b([0-9a-f]{3}|[0-9a-f]{6})\b~is", $couleurs_autorisees, $couleurs)) { $cke_cfg['colorButton_colors'] = join(',', array_map('ckeditor_convert_couleur', $couleurs[1])) ; } if (!ckeditor_lire_config('autres_couleurs')) { $cke_cfg['colorButton_enableMore'] = false ; } $ENTERMODE = array('ENTER_P'=>CKEDITOR_ENTER_P, 'ENTER_BR'=>CKEDITOR_ENTER_BR, 'ENTER_DIV'=>CKEDITOR_ENTER_DIV) ; // dernières options de configurations $cke_cfg['height'] = intval(ckeditor_lire_config('taille', _CKE_HAUTEUR_DEF)) ; $cke_cfg['scayt_autoStartup'] = (ckeditor_lire_config('startspellcheck', _CKE_SCAYT_START_DEF)=='on') ; $cke_cfg['scayt_sLang'] = (isset($config['scayt_sLang'])?$config['scayt_sLang']:ckeditor_lire_config('spellchecklang', _CKE_SCAYT_LANG_DEF)) ; $cke_cfg['resize_enabled'] = true ; $cke_cfg['entities'] = false ; $cke_cfg['skin'] = ckeditor_lire_config('skin', _CKE_SKIN_DEF) ; $cke_cfg['enterMode'] = $ENTERMODE[ckeditor_lire_config('entermode', _CKE_ENTERMODE_DEF)] ; $cke_cfg['shiftEnterMode'] = $ENTERMODE[ckeditor_lire_config('shiftentermode', _CKE_SHIFTENTERMODE_DEF)] ; $cke_cfg['stylesCombo_stylesSet'] = "spip-styles:".url_absolue(_DIR_RACINE.'spip.php?page=spip-styles') ; $cke_cfg['removeDialogTabs'] = 'link:advanced' ; $cke_cfg['fontSize_sizes'] = ckeditor_lire_config('fontsizes', _CKE_FONTSIZES_DEF) ; $cke_cfg['dialog_startupFocusTab'] = true ; $cke_cfg['readOnly'] = false ; $cke_cfg['spip_contexte'] = array('id'=>(isset($config['id'])?$config['id']:null), 'type'=>(isset($config['type'])?$config['type']:null)) ; $cke_cfg['forceEnterMode'] = true ; $removePlugins = array_diff($allPlugins,$requiredPlugins) ; if ($cke_cfg['forcePasteAsPlainText'] && ! in_array('pastefromword', $removePlugins)) { $removePlugins[] = 'pastefromword'; } $cke_cfg['removePlugins'] = join(',',$removePlugins) ; if(ckeditor_lire_config('conversion', _CKE_CONVERSION_DEF)=='aucune') $cke_cfg['fullPage'] = true ; } $ckeditor_config_post = charger_fonction('ckeditor_config_post',''); $ckeditor_json_encode = charger_fonction('ckeditor_json_encode',''); $cpt_ajaxload = (is_array($config['ajaxload'])?count($config['ajaxload']):0); if (!$init_done) { $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> <script type=\"text/javascript\" src=\"".(function_exists("produire_fond_statique")?produire_fond_statique("ckeditor4spip.js"):url_absolue(_DIR_RACINE."?page=ckeditor4spip.js"))."\"></script>\n"; if (isset($load_extra_js)) { $script .= " <script type=\"text/javascript\" src=\"$load_extra_js\"></script>\n" ; } if (isset($extra_js)) { $script .= " <script type=\"text/javascript\">$extra_js</script>\n" ; } } else { $script = '' ; } foreach($config['ajaxload'] as $ndx => $row) { $config['ajaxload'][$ndx][3] = md5($row[0]) ; } $script .= " <script type=\"text/javascript\"> $(document).ready(function(){ 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.ckConfig = ".$ckeditor_json_encode($ckeditor_config_post($cke_cfg))."; var ajaxload=".$ckeditor_json_encode($config['ajaxload'])."; CKEDITOR.instances = [] ; // normalement aucune instances de CKEDITOR n'est valide à cet instant, on les vide. fullInitCKEDITOR(ajaxload) ; } if(typeof onAjaxLoad == 'function') onAjaxLoad(loadCKEditor); loadCKEditor(); }) ; </script>" ; $init_done = true ; return $script ; }
function formulaires_configurer_ckeditor_p3_charger_dist() { include_spip('inc/headers') ; if (_request('_cfg_reinit')) { effacer_config('ckeditor') ; ckeditor_fix_default_values() ; redirige_url_ecrire('configurer_ckeditor','') ; return ; } ckeditor_ecrire_protectedtags() ; ($cfg = lire_config("ckeditor")) || ($cfg = array()) ; $valeurs = array( 'protectedtags' => $cfg['protectedtags'], 'conversion' => array_key_exists('conversion', $cfg)?$cfg['conversion']:_CKE_CONVERSION_DEF, 'html2spip_limite' => array_key_exists('html2spip_limite', $cfg)?$cfg['html2spip_limite']:_CKE_HTML2SPIP_LIMITE_DEF, 'html2spip_identite' => array_key_exists('html2spip_identite', $cfg)?$cfg['html2spip_identite']:_CKE_HTML2SPIP_IDENTITE, 'spiplinks' => array_key_exists('spiplinks', $cfg)?$cfg['spiplinks']:_CKE_SPIPLINKS_DEF, 'insertall' => array_key_exists('insertall', $cfg)?$cfg['insertall']:_CKE_INSERTALL_DEF, 'pastetext' => array_key_exists('pastetext', $cfg)?$cfg['pastetext']:_CKE_PASTETEXT_DEF, 'selecteurs_public' => array_key_exists('selecteurs_public', $cfg)?$cfg['selecteurs_public']:_CKE_PUBLIC_DEF, 'selecteurs_prive' => array_key_exists('selecteurs_prive', $cfg)?$cfg['selecteurs_prive']:_CKE_PRIVE_DEF, 'cktoolslenlarge' => array_key_exists('cktoolslenlarge', $cfg)?$cfg['cktoolslenlarge']:_CKE_LARGE_DEF, 'cktoolslenetroit' => array_key_exists('cktoolslenetroit', $cfg)?$cfg['cktoolslenetroit']:_CKE_ETROIT_DEF, 'cklanguage' => array_key_exists('cklanguage', $cfg)?$cfg['cklanguage']:_CKE_LANGAGE_DEF, 'entermode' => array_key_exists('entermode', $cfg)?$cfg['entermode']:_CKE_ENTERMODE_DEF, 'shiftentermode' => array_key_exists('shiftentermode', $cfg)?$cfg['shiftentermode']:_CKE_SHIFTENTERMODE_DEF, 'csssite' => array_key_exists('csssite', $cfg)?$cfg['csssite']:'', 'contextes' => array_key_exists('contextes', $cfg)?$cfg['contextes']:'', 'siteurl' => array_key_exists('siteurl', $cfg)?$cfg['siteurl']:'' ) ; $cvt_options = array( 'aucune' => _T('ckeditor:aucune_conversion'), 'partielle' => _T('ckeditor:conversion_partielle_vers_spip'), ) ; if (find_in_path('lib/'._CKE_HTML2SPIP_VERSION)) { $cvt_options['complete'] = _T('ckeditor:utiliser_html2spip') ; $cvt_explication = array( 'saisie' => 'explication_spip', 'options' => array( 'nom'=>'explication_conversion', 'texte' => _T('ckeditor:html2spip_detecte')) ) ; } else { $cvt_explication = array( 'saisie' => 'explication_spip', 'options' => array( 'nom'=>'explication_conversion', 'texte' => _T('ckeditor:aide_html2spip_non_trouvee')) ) ; } $valeurs['saisies_cke_page3'] = array( array( 'saisie' => 'fieldset', 'options' => array( 'nom' => 'options_conversion', 'label' => _T('ckeditor:options_conversion'), 'pliable' => 'oui', 'plie' => 'oui' ), 'saisies' => array( array( 'saisie' => 'input', 'options' => array( 'nom' => 'protectedtags', 'label' => _T('ckeditor:balises_spip_autoriser') ) ), array( 'saisie' => 'explication', 'options' => array( 'nom' => 'html2spip_explication', 'texte' => _T('ckeditor:utiliser_html2spip_descriptif') ) ), $cvt_explication, array( 'saisie' => 'selection', 'options' => array( 'nom' => 'conversion', 'cacher_option_intro' => 'oui', 'label' => _T('ckeditor:options_html2spip'), 'datas' => $cvt_options ) ), array( 'saisie' => 'input', 'options' => array( 'nom' => 'html2spip_identite', 'label' => _T('ckeditor:html2spip_identite') ) ), array( 'saisie' => 'case', 'options' => array( 'nom' => 'html2spip_limite', 'label_case' => _T('ckeditor:html2spip_limite') ) ), array( 'saisie' => 'case', 'options' => array( 'nom' => 'pastetext', 'label_case' => _T('ckeditor:forcer_copie_comme_texte') ) ), array( 'saisie' => 'selection', 'options' => array( 'nom' => 'entermode', 'label' => _T('ckeditor:entermode'), 'datas' => array( 'ENTER_P' => _T('ckeditor:enter_p'), 'ENTER_BR' => _T('ckeditor:enter_br'), 'ENTER_DIV' => _T('ckeditor:enter_div') ) ) ), array( 'saisie' => 'selection', 'options' => array( 'nom' => 'shiftentermode', 'label' => _T('ckeditor:shiftentermode'), 'datas' => array( 'ENTER_P' => _T('ckeditor:enter_p'), 'ENTER_BR' => _T('ckeditor:enter_br'), 'ENTER_DIV' => _T('ckeditor:enter_div') ) ) ), array( 'saisie' => 'explication', 'options' => array( 'nom' => 'explication_entermode', 'texte' => "-* "._T('ckeditor:explique_p')."\n-* "._T('ckeditor:explique_div') ) ) ) ), array( 'saisie' => 'fieldset', 'options' => array( 'nom' => 'options_activation', 'label' => _T('ckeditor:utiliser_ckeditor_avec'), 'pliable' => 'oui', 'plie' => 'oui' ), 'saisies' => array( array( 'saisie' => 'explication_spip', 'options' => array( 'nom' => 'explication_selecteurs', 'texte' => _T('ckeditor:aide_selecteurs') )), array( 'saisie' => 'textarea', 'options' => array( 'nom' => 'selecteurs_public', 'label' => _T('ckeditor:selecteurs_espace_public'), 'rows' => 6 )), array( 'saisie' => 'textarea', 'options' => array( 'nom' => 'selecteurs_prive', 'label' => _T('ckeditor:selecteurs_espace_prive'), 'rows' => 6 )), ) ), array( 'saisie' => 'fieldset', 'options' => array( 'nom' => 'options_spip', 'label' => _T('ckeditor:options_spip'), 'pliable' => 'oui', 'plie' => 'oui' ), 'saisies' => array( array( 'saisie' => 'case', 'options' => array( 'nom' => 'spiplinks', 'label_case' => _T('ckeditor:autoriser_liens_spip') ) ), array( 'saisie' => 'case', 'options' => array( 'nom' => 'insertall', 'label_case' => _T('ckeditor:autoriser_insertion_documents') ) ), array( 'saisie' => 'input', 'options' => array( 'nom' => 'siteurl', 'label' => _T('ckeditor:url_site'), 'explication' => _T('ckeditor:normalement_detectee').lire_meta('adresse_site') ) ) ) ), array( 'saisie' => 'fieldset', 'options' => array( 'nom' => 'options_gui', 'label' => _T('ckeditor:options_gui'), 'pliable' => 'oui', 'plie' => 'oui' ), 'saisies' => array( array( 'saisie' => 'input', 'options' => array( 'nom' => 'cktoolslenetroit', 'label' => _T('ckeditor:etroit') ) ), array( 'saisie' => 'input', 'options' => array( 'nom' => 'cktoolslenlarge', 'label' => _T('ckeditor:large') ) ), array( 'saisie' => 'selection', 'options' => array( 'nom' => 'cklanguage', 'label' => _T('ckeditor:langue_ckeditor'), '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' ) ) ) ) ), array( 'saisie' => 'fieldset', 'options' => array( 'nom' => 'options_css', 'label' => _T('ckeditor:options_css'), 'pliable' => 'oui', 'plie' => 'oui' ), 'saisies' => array( array( 'saisie' => 'input', 'options' => array( 'nom' => 'csssite', 'label' => _T('ckeditor:css_site') ) ), array( 'saisie' => 'explication', 'options' => array( 'nom' => 'explication_csssite', 'texte' => _T('ckeditor:aide_css_site') ) ), array( 'saisie' => 'input', 'options' => array( 'nom' => 'contextes', 'label' => _T('ckeditor:liste_de_contextes') ) ), array( 'saisie' => 'explication', 'options' => array( 'nom' => 'explication_contextes', 'texte' => _T('ckeditor:aide_contextes') ) ) ) ), 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') ) ) ) ) ) ; return $valeurs ; }