aboutsummaryrefslogtreecommitdiff
path: root/mod/tinymce/views/default/js/tinymce.php
diff options
context:
space:
mode:
authorewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-01 08:00:53 +0000
committerewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-01 08:00:53 +0000
commit35be18083c4262c94d58f85609aabfff5a0f9412 (patch)
treefeedddda472660f3aead25f3b8b109c94b5024d6 /mod/tinymce/views/default/js/tinymce.php
parentf68f1d52556f02a85aba9ec8b09ffabbab008446 (diff)
downloadelgg-35be18083c4262c94d58f85609aabfff5a0f9412.tar.gz
elgg-35be18083c4262c94d58f85609aabfff5a0f9412.tar.bz2
Refs #2538: Cleaned up custom tinymce code into elgg.tinymce.*.
Refs #2895: TinyMCE makes use of longtext menu git-svn-id: http://code.elgg.org/elgg/trunk@8533 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/tinymce/views/default/js/tinymce.php')
-rw-r--r--mod/tinymce/views/default/js/tinymce.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/mod/tinymce/views/default/js/tinymce.php b/mod/tinymce/views/default/js/tinymce.php
new file mode 100644
index 000000000..adff52129
--- /dev/null
+++ b/mod/tinymce/views/default/js/tinymce.php
@@ -0,0 +1,59 @@
+elgg.tinymce.toggleEditor = function(id) {
+ if (!tinyMCE.get(id)) {
+ tinyMCE.execCommand('mceAddControl', false, id);
+ <?php //FIXME This changes all controls on the page!! ?>
+ $("a.tinymce-toggle-editor").html(elgg.echo('tinymce:remove'));
+ } else {
+ tinyMCE.execCommand('mceRemoveControl', false, id);
+ $("a.tinymce-toggle-editor").html(elgg.echo('tinymce:add'));
+ }
+}
+
+/**
+ * TinyMCE initialization script
+ *
+ * You can find configuration information here:
+ * http://tinymce.moxiecode.com/wiki.php/Configuration
+ */
+elgg.tinymce.init = function() {
+ tinyMCE.init({
+ mode : "specific_textareas",
+ editor_selector : "elgg-input-longtext",
+ theme : "advanced",
+ plugins : "spellchecker,autosave,fullscreen,paste",
+ relative_urls : false,
+ remove_script_host : false,
+ document_base_url : elgg.config.wwwroot,
+ theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,bullist,numlist,undo,redo,link,unlink,image,blockquote,code,pastetext,pasteword,more,fullscreen",
+ theme_advanced_buttons2 : "",
+ theme_advanced_buttons3 : "",
+ theme_advanced_toolbar_location : "top",
+ theme_advanced_toolbar_align : "left",
+ theme_advanced_statusbar_location : "bottom",
+ theme_advanced_resizing : true,
+ theme_advanced_path : true,
+ extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|style],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
+ setup : function(ed) {
+ //show the number of words
+ ed.onLoadContent.add(function(ed, o) {
+ var strip = (tinyMCE.activeEditor.getContent()).replace(/(&lt;([^&gt;]+)&gt;)/ig,"");
+ var text = " <?php echo elgg_echo('tinymce:word_count'); ?>" + strip.split(' ').length + ' ';
+ tinymce.DOM.setHTML(tinymce.DOM.get(tinyMCE.activeEditor.id + '_path_row'), text);
+ });
+
+ ed.onKeyUp.add(function(ed, e) {
+ var strip = (tinyMCE.activeEditor.getContent()).replace(/(&lt;([^&gt;]+)&gt;)/ig,"");
+ var text = " <?php echo elgg_echo('tinymce:word_count'); ?>" + strip.split(' ').length + ' ';
+ tinymce.DOM.setHTML(tinymce.DOM.get(tinyMCE.activeEditor.id + '_path_row'), text);
+ });
+ },
+ content_css: elgg.config.wwwroot + 'mod/tinymce/tinymce_content.css'
+ });
+
+ $('.elgg-input-longtext').parents('form').submit(function() {
+ tinyMCE.triggerSave();
+ });
+
+});
+
+elgg.register_event_handler('init', 'system', elgg.tinymce.init); \ No newline at end of file