Dotclear

Changeset 2751:a96ec5640056 for plugins


Ignore:
Timestamp:
09/09/14 16:30:31 (11 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
default
Message:

Each editor (ckeditor, legacy ones) loads its own context when it is active.
Add plugin_id parameter to transmit that context
Remove call of ckeditorExtraPlugins behavior until a good solution is found.
Closes #1983

Location:
plugins
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • plugins/dcCKEditor/_post_config.php

    r2738 r2751  
    3131               } 
    3232          } 
    33            
     33 
    3434          return url; 
    3535     }; 
    3636 
    37      /* Retrieve editor name from URL */ 
    38      $.getEditorName = function getEditorName(url) { 
    39           return url.replace(/.*editor=([^&]*)(&.*)?/,'$1'); 
     37     /* Retrieve editor from popup */ 
     38    $.active_editor = null; 
     39     $.getEditorName = function getEditorName() { 
     40          return $.active_editor; 
    4041     } 
    4142})(jQuery); 
     
    4950     CKEDITOR.config.skin = 'dotclear,'+dotclear.dcckeditor_plugin_url+'/js/ckeditor-skins/dotclear/'; 
    5051 
    51 <?php if (!empty($dcckeditor_cancollapse_button)):?>     
     52<?php if (!empty($dcckeditor_cancollapse_button)):?> 
    5253     CKEDITOR.config.toolbarCanCollapse = true; 
    5354<?php endif;?> 
    54       
    55      CKEDITOR.plugins.addExternal('entrylink',dotclear.dcckeditor_plugin_url+'/js/ckeditor-plugins/entrylink/');    
     55 
     56     CKEDITOR.plugins.addExternal('entrylink',dotclear.dcckeditor_plugin_url+'/js/ckeditor-plugins/entrylink/'); 
    5657     CKEDITOR.plugins.addExternal('dclink',dotclear.dcckeditor_plugin_url+'/js/ckeditor-plugins/dclink/'); 
    5758     CKEDITOR.plugins.addExternal('media',dotclear.dcckeditor_plugin_url+'/js/ckeditor-plugins/media/'); 
     
    7576          extraPlugins: '<?php echo $defautExtraPlugins;?>', 
    7677 
    77           <?php if (!empty($dcckeditor_format_select)):?>                   
     78          <?php if (!empty($dcckeditor_format_select)):?> 
    7879          // format tags 
    7980          format_tags: 'p;h1;h2;h3;h4;h5;h6;pre;address', 
     
    102103<?php endif;?> 
    103104                         'Bold','Italic','Underline','Strike','Subscript','Superscript','Code','Blockquote', 
    104                           
     105 
    105106<?php if (!empty($dcckeditor_list_buttons)):?> 
    106107                         'NumberedList', 'BulletedList', 
     
    135136                ,'TextColor' 
    136137<?php endif;?> 
    137                     ]  
     138                    ] 
    138139               }, 
    139140               <?php // add extra buttons comming from dotclear plugins 
     
    156157               $('#cke_post_excerpt').addClass('hide'); 
    157158          } 
    158            
     159 
    159160          $('#excerpt-area label').click(function() { 
    160161               $('#cke_post_excerpt').toggleClass('hide',$('#post_excerpt').hasClass('hide')); 
    161162          }); 
    162163     }); 
     164 
     165     // @TODO: find a better way to retrieve active editor 
     166     for (var id in CKEDITOR.instances) { 
     167          CKEDITOR.instances[id].on('focus', function(e) { 
     168               $.active_editor = e.editor.name; 
     169          }); 
     170     } 
    163171}); 
  • plugins/dcCKEditor/js/ckeditor-plugins/dclink/plugin.js

    r2743 r2751  
    66                    exec: function(editor) { 
    77                         if (editor.getSelection().getNative().toString().replace(/\s*/,'')!='') { 
    8                               $.toolbarPopup('popup_link.php?editor='+editor.name); 
     8                              $.toolbarPopup('popup_link.php?plugin_id=dcCKEditor'); 
    99                         } 
    1010                    } 
     
    2626                              editor.getSelection().selectElement(element); 
    2727 
    28                               var popup_url = 'popup_link.php?editor='+editor.name; 
     28                              var popup_url = 'popup_link.php?plugin_id=dcCKEditor'; 
    2929                              if (element.getAttribute('href')) { 
    3030                                   popup_url += '&href='+element.getAttribute('href'); 
  • plugins/dcCKEditor/js/ckeditor-plugins/entrylink/plugin.js

    r2743 r2751  
    66                    exec: function(editor) { 
    77                         if (editor.getSelection().getNative().toString().replace(/\s*/,'')!='') { 
    8                               $.toolbarPopup('popup_posts.php?popup=1&editor='+editor.name); 
     8                              $.toolbarPopup('popup_posts.php?popup=1&plugin_id=dcCKEditor'); 
    99                         } 
    1010                    } 
     
    1818 
    1919               editor.on('doubleclick',function(e) { 
    20                     var element = CKEDITOR.plugins.link.getSelectedLink( editor ) || e.data.element; 
     20                    var element = CKEDITOR.plugins.link.getSelectedLink(editor) || e.data.element; 
    2121                    if (!element.isReadOnly()) { 
    2222                         if (element.is('a') 
     
    2525                              editor.getSelection().selectElement(element); 
    2626 
    27                               $.toolbarPopup('popup_posts.php?popup=1&editor='+editor.name); 
     27                              $.toolbarPopup('popup_posts.php?popup=1&plugin_id=dcCKEditor'); 
    2828                              return false; 
    2929                         } 
  • plugins/dcCKEditor/js/ckeditor-plugins/media/plugin.js

    r2743 r2751  
    55               editor.addCommand('mediaCommand', { 
    66                    exec: function(editor) { 
    7                          $.toolbarPopup('media.php?popup=1&editor='+editor.name); 
     7                         $.toolbarPopup('media.php?popup=1&plugin_id=dcCKEditor'); 
    88                    } 
    99               }); 
     
    1919                    if (!element.isReadOnly()) { 
    2020                         if (element.is('img') || (element.is('a') && element.hasClass('media-link'))) { 
    21                               $.toolbarPopup('media.php?popup=1&editor='+editor.name); 
     21                              $.toolbarPopup('media.php?popup=1&plugin_id=dcCKEditor'); 
    2222                              return false; 
    2323                         } 
  • plugins/dcCKEditor/js/popup_link.js

    r2738 r2751  
    66     $('#link-insert-ok').click(function() { 
    77          var insert_form = $('#link-insert-form').get(0); 
    8           if (insert_form == undefined) {  
    9                return;  
     8          if (insert_form == undefined) { 
     9               return; 
    1010          } 
    1111 
    12           var editor_name = window.opener.$.getEditorName(document.location.search), 
     12          var editor_name = window.opener.$.getEditorName(), 
    1313          editor = window.opener.CKEDITOR.instances[editor_name], 
    14           link = '',      
     14          link = '', 
    1515          selected_text = editor.getSelection().getNative().toString(); 
    1616 
  • plugins/dcCKEditor/js/popup_media.js

    r2738 r2751  
    33          window.close(); 
    44     }); 
    5       
     5 
    66     $('#media-insert-ok').click(function() { 
    77          var insert_form = $('#media-insert-form').get(0); 
    8           if (insert_form === undefined) {  
    9                return;  
     8          if (insert_form === undefined) { 
     9               return; 
    1010          } 
    1111 
    12           var editor_name = window.opener.$.getEditorName(document.location.search), 
     12          var editor_name = window.opener.$.getEditorName(), 
    1313          editor = window.opener.CKEDITOR.instances[editor_name], 
    1414          type = insert_form.elements.type.value, 
     
    4747                         element = window.opener.CKEDITOR.dom.element.createFromHtml(img); 
    4848                    } 
    49                           
     49 
    5050                    editor.insertElement(element); 
    5151               } 
  • plugins/dcCKEditor/js/popup_posts.js

    r2738 r2751  
    66     $('#form-entries tr>td.maximal>a').click(function(e) { 
    77          e.preventDefault(); 
    8           var editor_name = window.opener.$.getEditorName(document.location.search), 
     8          var editor_name = window.opener.$.getEditorName(), 
    99          editor = window.opener.CKEDITOR.instances[editor_name], 
    1010          link = '', 
  • plugins/dcLegacyEditor/js/_post_editor.js

    r2705 r2751  
    11$(function() { 
    22     if ($('#edit-entry').length==0) {return;} 
    3  
    4      // remove editor prefix 
    5      var getPostFormat = function getPostFormat(post_format) { 
    6           return post_format.replace(/[^:]*:/,''); 
    7      }; 
    8      var getPostEditor = function getPostEditor(post_format) { 
    9           return post_format.replace(/:.*/,''); 
    10      }; 
    113 
    124     // Get document format and prepare toolbars 
     
    146     var last_post_format = $(formatField).val(); 
    157     $(formatField).change(function() { 
    16           if (getPostEditor(this.value)!='dcLegacyEditor') { return;} 
     8          if (this.value!='dcLegacyEditor') { return;} 
    179 
    18           var post_format = getPostFormat(this.value); 
     10          var post_format = this.value; 
    1911 
    2012          // Confirm post format change 
     
    3729 
    3830     $('.format_control > *').addClass('hide'); 
    39      $('.format_control:not(.control_no_'+getPostFormat(last_post_format)+') > *').removeClass('hide'); 
     31     $('.format_control:not(.control_no_'+last_post_format+') > *').removeClass('hide'); 
    4032 
    4133     if ($('#comment_content').length>0) { 
     
    6153                    excerpt: excerpt_content, 
    6254                    content: post_content, 
    63                     format: getPostFormat($('#post_format').get(0).value), 
     55                    format: $('#post_format').get(0).value, 
    6456                    lang: $('#post_lang').get(0).value 
    6557               }; 
     
    111103 
    112104          // Load toolbars 
    113           contentTb.switchMode(getPostFormat(formatField.value)); 
    114           excerptTb.switchMode(getPostFormat(formatField.value)); 
     105          contentTb.switchMode(formatField.value); 
     106          excerptTb.switchMode(formatField.value); 
    115107 
    116108          // Check unsaved changes before XHTML conversion 
  • plugins/dcLegacyEditor/js/jsToolBar/jsToolBar.dotclear.js

    r2614 r2751  
    55jsToolBar.prototype.elements.link.open_url = 'popup_link.php'; 
    66 
    7 jsToolBar.prototype.elements.link.popup = function (args) { 
     7jsToolBar.prototype.elements.link.popup = function(args) { 
    88     window.the_toolbar = this; 
    99     args = args || ''; 
     
    155155     fn: {}, 
    156156     fncall: {}, 
    157      open_url: 'media.php?popup=1', 
     157     open_url: 'media.php?popup=1&plugin_id=dcLegacyEditor', 
    158158     data: {}, 
    159159     popup: function() { 
     
    355355     title: 'Link to an entry', 
    356356     fn: {}, 
    357      open_url: 'popup_posts.php', 
     357     open_url: 'popup_posts.php?plugin_id=dcLegacyEditor', 
    358358     data: {}, 
    359359     popup: function() { 
  • plugins/tags/_admin.php

    r2680 r2751  
    4040$core->addBehavior('adminPageHelpBlock', array('tagsBehaviors', 'adminPageHelpBlock')); 
    4141 
    42 $core->addBehavior('ckeditorExtraPlugins', array('tagsBehaviors', 'ckeditorExtraPlugins')); 
     42//$core->addBehavior('ckeditorExtraPlugins', array('tagsBehaviors', 'ckeditorExtraPlugins')); 
    4343 
    4444# BEHAVIORS 
Note: See TracChangeset for help on using the changeset viewer.

Sites map