The embed plugin requires Elgg 1.5 (or prior to the Elgg 1.5
release, Elgg revision 2634 or above) and the file plugin.
-To insert into the active editor, use elggEmbedInsert(html).
\ No newline at end of file
+To insert into the active editor, use elggEmbedInsert(html, textAreaName).
+
+The default behavior searches for all textareas with name textAreaName and
+inserts the content into them.
+
+If you need to use special embed code to insert content into a custom textarea
+(like tinyMce, FCK, etc), extend (nb: EXTEND, not override) the embed/custom_insert_js
+view with your custom JS. The vars available to you are:
+ str content The content to insert.
+ str textAreaName The name of the textarea to receive the content.
+
+It is important to correctly extend this view for compatibility across
+multiple plugins and textarea states. Your custom JS should run without
+error no matter plugin order or rich text editor status. See TinyMCE as
+an example of how to losely extend this function.
\ No newline at end of file
- var entity;
- $('textarea[name=' + textAreaName + ']').val($('textarea[name=' + textAreaName + ']').val() + ' ' + content);
\ No newline at end of file
+<?php
+/**
+ * Blank for compatibility.
+ */
+?>
\ No newline at end of file
?>
function elggEmbedInsertContent(content, textAreaName) {
content = ' ' + content + ' ';
+
+ // default input.
+ // if this doesn't match anything it won't add anything.
+ $('textarea[name=' + textAreaName + ']').val($('textarea[name=' + textAreaName + ']').val() + ' ' + content);
+
<?php
// This view includes the guts of the function to do the inserting.
// Anything that overrides input/longtext with its own editor
// needs to supply its own function here that inserts
// content into textAreaName.
// See TinyMCE as an example.
+
+ // for compatibility
+ // the old on that was overriden.
echo elgg_view('embed/addcontentjs');
+
+ // the one you should extend.
+ echo elgg_view('embed/custom_insert_js');
?>
+
+
$.facebox.close();
}
global $CONFIG;
elgg_extend_view('css', 'tinymce/css');
- //set_view_location('embed/addcontentjs', $CONFIG->pluginspath . 'tinymce/views/');
+ elgg_extend_view('embed/custom_insert_js', 'tinymce/embed_custom_insert_js');
}
register_elgg_event_handler('init', 'system', 'tinymce_init', 9999);