Dotclear

Changeset 2854:2d4e6314b899


Ignore:
Timestamp:
12/17/14 08:04:25 (11 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
2.7
Message:

Add tags into inject ckeditor for adminPostEditor behavior
Addresses #2011

@TODO : need to find a way to add multiple context: for example comment tab on admin/post.php page

Files:
12 edited

Legend:

Unmodified
Added
Removed
  • admin/index.php

    r2852 r2854  
    176176          $post_editor = $core->auth->getOption('editor'); 
    177177          if ($post_editor && !empty($post_editor[$post_format])) { 
    178                $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'post'); 
     178               // context is not post because of tags not available 
     179               $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'quickentry', array('#post_content')); 
    179180          } 
    180181     } 
  • admin/post.php

    r2852 r2854  
    378378$admin_post_behavior = ''; 
    379379if ($post_editor && !empty($post_editor[$post_format])) { 
    380      $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'post'); 
     380     $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'post', array('#post_excerpt','#post_content,#comment_content')); 
    381381} 
    382382 
  • plugins/dcCKEditor/_define.php

    r2738 r2854  
    1616     /* Description*/         "dotclear CKEditor integration", 
    1717     /* Author */             "dotclear Team", 
    18      /* Version */            "0.8.3", 
     18     /* Version */            "0.9.0", 
    1919     /* Permissions */       "usage,contentadmin", 
    2020     /* Properties */        array('type' => 'plugin') 
  • plugins/dcCKEditor/_install.php

    r2753 r2854  
    2727$settings->dcckeditor->put('cancollapse_button', false, 'boolean', 'Add collapse button?', false, true); 
    2828$settings->dcckeditor->put('format_select', false, 'boolean', 'Add format selection?', false, true); 
    29 $settings->dcckeditor->put('textareas', DEFAULT_TEXTAREAS, 'string', 'Text areas to be used by CKEditor', false, true); 
    3029$settings->dcckeditor->put('table_button', false, 'boolean', 'Add table button?', false, true); 
    3130$settings->dcckeditor->put('clipboard_buttons', false, 'boolean', 'Add clipboard buttons?', false, true); 
  • plugins/dcCKEditor/_post_config.php

    r2835 r2854  
    5858 
    5959          var editor = CKEDITOR.instances[$.getEditorName()]; 
    60           if (!confirmClosePage.formSubmit && editor.checkDirty()) { 
     60          if (editor!==undefined && !confirmClosePage.formSubmit && editor.checkDirty()) { 
    6161               e.returnValue = confirmClosePage.prompt; 
    6262               return confirmClosePage.prompt; 
     
    8888} 
    8989?> 
    90  
    91      $('<?php echo $dcckeditor_textareas;?>').ckeditor({ 
     90    if (dotclear.ckeditor_context===undefined || dotclear.ckeditor_tags_context[dotclear.ckeditor_context]===undefined) { 
     91        return; 
     92    } 
     93     $(dotclear.ckeditor_tags_context[dotclear.ckeditor_context].join(',')).ckeditor({ 
    9294<?php 
    9395$defautExtraPlugins = 'entrylink,dclink,media,justify,colorbutton,format'; 
     
    156158                    items: [ 
    157159                         'EntryLink','dcLink','Media','-', 
    158                          'Source', 'Maximize' 
     160                         'Source' 
    159161<?php if (!empty($dcckeditor_textcolor_button)):?> 
    160162                ,'TextColor' 
     
    162164                    ] 
    163165               }, 
     166            { 
     167                name: 'special', 
     168                items: [ 
     169                    'Maximize' 
     170                ] 
     171            }, 
    164172               <?php // add extra buttons comming from dotclear plugins 
    165173               if (!empty($extraPlugins) && count($extraPlugins)>0) { 
  • plugins/dcCKEditor/_prepend.php

    r2841 r2854  
    1313if (!defined('DC_RC_PATH')) { return; } 
    1414 
    15 define('DEFAULT_TEXTAREAS', 'textarea#post_excerpt,textarea#post_content,textarea#comment_content'); 
    16  
    1715$__autoload['dcCKEditorBehaviors'] = dirname(__FILE__).'/inc/dc.ckeditor.behaviors.php'; 
  • plugins/dcCKEditor/inc/_config.php

    r2738 r2854  
    4242            $dcckeditor_clipboard_buttons = (empty($_POST['dcckeditor_clipboard_buttons']))?false:true; 
    4343            $core->blog->settings->dcckeditor->put('clipboard_buttons', $dcckeditor_clipboard_buttons, 'boolean'); 
    44  
    45             $dcckeditor_textareas = (!empty($_POST['dcckeditor_textareas']))?trim($_POST['dcckeditor_textareas']):''; 
    46             $core->blog->settings->dcckeditor->put('textareas', $dcckeditor_textareas, 'string'); 
    4744        } 
    4845 
  • plugins/dcCKEditor/inc/dc.ckeditor.behaviors.php

    r2852 r2854  
    1616    protected static $config_url = 'plugin.php?p=dcCKEditor&config=1'; 
    1717 
    18     public static function adminPostEditor($editor='',$context='') { 
     18    /** 
     19     * adminPostEditor add javascript to the DOM to load ckeditor depending on context 
     20     * 
     21     * @param editor   <b>string</b> wanted editor 
     22     * @param context  <b>string</b> page context (post,page,comment,event,...) 
     23     * @param tags     <b>array</b>  array of ids into inject editor 
     24     */ 
     25    public static function adminPostEditor($editor='',$context='',array $tags=array()) { 
    1926        if (empty($editor) || $editor!='dcCKEditor') { return;} 
    2027 
     
    2734            '<script type="text/javascript">'."\n". 
    2835            "//<![CDATA[\n". 
     36            dcPage::jsVar('dotclear.ckeditor_context', $context). 
     37            'dotclear.ckeditor_tags_context = '.sprintf('{%s:["%s"]};'."\n", $context, implode('","', $tags)). 
    2938            'var CKEDITOR_BASEPATH = "'.DC_ADMIN_URL.self::$p_url.'/js/ckeditor/";'."\n". 
    3039            dcPage::jsVar('dotclear.base_url', $GLOBALS['core']->blog->host). 
     
    7079        } 
    7180    } 
     81 
     82    public static function getTagsContext() { 
     83        return self::$tagsContext; 
     84    } 
    7285} 
  • plugins/dcCKEditor/index.php

    r2761 r2854  
    2222$dcckeditor_format_select = $core->blog->settings->dcckeditor->format_select; 
    2323$dcckeditor_table_button = $core->blog->settings->dcckeditor->table_button; 
    24 $dcckeditor_textareas = $core->blog->settings->dcckeditor->textareas; 
    2524$dcckeditor_clipboard_buttons = $core->blog->settings->dcckeditor->clipboard_buttons; 
    2625 
  • plugins/dcCKEditor/tpl/index.tpl

    r2747 r2854  
    5454     </p> 
    5555      </div> 
    56       <div class="fieldset"> 
    57      <h3><?php echo __('Advanced options'); ?></h3> 
    58      <p> 
    59        <label class="classic" for="dcckeditor_textareas">&nbsp;<?php echo __('Text areas to be used by CKEditor');?></label> 
    60        <?php echo form::field('dcckeditor_textareas', 50, 255, $dcckeditor_textareas);?> 
    61      </p> 
    62      <p class="clear form-note"> 
    63        <?php echo __('Comma separed list of textareas - jQuery selector. Defaut: '), DEFAULT_TEXTAREAS;?> 
    64      </p> 
    65       </div> 
    66  
    6756      <?php endif;?> 
    6857      <p> 
     
    7665  </body> 
    7766</html> 
    78  
    79  
    80  
  • plugins/dcLegacyEditor/inc/dc.legacy.editor.behaviors.php

    r2762 r2854  
    1515     protected static $p_url = 'index.php?pf=dcLegacyEditor'; 
    1616 
    17     // @param context not use but added to have same function prototype 
    18     public static function adminPostEditor($editor='',$context='') { 
     17    /** 
     18     * adminPostEditor add javascript to the DOM to load ckeditor depending on context 
     19     * 
     20     * @param editor   <b>string</b> wanted editor 
     21     * @param context  <b>string</b> page context (post,page,comment,event,...) 
     22     * @param tags     <b>array</b>  array of ids to inject editor 
     23     */ 
     24    public static function adminPostEditor($editor='',$context='',array $tags=array()) { 
    1925          if (empty($editor) || $editor!='dcLegacyEditor') {return;} 
     26 
     27        // context and tags are not used for dcLegacyEditor 
    2028 
    2129          return 
  • plugins/pages/page.php

    r2852 r2854  
    286286$admin_post_behavior = ''; 
    287287if ($post_editor && !empty($post_editor[$post_format])) { 
    288      $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'page'); 
     288     $admin_post_behavior = $core->callBehavior('adminPostEditor', $post_editor[$post_format], 'page', array('#post_excerpt','#post_content')); 
    289289} 
    290290 
Note: See TracChangeset for help on using the changeset viewer.

Sites map