diff --git a/e107_plugins/tinymce/admin_config.php b/e107_plugins/tinymce/admin_config.php index be744fa46..c4ebac728 100644 --- a/e107_plugins/tinymce/admin_config.php +++ b/e107_plugins/tinymce/admin_config.php @@ -9,8 +9,8 @@ * Plugin Administration - gsitemap * * $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/admin_config.php,v $ - * $Revision: 1.2 $ - * $Date: 2009-07-01 04:19:55 $ + * $Revision: 1.3 $ + * $Date: 2009-07-02 00:13:11 $ * $Author: e107coders $ * */ @@ -67,7 +67,7 @@ if($_POST['save_settings']) // is there an if $emessage? $emessage->hasMessage if(!$pref['tinymce']['theme_advanced_buttons3']) { - $pref['tinymce']['theme_advanced_buttons3'] = "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen,emoticons"; + $pref['tinymce']['theme_advanced_buttons3'] = "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen,emoticons,ibrowser"; } if(!$pref['tinymce']['theme_advanced_buttons4']) @@ -82,7 +82,10 @@ if($_POST['save_settings']) // is there an if $emessage? $emessage->hasMessage - + diff --git a/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js b/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js index fb558895d..59d6bbcd5 100644 --- a/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js +++ b/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js @@ -1,92 +1,81 @@ -// Import theme specific language pack -// $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js,v $ -// $Revision: 1.1 $ -// $Date: 2006-12-22 18:45:26 $ -// $Author: e107coders $ +/** + * $Id: editor_plugin.js,v 1.2 2009-07-02 00:13:12 e107coders Exp $ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ -tinyMCE.importPluginLanguagePack('ibrowser', 'en,es,da,de,fr,nl,pl,sv,ru'); +(function() { + // Load plugin specific language pack + tinymce.PluginManager.requireLangPack('ibrowser'); -// Returns the HTML contents of the ibrowser control. + tinymce.create('tinymce.plugins.ibrowserPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceibrowser'); + ed.addCommand('mceibrowser', function() { + ed.windowManager.open({ + file : url + '/ibrowser.php', + width : 520 + parseInt(ed.getLang('ibrowser.delta_width', 0)), + height : 770 + parseInt(ed.getLang('ibrowser.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); -var TinyMCE_ibrowserPlugin = { - getInfo : function() { - return { - longname : 'ibrowser', - author : 'Your name', - authorurl : '', - infourl : '', - version : "1.1" - }; - }, + // Register ibrowser button + ed.addButton('ibrowser', { + title : 'ibrowser.desc', + cmd : 'mceibrowser', + image : url + '/images/ibrowser.gif' + }); - getControlHTML : function(cn) { - switch (cn) { - case "ibrowser": - return tinyMCE.getButtonHTML(cn, 'lang_ibrowser_desc', '{$pluginurl}/images/ibrowser.gif', 'mceBrowseImage', true); + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('ibrowser', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'ibrowser plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/ibrowser', + version : "1.0" + }; } + }); - return ""; - }, - - - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceBrowseImage": - var template = new Array(); - - template['file'] = '../../plugins/ibrowser/ibrowser.php'; // Relative to theme location - template['width'] = 480; - template['height'] = 670; - - var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = ""; - var margin_left = ""; - var margin_right = ""; - var margin_top = ""; - var margin_bottom = ""; - - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") - tinyMCE.imgElement = tinyMCE.selectedElement; - - if (tinyMCE.imgElement) { - src = tinyMCE.imgElement.getAttribute('src') ? tinyMCE.imgElement.getAttribute('src') : ""; - alt = tinyMCE.imgElement.getAttribute('alt') ? tinyMCE.imgElement.getAttribute('alt') : ""; - } - /* - - border = tinyMCE.imgElement.style.border ? tinyMCE.imgElement.style.border : ""; - hspace = tinyMCE.imgElement.getAttribute('hspace') ? tinyMCE.imgElement.getAttribute('hspace') : ""; - vspace = tinyMCE.imgElement.getAttribute('vspace') ? tinyMCE.imgElement.getAttribute('vspace') : ""; - width = tinyMCE.imgElement.style.width ? tinyMCE.imgElement.style.width.replace('px','') : ""; - height = tinyMCE.imgElement.style.height ? tinyMCE.imgElement.style.height.replace('px','') : ""; - align = tinyMCE.imgElement.getAttribute('align') ? tinyMCE.imgElement.getAttribute('align') : ""; - - margin_left = tinyMCE.imgElement.style.marginLeft ? tinyMCE.imgElement.style.marginLeft.replace('px','') : ""; - margin_right = tinyMCE.imgElement.style.marginRight ? tinyMCE.imgElement.style.marginRight.replace('px','') : ""; - margin_top = tinyMCE.imgElement.style.marginTop ? tinyMCE.imgElement.style.marginTop.replace('px','') : ""; - margin_bottom = tinyMCE.imgElement.style.marginBottom ? tinyMCE.imgElement.style.marginBottom.replace('px','') : ""; - - // Fix for drag-drop/copy paste bug in Mozilla - mceRealSrc = tinyMCE.imgElement.getAttribute('mce_real_src') ? tinyMCE.imgElement.getAttribute('mce_real_src') : ""; - if (mceRealSrc != "") - src = mceRealSrc; - - // src = eval(tinyMCE.settings['urlconvertor_callback'] + "(src, tinyMCE.imgElement, true);"); - } -*/ - tinyMCE.openWindow(template, {editor_id : editor_id, src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align}); - return true; - } - - // Pass to next handler in chain - return false; - } - -}; - - -tinyMCE.addPlugin("ibrowser", TinyMCE_ibrowserPlugin); - - - - + // Register plugin + tinymce.PluginManager.add('ibrowser', tinymce.plugins.ibrowserPlugin); +})(); \ No newline at end of file diff --git a/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php b/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php index a0627595a..623d78083 100644 --- a/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php +++ b/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php @@ -9,13 +9,13 @@ // ------------------------------------------------ // www.j-cons.com // ================================================ -// $Revision: 1.3 $Date: 2004/10/04 +// $Revision: 1.4 $Date: 2004/10/04 // ================================================ // // $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php,v $ -// $Revision: 1.3 $ -// $Date: 2008-10-19 11:35:00 $ -// $Author: e107steved $ +// $Revision: 1.4 $ +// $Date: 2009-07-02 00:13:13 $ +// $Author: e107coders $ // +----------------------------------------------------------------------------+ // Major Re-work by CaMer0n @@ -23,11 +23,15 @@ // unset $tinyMCE_imglib_include require_once("../../../../class2.php"); if (!defined('e107_INIT')) { exit; } + + unset($tinyMCE_imglib_include); // include image library config settings + include 'config.php'; + $request_uri = urldecode(empty($_POST['request_uri'])?(empty($_GET['request_uri'])?'':$_GET['request_uri']):$_POST['request_uri']); // if set include file specified in $tinyMCE_imglib_include @@ -64,16 +68,31 @@ $img = isset($_POST['imglist'])? $_POST['imglist']:''; $preview = e_IMAGE."generic/blank.gif"; $errors = array(); +if(is_readable("langs/".e_LANGUAGE.".php")) +{ + include_once("langs/".e_LANGUAGE.".php"); +} +else +{ + include_once("langs/English.php"); +} +echo " + -?> - -{$lang_ibrowser_title} - - - - + + + - - - - - - -
- {$lang_ibrowser_img_sel} -
Preview

[Refresh Preview]
Preview
[Refresh Preview] +

[Toggle WYSIWYG] +
+
+ + +
+ + +
+ ".$lang_ibrowser_img_sel." +
-
+
- - - + + + - - - + - + + echo " -
{$lang_ibrowser_library}: {$lang_ibrowser_preview}:".$lang_ibrowser_library.": ".$lang_ibrowser_preview.":
  +
{$lang_ibrowser_images}:".$lang_ibrowser_images.":  
dir=".$_root.$imglib; + "; + + + $_root = e_BASE; $d = @dir(e_BASE.$imglib); - ?> -  
+ @@ -350,30 +383,35 @@ $errors = array();
- - + +
- - - "; + + if ($tinyMCE_img_delete_allowed) + { + echo ""; + } + + echo " +
-
- {$lang_ibrowser_img_info} - + + +
+ ".$lang_ibrowser_img_info." +
-
+
- - + + - - + + - - - - + + + + - - + + - - - - + + + + - - + + - - + - - + - - + - - + - - + @@ -440,20 +478,39 @@ $errors = array();
{$lang_ibrowser_src}:".$lang_ibrowser_src.":
{$lang_ibrowser_alt}:".$lang_ibrowser_alt.":
{$lang_ibrowser_align}:  -
-

Lorem +

".$lang_ibrowser_align.": + +   +
+

\"\"Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum edipiscing @@ -387,51 +425,51 @@ $errors = array();

{$lang_ibrowser_size}:".$lang_ibrowser_size.":  
{$lang_ibrowser_height}:{$lang_ibrowser_reset} ".$lang_ibrowser_height.":\"".$lang_ibrowser_reset."\"   
{$lang_ibrowser_width}:".$lang_ibrowser_width.":  
{$lang_ibrowser_border}: - px + ".$lang_ibrowser_border.": + px  
Margin-left:px + ".$lang_ibrowser_marginl.":px  
Margin-Right:px + ".$lang_ibrowser_marginr.":px  
Margin-Top:px + ".$lang_ibrowser_margint.":px  
Margin-Bottom:px + ".$lang_ibrowser_marginb.":px  
- + - -"; + + function liboptions($arr, $prefix = '', $sel = '') { $buf = ''; - foreach($arr as $lib) { - $buf .= ''."\n"; + foreach($arr as $lib) + { + $buf .= ''."\n"; } return $buf; } +// Return the human readable size of a file +// @param int $size a file size +// @param int $dec a number of decimal places + +function filesize_h($size, $dec = 1) +{ + $sizes = array('byte(s)', 'kb', 'mb', 'gb'); + $count = count($sizes); + $i = 0; + + while ($size >= 1024 && ($i < $count - 1)) { + $size /= 1024; + $i++; + } + + return round($size, $dec) . ' ' . $sizes[$i]; +} ?> diff --git a/e107_plugins/tinymce/plugins/ibrowser/langs/en.js b/e107_plugins/tinymce/plugins/ibrowser/langs/en.js index b52c820c0..576b005e4 100644 --- a/e107_plugins/tinymce/plugins/ibrowser/langs/en.js +++ b/e107_plugins/tinymce/plugins/ibrowser/langs/en.js @@ -1,38 +1,4 @@ // UK lang variables - -tinyMCELang['lang_ibrowser_title'] = 'Insert / Edit Image'; -tinyMCELang['lang_ibrowser_desc'] = 'Insert / Edit Image'; -tinyMCELang['lang_ibrowser_library'] = 'Library'; -tinyMCELang['lang_ibrowser_preview'] = 'Preview'; -tinyMCELang['lang_ibrowser_img_sel'] = 'Image selection'; -tinyMCELang['lang_ibrowser_img_info'] = 'Image information'; -tinyMCELang['lang_ibrowser_img_upload'] = 'Image upload'; -tinyMCELang['lang_ibrowser_images'] = 'Images'; -tinyMCELang['lang_ibrowser_src'] = 'Source'; -tinyMCELang['lang_ibrowser_alt'] = 'Description'; -tinyMCELang['lang_ibrowser_size'] = 'Size'; -tinyMCELang['lang_ibrowser_align'] = 'Text flow'; -tinyMCELang['lang_ibrowser_height'] = 'Height'; -tinyMCELang['lang_ibrowser_width'] = 'Width'; -tinyMCELang['lang_ibrowser_reset'] = 'Reset Dimensions'; -tinyMCELang['lang_ibrowser_border'] = 'Border'; -tinyMCELang['lang_ibrowser_hspace'] = 'HSpace'; -tinyMCELang['lang_ibrowser_vspace'] = 'VSpace'; -tinyMCELang['lang_ibrowser_select'] = 'Save'; -tinyMCELang['lang_ibrowser_delete'] = 'Delete'; -tinyMCELang['lang_ibrowser_cancel'] = 'Cancel'; -tinyMCELang['lang_ibrowser_uploadtxt'] = 'File'; -tinyMCELang['lang_ibrowser_uploadbt'] = 'Upload'; -// error messages -tinyMCELang['lang_ibrowser_error'] = 'Error'; -tinyMCELang['lang_ibrowser_errornoimg'] = 'Please select an image'; -tinyMCELang['lang_ibrowser_errornodir'] = 'Library doesn\'t physically exist'; -tinyMCELang['lang_ibrowser_errorupload'] = 'An error occured while handling the file upload.\nPlease try again later'; -tinyMCELang['lang_ibrowser_errortype'] = 'Wrong image file type'; -tinyMCELang['lang_ibrowser_errordelete'] = 'Delete failed'; -tinyMCELang['lang_ibrowser_confirmdelete'] = 'Click OK to delete image!'; -tinyMCELang['lang_ibrowser_error_width_nan'] = 'Width is not a number!'; -tinyMCELang['lang_ibrowser_error_height_nan'] = 'Height is not a number!'; -tinyMCELang['lang_ibrowser_error_border_nan'] = 'Border is not a number!'; -tinyMCELang['lang_ibrowser_error_hspace_nan'] = 'Horizontal space is not a number!'; -tinyMCELang['lang_ibrowser_error_vspace_nan'] = 'Vertical space is not a number!'; \ No newline at end of file +tinyMCE.addI18n('en.ibrowser',{ + desc : 'Image Browser' +}); \ No newline at end of file diff --git a/e107_plugins/tinymce/wysiwyg.php b/e107_plugins/tinymce/wysiwyg.php index 39ba84bec..6bd6d84c5 100644 --- a/e107_plugins/tinymce/wysiwyg.php +++ b/e107_plugins/tinymce/wysiwyg.php @@ -4,8 +4,8 @@ | e107 website system - Tiny MCE controller file. | | $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/wysiwyg.php,v $ -| $Revision: 1.10 $ -| $Date: 2009-07-01 04:19:55 $ +| $Revision: 1.11 $ +| $Date: 2009-07-02 00:13:12 $ | $Author: e107coders $ +----------------------------------------------------------------------------+ */ @@ -56,8 +56,27 @@ $text .= "elements : '".$formids."',\n"; $text .= "theme : 'advanced'\n"; // $text .= ",plugins : 'table,contextmenu"; +$admin_only = array("ibrowser","code"); -$text .= ",plugins : '".implode(",",$pref['tinymce']['plugins'])."'\n"; +foreach($pref['tinymce']['plugins'] as $val) +{ + if(in_array($val,$admin_only) && !ADMIN) + { + continue; + } + + if(!$pref['smiley_activate'] && ($val=="emoticons")) + { + continue; + } + + $tinymce_plugins[] = $val; +} + + + + +$text .= ",plugins : '".implode(",",$tinymce_plugins)."'\n"; // $text .= ($pref['smiley_activate']) ? ",emoticons" : ""; // $text .= (ADMIN) ? ",ibrowser" : ",image"; @@ -138,6 +157,14 @@ $text .= " function tinymce_html_bbcode_control(type, source) { + "; + if(in_array("bbcode",$pref['tinymce']['plugins'])) + { + $text .= " return source; "; + } + + $text .= " + switch (type) { case 'get_from_editor':