diff options
Diffstat (limited to 'mod/tinymce/views/default/input')
-rw-r--r-- | mod/tinymce/views/default/input/longtext.php | 98 |
1 files changed, 14 insertions, 84 deletions
diff --git a/mod/tinymce/views/default/input/longtext.php b/mod/tinymce/views/default/input/longtext.php index 9d3a36155..daa68502e 100644 --- a/mod/tinymce/views/default/input/longtext.php +++ b/mod/tinymce/views/default/input/longtext.php @@ -1,98 +1,28 @@ <?php /** - * Elgg long text input with the tinymce text editor intacts - * Displays a long text input field + * Long text input with the tinymce text editor * * @package ElggTinyMCE * - * @uses $vars['value'] The current value, if any - * @uses $vars['js'] Any Javascript to enter into the input tag + * @uses $vars['value'] The current value, if any + * @uses $vars['js'] Any Javascript to enter into the input tag * @uses $vars['internalname'] The name of the input field - * @uses $vars['internalid'] The id of the input field + * @uses $vars['internalid'] The id of the input field * */ -global $tinymce_js_loaded; +elgg_register_js('mod/tinymce/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js', 'tinymce'); -if (!isset($vars['value']) || $vars['value'] === FALSE) { - $vars['value'] = elgg_get_sticky_value($vars['internalname']); -} - -$input = rand(0,9999); - -if (!isset($tinymce_js_loaded)) { - $tinymce_js_loaded = false; -} - -if (!$tinymce_js_loaded) { - -?> -<!-- include tinymce --> -<script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>mod/tinymce/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script> -<!-- intialise tinymce, you can find other configurations here http://wiki.moxiecode.com/examples/tinymce/installation_example_01.php --> -<script type="text/javascript"> -tinyMCE.init({ - mode : "specific_textareas", - editor_selector : "mceEditor", - theme : "advanced", - plugins : "spellchecker,autosave,fullscreen,paste", - relative_urls : false, - remove_script_host : false, - document_base_url : "<?php echo elgg_get_site_url(); ?>", - 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(/(<([^>]+)>)/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(/(<([^>]+)>)/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: '<?php echo elgg_get_site_url(); ?>mod/tinymce/tinymce_content.css' -}); - -function toggleEditor(id) { - if (!tinyMCE.get(id)) { - tinyMCE.execCommand('mceAddControl', false, id); - <?php $toggleEditor_linktext = elgg_echo('tinymce:remove'); ?> - $("a.toggle_editor").html('<?php echo $toggleEditor_linktext ?>'); - } - else { - tinyMCE.execCommand('mceRemoveControl', false, id); - <?php $toggleEditor_linktext = elgg_echo('tinymce:add'); ?> - $("a.toggle_editor").html('<?php echo $toggleEditor_linktext ?>'); - } -} -</script> -<?php - - $tinymce_js_loaded = true; -} +// make sure the init script is only loaded once +elgg_unextend_view('footer/analytics', 'tinymce/init'); +elgg_extend_view('footer/analytics', 'tinymce/init'); ?> -<a class="longtext-control toggle_editor small link" href="javascript:toggleEditor('<?php echo $vars['internalname']; ?>');"><?php echo elgg_echo('tinymce:remove'); ?></a> -<!-- show the textarea --> -<textarea class="elgg-input-textarea mceEditor" name="<?php echo $vars['internalname']; ?>" <?php if (isset($vars['internalid'])) echo "id=\"{$vars['internalid']}\""; ?> <?php echo $vars['js']; ?>><?php echo htmlentities($vars['value'], null, 'UTF-8'); ?></textarea> +<a class="elgg-longtext-control tinymce-toggle-editor small" href="javascript:toggleEditor('<?php echo $vars['internalname']; ?>');"> + <?php echo elgg_echo('tinymce:remove'); ?> +</a> -<script type="text/javascript"> - $(document).ready(function() { - $('textarea').parents('form').submit(function() { - tinyMCE.triggerSave(); - }); - }); -</script> +<textarea class="elgg-input-textarea mceEditor" name="<?php echo $vars['internalname']; ?>" <?php if (isset($vars['internalid'])) echo "id=\"{$vars['internalid']}\""; ?> <?php echo $vars['js']; ?>> + <?php echo htmlspecialchars($vars['value'], null, 'UTF-8'); ?> +</textarea> |