Dotclear


Ignore:
Timestamp:
03/22/15 15:10:20 (10 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
default
Message:

Allow customizing CKEditor formats
Fixes #2070

File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/dcCKEditor/inc/_config.php

    r2854 r2972  
    44# This file is part of Dotclear 2. 
    55# 
    6 # Copyright (c) 2003-2014 Olivier Meunier & Association Dotclear 
     6# Copyright (c) 2003-2015 Olivier Meunier & Association Dotclear 
    77# Licensed under the GPL version 2.0 license. 
    88# See LICENSE file or 
     
    1616 
    1717if (!empty($_POST['saveconfig'])) { 
    18     try { 
    19         $dcckeditor_active = (empty($_POST['dcckeditor_active']))?false:true; 
    20         $core->blog->settings->dcckeditor->put('active', $dcckeditor_active, 'boolean'); 
     18     try { 
     19          $dcckeditor_active = (empty($_POST['dcckeditor_active']))?false:true; 
     20          $core->blog->settings->dcckeditor->put('active', $dcckeditor_active, 'boolean'); 
    2121 
    22         // change other settings only if they were in html page 
    23         if ($dcckeditor_was_actived) { 
    24             $dcckeditor_alignement_buttons = (empty($_POST['dcckeditor_alignment_buttons']))?false:true; 
    25             $core->blog->settings->dcckeditor->put('alignment_buttons', $dcckeditor_alignement_buttons, 'boolean'); 
     22          // change other settings only if they were in html page 
     23          if ($dcckeditor_was_actived) { 
     24               $dcckeditor_alignement_buttons = (empty($_POST['dcckeditor_alignment_buttons']))?false:true; 
     25               $core->blog->settings->dcckeditor->put('alignment_buttons', $dcckeditor_alignement_buttons, 'boolean'); 
    2626 
    27             $dcckeditor_list_buttons = (empty($_POST['dcckeditor_list_buttons']))?false:true; 
    28             $core->blog->settings->dcckeditor->put('list_buttons', $dcckeditor_list_buttons, 'boolean'); 
     27               $dcckeditor_list_buttons = (empty($_POST['dcckeditor_list_buttons']))?false:true; 
     28               $core->blog->settings->dcckeditor->put('list_buttons', $dcckeditor_list_buttons, 'boolean'); 
    2929 
    30             $dcckeditor_textcolor_button = (empty($_POST['dcckeditor_textcolor_button']))?false:true; 
    31             $core->blog->settings->dcckeditor->put('textcolor_button', $dcckeditor_textcolor_button, 'boolean'); 
     30               $dcckeditor_textcolor_button = (empty($_POST['dcckeditor_textcolor_button']))?false:true; 
     31               $core->blog->settings->dcckeditor->put('textcolor_button', $dcckeditor_textcolor_button, 'boolean'); 
    3232 
    33             $dcckeditor_cancollapse_button = (empty($_POST['dcckeditor_cancollapse_button']))?false:true; 
    34             $core->blog->settings->dcckeditor->put('cancollapse_button', $dcckeditor_cancollapse_button, 'boolean'); 
     33               $dcckeditor_cancollapse_button = (empty($_POST['dcckeditor_cancollapse_button']))?false:true; 
     34               $core->blog->settings->dcckeditor->put('cancollapse_button', $dcckeditor_cancollapse_button, 'boolean'); 
    3535 
    36             $dcckeditor_format_select = (empty($_POST['dcckeditor_format_select']))?false:true; 
    37             $core->blog->settings->dcckeditor->put('format_select', $dcckeditor_format_select, 'boolean'); 
     36               $dcckeditor_format_select = (empty($_POST['dcckeditor_format_select']))?false:true; 
     37               $core->blog->settings->dcckeditor->put('format_select', $dcckeditor_format_select, 'boolean'); 
    3838 
    39             $dcckeditor_table_button = (empty($_POST['dcckeditor_table_button']))?false:true; 
    40             $core->blog->settings->dcckeditor->put('table_button', $dcckeditor_table_button, 'boolean'); 
     39               // default tags : p;h1;h2;h3;h4;h5;h6;pre;address 
     40               $allowed_tags = array('p','h1','h2','h3','h4','h5','h6','pre','address'); 
     41               if (!empty($_POST['dcckeditor_format_tags'])) { 
     42                    $tags = explode(';', $_POST['dcckeditor_format_tags']); 
     43                    $new_tags = true; 
     44                    foreach ($tags as $tag) { 
     45                         if (!in_array($tag, $allowed_tags)) { 
     46                              $new_tags = false; 
     47                              break; 
     48                         } 
     49                    } 
     50                    if ($new_tags) { 
     51                         $dcckeditor_format_tags = $_POST['dcckeditor_format_tags']; 
     52                    } 
     53               } else { 
     54                    $dcckeditor_format_tags = 'p;h1;h2;h3;h4;h5;h6;pre;address'; 
     55               } 
     56               $core->blog->settings->dcckeditor->put('format_tags', $dcckeditor_format_tags, 'string'); 
    4157 
    42             $dcckeditor_clipboard_buttons = (empty($_POST['dcckeditor_clipboard_buttons']))?false:true; 
    43             $core->blog->settings->dcckeditor->put('clipboard_buttons', $dcckeditor_clipboard_buttons, 'boolean'); 
    44         } 
    4558 
    46         dcPage::addSuccessNotice(__('The configuration has been updated.')); 
    47         http::redirect($p_url); 
    48     } catch(Exception $e) { 
     59               $dcckeditor_table_button = (empty($_POST['dcckeditor_table_button']))?false:true; 
     60               $core->blog->settings->dcckeditor->put('table_button', $dcckeditor_table_button, 'boolean'); 
     61 
     62               $dcckeditor_clipboard_buttons = (empty($_POST['dcckeditor_clipboard_buttons']))?false:true; 
     63               $core->blog->settings->dcckeditor->put('clipboard_buttons', $dcckeditor_clipboard_buttons, 'boolean'); 
     64          } 
     65 
     66          dcPage::addSuccessNotice(__('The configuration has been updated.')); 
     67          http::redirect($p_url); 
     68     } catch(Exception $e) { 
    4969          $core->error->add($e->getMessage()); 
    50     } 
     70     } 
    5171} 
    5272 
Note: See TracChangeset for help on using the changeset viewer.

Sites map