Restore wysiwyg plugin api (#147)
Partly. Plugins still need to use a different JS, fitting for the ckeditor. And plugins are bundled in the other-part of the toolbar instead of trying to follow the (xinha-)toolbar parameter
This commit is contained in:
parent
3b3018b173
commit
1b80ba69a1
@ -161,7 +161,6 @@ function serendipity_emit_htmlarea_code($item, $jsname, $spawnMulti = false) {
|
||||
if ($init && $spawnMulti) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isset($serendipity['wysiwyg']) && $serendipity['wysiwyg']) {
|
||||
|
||||
$eventData = array(
|
||||
@ -171,25 +170,14 @@ function serendipity_emit_htmlarea_code($item, $jsname, $spawnMulti = false) {
|
||||
'skip' => false,
|
||||
'buttons'=> array()
|
||||
);
|
||||
|
||||
serendipity_plugin_api::hook_event('backend_wysiwyg', $eventData);
|
||||
|
||||
if ($eventData['skip']) {
|
||||
return;
|
||||
}
|
||||
|
||||
// entryform, staticpages, html nuggets
|
||||
if (isset($serendipity['GET']['adminModule']) && ($serendipity['GET']['adminModule'] == 'entries' || $serendipity['GET']['adminModule'] == 'event_display' || $serendipity['GET']['adminModule'] == 'plugins') )
|
||||
{
|
||||
$backend_wysiwyg = true;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
$data['init'] = $init;
|
||||
$data['spawnMulti'] = $spawnMulti;
|
||||
$data['jsname'] = $jsname;
|
||||
$data['eventData'] = $eventData;
|
||||
$data['item'] = $item;
|
||||
$data['backend_wysiwyg'] = $backend_wysiwyg ? $backend_wysiwyg : false;
|
||||
$data = array('init' => $init, 'spawnMulti' => $spawnMulti, 'jsname' => $jsname, 'item' => $item, 'buttons' => $eventData['buttons']);
|
||||
|
||||
echo serendipity_smarty_show('admin/wysiwyg_init.tpl', $data);
|
||||
}
|
||||
|
@ -19,9 +19,29 @@
|
||||
|
||||
}
|
||||
});
|
||||
{foreach $buttons as $button}
|
||||
CKEDITOR.plugins.add('{$button.id}', {
|
||||
init: function( editor ) {
|
||||
editor.addCommand( '{$button.name}', {
|
||||
exec : function( editor ) {
|
||||
{$button.javascript}
|
||||
}
|
||||
});
|
||||
editor.ui.addButton('{$button.id}', {
|
||||
label: '{$button.name}',
|
||||
command: '{$button.name}',
|
||||
icon: '{$button.img_url}'
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
{/foreach}
|
||||
|
||||
|
||||
CKEDITOR.replace($('#'+serendipity.escapeBrackets('{$item}')).get(0), {
|
||||
customConfig : '{$serendipityHTTPPath}htmlarea/ckeditor_custom_config.js',
|
||||
extraPlugins : 's9y_medialibrary{$item}',
|
||||
extraPlugins : 's9y_medialibrary{$item}{foreach $buttons as $button},{$button.id}{/foreach}',
|
||||
|
||||
toolbar: [
|
||||
{ name: 'tools', items: [ 'Maximize' ] },
|
||||
{ name: 'styles', items: [ 'Format' ] },
|
||||
@ -31,7 +51,7 @@
|
||||
{ name: 'insert', items: [ 'Image', 's9y_medialibrary{$item}', 'Table', 'HorizontalRule', 'SpecialChar' ] },
|
||||
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ], items: [ 'Cut', 'Copy', 'Paste', 'PasteText', '-', 'Undo', 'Redo' ] },
|
||||
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ], items: [ 'Scayt' ] },
|
||||
{ name: 'others', items: [ '-' ] },
|
||||
{ name: 'others', items: [ '-' {foreach $buttons as $button}, '{$button.id}'{/foreach} ] },
|
||||
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ], items: [ 'Source' ] },
|
||||
{ name: 'about', items: [ 'About' ] }
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user