Enable TinyMCE for the blog form

This commit is contained in:
Evan Prodromou 2011-06-20 12:21:04 -04:00
parent 12ab4629f3
commit 182a8cf377
2 changed files with 42 additions and 0 deletions

View File

@ -207,4 +207,13 @@ class BlogPlugin extends MicroAppPlugin
return null;
}
function onEndShowScripts($action)
{
$action->script(common_path('plugins/TinyMCE/js/jquery.tinymce.js'));
$action->inlineScript('var _tinymce_path = "'.common_path('plugins/TinyMCE/js/tiny_mce.js').'";'."\n".
'var _tinymce_placeholder = "'.common_path('plugins/TinyMCE/icons/placeholder.png').'";'."\n");
$action->script($this->path('blog.js'));
return true;
}
}

33
plugins/Blog/blog.js Normal file
View File

@ -0,0 +1,33 @@
(function() {
var origInit = SN.Init.NoticeFormSetup;
SN.Init.NoticeFormSetup = function(form) {
origInit(form);
var content = form.find("#blog-entry-content");
if (content.length > 0) {
content.tinymce({
script_url : window._tinymce_path,
// General options
theme : "advanced",
plugins : "paste,fullscreen,autoresize,autolink,inlinepopups,tabfocus",
theme_advanced_buttons1 : "bold,italic,strikethrough,|,undo,redo,|,link,unlink,image",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
add_form_submit_trigger : false,
theme_advanced_resizing : true,
tabfocus_elements: ":prev,:next",
setup: function(ed) {
form.find('.submit:first').click(function() {
tinymce.triggerSave();
});
form.find('input[type=file]').change(function() {
var img = '<img src="'+window._tinymce_placeholder+'" class="placeholder" width="320" height="240">';
var html = tinyMCE.activeEditor.getContent();
ed.setContent(html + img);
});
}
});
}
};
})();