| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * @brief dcCKEditor, a plugin for Dotclear 2 |
|---|
| 4 | * |
|---|
| 5 | * @package Dotclear |
|---|
| 6 | * @subpackage Plugins |
|---|
| 7 | * |
|---|
| 8 | * @copyright Olivier Meunier & Association Dotclear |
|---|
| 9 | * @copyright GPL-2.0-only |
|---|
| 10 | */ |
|---|
| 11 | |
|---|
| 12 | if (!defined('DC_CONTEXT_ADMIN')) {return;} |
|---|
| 13 | |
|---|
| 14 | $dcckeditor_was_actived = $dcckeditor_active; |
|---|
| 15 | |
|---|
| 16 | if (!empty($_POST['saveconfig'])) { |
|---|
| 17 | try { |
|---|
| 18 | $dcckeditor_active = (empty($_POST['dcckeditor_active'])) ? false : true; |
|---|
| 19 | $core->blog->settings->dcckeditor->put('active', $dcckeditor_active, 'boolean'); |
|---|
| 20 | |
|---|
| 21 | // change other settings only if they were in html page |
|---|
| 22 | if ($dcckeditor_was_actived) { |
|---|
| 23 | $dcckeditor_alignement_buttons = (empty($_POST['dcckeditor_alignment_buttons'])) ? false : true; |
|---|
| 24 | $core->blog->settings->dcckeditor->put('alignment_buttons', $dcckeditor_alignement_buttons, 'boolean'); |
|---|
| 25 | |
|---|
| 26 | $dcckeditor_list_buttons = (empty($_POST['dcckeditor_list_buttons'])) ? false : true; |
|---|
| 27 | $core->blog->settings->dcckeditor->put('list_buttons', $dcckeditor_list_buttons, 'boolean'); |
|---|
| 28 | |
|---|
| 29 | $dcckeditor_textcolor_button = (empty($_POST['dcckeditor_textcolor_button'])) ? false : true; |
|---|
| 30 | $core->blog->settings->dcckeditor->put('textcolor_button', $dcckeditor_textcolor_button, 'boolean'); |
|---|
| 31 | |
|---|
| 32 | $dcckeditor_background_textcolor_button = (empty($_POST['dcckeditor_background_textcolor_button'])) ? false : true; |
|---|
| 33 | $core->blog->settings->dcckeditor->put('background_textcolor_button', $dcckeditor_background_textcolor_button, 'boolean'); |
|---|
| 34 | |
|---|
| 35 | $dcckeditor_cancollapse_button = (empty($_POST['dcckeditor_cancollapse_button'])) ? false : true; |
|---|
| 36 | $core->blog->settings->dcckeditor->put('cancollapse_button', $dcckeditor_cancollapse_button, 'boolean'); |
|---|
| 37 | |
|---|
| 38 | $dcckeditor_format_select = (empty($_POST['dcckeditor_format_select'])) ? false : true; |
|---|
| 39 | $core->blog->settings->dcckeditor->put('format_select', $dcckeditor_format_select, 'boolean'); |
|---|
| 40 | |
|---|
| 41 | // default tags : p;h1;h2;h3;h4;h5;h6;pre;address |
|---|
| 42 | $allowed_tags = ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'address']; |
|---|
| 43 | if (!empty($_POST['dcckeditor_format_tags'])) { |
|---|
| 44 | $tags = explode(';', $_POST['dcckeditor_format_tags']); |
|---|
| 45 | $new_tags = true; |
|---|
| 46 | foreach ($tags as $tag) { |
|---|
| 47 | if (!in_array($tag, $allowed_tags)) { |
|---|
| 48 | $new_tags = false; |
|---|
| 49 | break; |
|---|
| 50 | } |
|---|
| 51 | } |
|---|
| 52 | if ($new_tags) { |
|---|
| 53 | $dcckeditor_format_tags = $_POST['dcckeditor_format_tags']; |
|---|
| 54 | } |
|---|
| 55 | } else { |
|---|
| 56 | $dcckeditor_format_tags = 'p;h1;h2;h3;h4;h5;h6;pre;address'; |
|---|
| 57 | } |
|---|
| 58 | $core->blog->settings->dcckeditor->put('format_tags', $dcckeditor_format_tags, 'string'); |
|---|
| 59 | |
|---|
| 60 | $dcckeditor_table_button = (empty($_POST['dcckeditor_table_button'])) ? false : true; |
|---|
| 61 | $core->blog->settings->dcckeditor->put('table_button', $dcckeditor_table_button, 'boolean'); |
|---|
| 62 | |
|---|
| 63 | $dcckeditor_clipboard_buttons = (empty($_POST['dcckeditor_clipboard_buttons'])) ? false : true; |
|---|
| 64 | $core->blog->settings->dcckeditor->put('clipboard_buttons', $dcckeditor_clipboard_buttons, 'boolean'); |
|---|
| 65 | |
|---|
| 66 | $dcckeditor_disable_native_spellchecker = (empty($_POST['dcckeditor_disable_native_spellchecker'])) ? false : true; |
|---|
| 67 | $core->blog->settings->dcckeditor->put('disable_native_spellchecker', $dcckeditor_disable_native_spellchecker, 'boolean'); |
|---|
| 68 | } |
|---|
| 69 | |
|---|
| 70 | dcPage::addSuccessNotice(__('The configuration has been updated.')); |
|---|
| 71 | http::redirect($p_url); |
|---|
| 72 | } catch (Exception $e) { |
|---|
| 73 | $core->error->add($e->getMessage()); |
|---|
| 74 | } |
|---|
| 75 | } |
|---|
| 76 | |
|---|
| 77 | include dirname(__FILE__) . '/../tpl/index.php'; |
|---|