1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-08 07:36:32 +02:00

Upgraded Ibrowser plugin to work with new version of TinyMce. Added some ADMIN restrictions for some plugins.

This commit is contained in:
CaMer0n
2009-07-02 00:13:14 +00:00
parent b6ea9839e6
commit 5050c4d953
5 changed files with 297 additions and 255 deletions

View File

@@ -9,8 +9,8 @@
* Plugin Administration - gsitemap * Plugin Administration - gsitemap
* *
* $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/admin_config.php,v $ * $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/admin_config.php,v $
* $Revision: 1.2 $ * $Revision: 1.3 $
* $Date: 2009-07-01 04:19:55 $ * $Date: 2009-07-02 00:13:11 $
* $Author: e107coders $ * $Author: e107coders $
* *
*/ */
@@ -67,7 +67,7 @@ if($_POST['save_settings']) // is there an if $emessage? $emessage->hasMessage
if(!$pref['tinymce']['theme_advanced_buttons3']) 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']) if(!$pref['tinymce']['theme_advanced_buttons4'])
@@ -82,7 +82,10 @@ if($_POST['save_settings']) // is there an if $emessage? $emessage->hasMessage
<table style='".ADMIN_WIDTH."' class='fborder'> <table style='".ADMIN_WIDTH."' class='fborder'>
<tr> <tr>
<td style='width:20%' class='forumheader3'>Preview<br /><br />[<a href='javascript:start_tinyMce();'>Refresh Preview</a>]</td> <td style='width:20%' class='forumheader3'>Preview<div style='padding:20px'>[<a href='javascript:start_tinyMce();'>Refresh Preview</a>]
<br /><br />[<a href='#' onclick=\"tinyMCE.execCommand('mceToggleEditor',false,'content');\">Toggle WYSIWYG</a>]
</div>
</td>
<td style='width:80%' class='forumheader3'> <td style='width:80%' class='forumheader3'>
<textarea id='content' rows='10' cols='10' name='name3' class='tbox' style='width:80%'> </textarea> <textarea id='content' rows='10' cols='10' name='name3' class='tbox' style='width:80%'> </textarea>
</td> </td>

View File

@@ -1,92 +1,81 @@
// Import theme specific language pack /**
// $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/plugins/ibrowser/editor_plugin.js,v $ * $Id: editor_plugin.js,v 1.2 2009-07-02 00:13:12 e107coders Exp $
// $Revision: 1.1 $ *
// $Date: 2006-12-22 18:45:26 $ * @author Moxiecode
// $Author: e107coders $ * @copyright Copyright <20> 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 = { // Register ibrowser button
getInfo : function() { ed.addButton('ibrowser', {
return { title : 'ibrowser.desc',
longname : 'ibrowser', cmd : 'mceibrowser',
author : 'Your name', image : url + '/images/ibrowser.gif'
authorurl : '', });
infourl : '',
version : "1.1"
};
},
getControlHTML : function(cn) { // Add a node change handler, selects the button in the UI when a image is selected
switch (cn) { ed.onNodeChange.add(function(ed, cm, n) {
case "ibrowser": cm.setActive('ibrowser', n.nodeName == 'IMG');
return tinyMCE.getButtonHTML(cn, 'lang_ibrowser_desc', '{$pluginurl}/images/ibrowser.gif', 'mceBrowseImage', true); });
},
/**
* 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 ""; // Register plugin
}, tinymce.PluginManager.add('ibrowser', tinymce.plugins.ibrowserPlugin);
})();
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);

View File

@@ -9,13 +9,13 @@
// ------------------------------------------------ // ------------------------------------------------
// www.j-cons.com // 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 $ // $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/plugins/ibrowser/ibrowser.php,v $
// $Revision: 1.3 $ // $Revision: 1.4 $
// $Date: 2008-10-19 11:35:00 $ // $Date: 2009-07-02 00:13:13 $
// $Author: e107steved $ // $Author: e107coders $
// +----------------------------------------------------------------------------+ // +----------------------------------------------------------------------------+
// Major Re-work by CaMer0n // Major Re-work by CaMer0n
@@ -23,11 +23,15 @@
// unset $tinyMCE_imglib_include // unset $tinyMCE_imglib_include
require_once("../../../../class2.php"); require_once("../../../../class2.php");
if (!defined('e107_INIT')) { exit; } if (!defined('e107_INIT')) { exit; }
unset($tinyMCE_imglib_include); unset($tinyMCE_imglib_include);
// include image library config settings // include image library config settings
include 'config.php'; include 'config.php';
$request_uri = urldecode(empty($_POST['request_uri'])?(empty($_GET['request_uri'])?'':$_GET['request_uri']):$_POST['request_uri']); $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 // 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"; $preview = e_IMAGE."generic/blank.gif";
$errors = array(); $errors = array();
if(is_readable("langs/".e_LANGUAGE.".php"))
{
include_once("langs/".e_LANGUAGE.".php");
}
else
{
include_once("langs/English.php");
}
echo "
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<title>{$lang_ibrowser_title}</title> <title>".$lang_ibrowser_title."</title>
<script type="text/javaScript" src="../../tiny_mce_popup.js"></script> <script type=\"text/javascript\" src=\"../../tiny_mce_popup.js\"></script>
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv=\"Pragma\" content=\"no-cache\" />
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET ?>" /> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=". CHARSET."\" />
<script type="text/javascript"> <script type=\"text/javascript\">
//<![CDATA[
";
?>
// click ok - select picture or save changes // click ok - select picture or save changes
function selectClick() { function selectClick() {
@@ -214,19 +233,22 @@ $errors = array();
} }
// updates style settings // updates style settings
function updateStyle() { function updateStyle()
// if (validateParams()) { {
// alert('val=' + document.getElementById('wrap').style.marginLeft);
document.getElementById('wrap').style.marginLeft = document.getElementById('margin_left').value + 'px';
document.getElementById('wrap').style.marginRight = document.getElementById('margin_right').value + 'px';
document.getElementById('wrap').style.marginTop = document.getElementById('margin_top').value + 'px';
document.getElementById('wrap').style.marginBottom = document.getElementById('margin_bottom').value + 'px';
document.getElementById('wrap').style.borderWidth = document.getElementById('border').value + 'px';
document.getElementById('wrap').alt = document.getElementById('alt').value;
document.getElementById('wrap').style.marginLeft = document.libbrowser.margin_left.value; var AlignBox = document.getElementById("align");
document.getElementById('wrap').style.marginRight = document.libbrowser.margin_right.value;
document.getElementById('wrap').style.marginTop = document.libbrowser.margin_top.value; if(AlignBox.options[AlignBox.selectedIndex].value)
document.getElementById('wrap').style.marginBottom = document.libbrowser.margin_bottom.value; {
document.getElementById('wrap').style.cssFloat = document.libbrowser.align.value; document.getElementById('wrap').style.cssFloat = AlignBox.options[AlignBox.selectedIndex].value;
document.getElementById('wrap').style.borderWidth = document.libbrowser.border.value; }
document.getElementById('wrap').alt = document.libbrowser.alt.value;
// }
} }
// change picture dimensions // change picture dimensions
@@ -256,93 +278,104 @@ $errors = array();
// alert('<?php echo $tinyMCE_base_url.$imglib?>' + formObj.src.value); // alert('<?php echo $tinyMCE_base_url.$imglib?>' + formObj.src.value);
if (splitvar[3]) imgpreview.location.href = '<?php echo $tinyMCE_base_url.$imglib?>' + formObj.src.value; if (splitvar[3]) imgpreview.location.href = '<?php echo $tinyMCE_base_url.$imglib?>' + formObj.src.value;
} }
// ]]>
</script> </script>
</head>
<body onLoad="init();"> <?php
<script type="text/javascript">
echo "</head>
<body onload='init();'>
<script type='text/javascript'>
window.name = 'imglibrary'; window.name = 'imglibrary';
</script> </script>
<form name="libbrowser" method="post" action="ibrowser.php?request_uri=<?php echo $_GET['request_uri']?>" enctype="multipart/form-data" target="imglibrary">
<input type="hidden" name="request_uri" value="<?php echo urlencode($request_uri)?>" /> <form id=\"libbrowser\" method=\"post\" action=\"ibrowser.php?request_uri=".$_GET['request_uri']."\" enctype=\"multipart/form-data\" target=\"imglibrary\">
<input type="hidden" name="lib_action" value="" /> <div>
<fieldset style= "padding: 5 5 5 5; margin-top: -5px;"> <input type=\"hidden\" name=\"request_uri\" value=\"". urlencode($request_uri)."\" />
<legend>{$lang_ibrowser_img_sel}</legend> <input type=\"hidden\" name=\"lib_action\" value=\"\" />
<table width="440" border="0" cellspacing="0" cellpadding="0"> <fieldset style= \"padding: 5px; margin-top: -5px;\">
<legend>".$lang_ibrowser_img_sel."</legend>
<table style='width:100%;border:0px' cellspacing=\"0\" cellpadding=\"0\">
<tr> <tr>
<td><table width="100%" border="0" cellpadding="2" cellspacing="0"> <td><table style='width:100%;border:0px' cellpadding=\"2\" cellspacing=\"0\">
<tr> <tr>
<td width="210"><strong>{$lang_ibrowser_library}:</strong></td> <td style='width:210px'><strong>".$lang_ibrowser_library.":</strong></td>
<td width="5">&nbsp;</td> <td style='width:5px'>&nbsp;</td>
<td width="210"><strong>{$lang_ibrowser_preview}:</strong></td> <td ><strong>".$lang_ibrowser_preview.":</strong></td>
</tr> </tr>
<tr> <tr>
<td><select name="lib" size="1" style="width: 100%;" onChange="libbrowser.submit();"> <td><select name=\"lib\" size=\"1\" style=\"width: 100%;\" onchange=\"this.form.submit();\">
<?php echo $lib_options?> ".$lib_options."
</select></td> </select></td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td width="210" rowspan="3" align="left" valign="top"><iframe name="imgpreview" id="imgpreview" class="previewWindow" src="<?php echo $preview?>" style="width: 100%; height: 100%;" scrolling="Auto" marginheight="0" marginwidth="0" frameborder="0"></iframe> <td style='border:0px;text-align:left;vertical-align:top' rowspan=\"3\"><iframe name=\"imgpreview\" id=\"imgpreview\" class=\"previewWindow\" src=\"".$preview."\" style=\"border:0px;width: 100%; height: 220px;overflow:auto\" ></iframe>
</td> </td>
</tr> </tr>
<tr> <tr>
<td><strong>{$lang_ibrowser_images}:</strong></td> <td><strong>".$lang_ibrowser_images.":</strong></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td><?php <td>";
if (!preg_match('#/$#', $_SERVER['DOCUMENT_ROOT'])){
// $_root = $_SERVER['DOCUMENT_ROOT'].'/';
$_root = e_BASE; $_root = e_BASE;
} else {
// $_root = $_SERVER['DOCUMENT_ROOT'];
$_root = e_BASE;
}
// $d = @dir($_root.$imglib);
// echo "<Br >dir=".$_root.$imglib;
$d = @dir(e_BASE.$imglib); $d = @dir(e_BASE.$imglib);
?>
<select name="imglist" size="15" style="width: 100%;" echo "
onChange="show_image(this);selectChange(this);" ondblclick="selectClick();">
<?php <select name=\"imglist\" size=\"15\" style=\"width: 100%;\"
if ($d) onchange=\"show_image(this);selectChange(this);\" ondblclick=\"selectClick();\">\n";
{
$i = 0; if ($d)
while (false !== ($entry = $d->read())) { {
$ext = strtolower(substr(strrchr($entry,'.'), 1)); $i = 0;
if (is_file($_root.$imglib.$entry) && in_array($ext,$tinyMCE_valid_imgs)) while (false !== ($entry = $d->read()))
{ {
$arr_tinyMCE_image_files[$i][file_name] = $entry; $ext = strtolower(substr(strrchr($entry,'.'), 1));
$i++; if (is_file($_root.$imglib.$entry) && in_array($ext,$tinyMCE_valid_imgs))
} {
} $arr_tinyMCE_image_files[$i][file_name] = $entry;
$d->close(); $i++;
// sort the list of image filenames alphabetically. }
sort($arr_tinyMCE_image_files); }
for($k=0; $k<count($arr_tinyMCE_image_files); $k++){ $d->close();
$entry = $arr_tinyMCE_image_files[$k][file_name]; // sort the list of image filenames alphabetically.
$size = getimagesize($_root.$imglib.$entry); sort($arr_tinyMCE_image_files);
$fsize = filesize($_root.$imglib.$entry); for($k=0; $k<count($arr_tinyMCE_image_files); $k++)
?> {
<option value="<?php echo $size[0]; ?>|<?php echo $size[1]; ?>|<?php echo $e107->parseMemorySize($fsize,2); ?>|<?php echo $entry?>" <?php echo ($entry == $img)?'selected':''?>><?php echo $entry?></option> $entry = $arr_tinyMCE_image_files[$k][file_name];
<?php $size = getimagesize($_root.$imglib.$entry);
} $fsize = filesize($_root.$imglib.$entry);
$sel = ($entry == $img)? "selected='selected'" : "";
echo "<option value='".$size[0]."|".$size[1]."|". filesize_h($fsize,2)."|". $entry."' $sel >". $entry ."</option>\n";
}
} }
else else
{ {
$errors[] = '{$lang_ibrowser_errornodir}'; $errors[] = '{$lang_ibrowser_errornodir}';
} }
?>
</select></td> echo " </select></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <td colspan=\"3\"><table style='width:100%;border:0px' cellspacing=\"0\" cellpadding=\"0\">
<tr> <tr>
<td width="40%"><?php if ($tinyMCE_img_delete_allowed) { ?> <td style='width:40%'>";
<input type="button" value="{$lang_ibrowser_delete}" class="bt" onClick="deleteClick();" />
<?php } ?></td> if ($tinyMCE_img_delete_allowed)
<td align="right"><input type="button" name="selectbt" value="{$lang_ibrowser_select}" class="bt" onClick="selectClick();" /> {
<input type="button" value="{$lang_ibrowser_cancel}" class="bt" onClick="window.close();" /></td> echo "<input type=\"button\" value=\"".$lang_ibrowser_delete."\" class=\"bt\" onclick=\"deleteClick();\" />";
}
echo "</td>
<td align=\"right\"><input type=\"button\" name=\"selectbt\" value=\"{$lang_ibrowser_select}\" class=\"bt\" onclick=\"selectClick();\" />
<input type=\"button\" value=\"{$lang_ibrowser_cancel}\" class=\"bt\" onclick=\"window.close();\" /></td>
</tr> </tr>
</table></td> </table></td>
</tr> </tr>
@@ -350,30 +383,35 @@ $errors = array();
</tr> </tr>
</table> </table>
</fieldset> </fieldset>
<fieldset style= "padding: 5 5 5 5; margin-top: 10px;">
<legend>{$lang_ibrowser_img_info}</legend>
<table style='width:440px;border:0px' cellspacing="0" cellpadding="0"> <fieldset style= \"padding: 5px; margin-top: 10px;\">
<legend>".$lang_ibrowser_img_info."</legend>
<table style='width:440px;border:0px' cellspacing=\"0\" cellpadding=\"0\">
<tr> <tr>
<td><table style='width:440px;border:0px' cellpadding="2" cellspacing="0"> <td><table style='width:440px;border:0px' cellpadding=\"2\" cellspacing=\"0\">
<tr> <tr>
<td style='width:80px'>{$lang_ibrowser_src}:</td> <td style='width:80px'>".$lang_ibrowser_src.":</td>
<td colspan="5"><input name="src" type="text" id="src" value="" style="width: 100%;" /></td> <td colspan=\"5\"><input name=\"src\" type=\"text\" id=\"src\" value=\"\" style=\"width: 100%;\" /></td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_alt}:</td> <td>".$lang_ibrowser_alt.":</td>
<td colspan="5"><input name="alt" type="text" id="alt" value="" style="width: 100%;" onChange="updateStyle()" /></td> <td colspan=\"5\"><input name=\"alt\" type=\"text\" id=\"alt\" value=\"\" style=\"width: 100%;\" onchange=\"updateStyle()\" /></td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_align}:</td> <td>".$lang_ibrowser_align.":</td>
<td colspan="3"><select name="align" style="width: 100%;" onChange="updateStyle()"> <td colspan=\"3\">
<option value="">{$lang_insert_image_align_default}</option> <select id='align' name='align' style=\"width: 100%;\" onchange=\"updateStyle()\">
<option value="left">{$lang_insert_image_align_left}</option> <option value=\"none\">".$lang_insert_image_align_default."</option>
<option value="right">{$lang_insert_image_align_right}</option> <option value=\"left\">".$lang_insert_image_align_left."</option>
</select></td> <option value=\"right\">".$lang_insert_image_align_right."</option>
<td width="5">&nbsp;</td> </select>
<td rowspan="8" align="left" valign="top" style='width:210px;overflow:hidden'> </td>
<div id="stylepreview" style="padding:10px; width: 200px; height:100%; overflow:hidden; background-color:#ffffff; font-size:8px" class="previewWindow">
<p><img id="wrap" src="images/textflow.gif" width="45" height="45" alt="" style="border:0px; float:right; margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px" />Lorem <td style='width:5%'>&nbsp;</td>
<td rowspan=\"8\" style='text-align:left;vertical-align:top;width:210px;overflow:hidden'>
<div id=\"stylepreview\" style=\"padding:10px; width: 200px; height:100%; overflow:hidden; background-color:#ffffff; font-size:8px\" class=\"previewWindow\">
<p><img id=\"wrap\" src=\"images/textflow.gif\" width=\"45\" height=\"45\" alt=\"\" style=\"border:0px solid black; float:none; margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px\" />Lorem
ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum
edipiscing elit, sed diam nonummy nibh euismod tincidunt ut edipiscing elit, sed diam nonummy nibh euismod tincidunt ut
laoreet dolore magna aliquam erat volutpat.Loreum ipsum edipiscing laoreet dolore magna aliquam erat volutpat.Loreum ipsum edipiscing
@@ -387,51 +425,51 @@ $errors = array();
</td> </td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_size}:</td> <td>".$lang_ibrowser_size.":</td>
<td colspan="3"><input name="size" type="text" id="size" value="" readonly="true" style="width: 100%;" /></td> <td colspan=\"3\"><input name=\"size\" type=\"text\" id=\"size\" value=\"\" readonly=\"readonly\" style=\"width: 100%;\" /></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_height}:</td> <td>".$lang_ibrowser_height.":</td>
<td width="40"><input name="height" type="text" id="height" value="" size="5" maxlength="4" style="text-align: right;" onChange="changeDim(0)" /></td> <td style='width:40%'><input name=\"height\" type=\"text\" id=\"height\" value=\"\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"changeDim(0)\" /></td>
<td width="25" rowspan="2" align="left" valign="middle"><a href="#" onClick="resetDim();" ><img src="images/constrain.gif" alt="{$lang_ibrowser_reset}" width="22" height="29" border="0"></a></td> <td style='width:25%' rowspan=\"2\" align=\"left\" valign=\"middle\"><a href=\"#\" onclick=\"resetDim();\" ><img src=\"images/constrain.gif\" alt=\"".$lang_ibrowser_reset."\" width=\"22\" height=\"29\" style='border:0px' /></a></td>
<td rowspan="2">&nbsp;</td> <td rowspan=\"2\">&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_width}:</td> <td>".$lang_ibrowser_width.":</td>
<td><input name="width" type="text" id="width" value="" size="5" maxlength="4" style="text-align: right;" onChange="changeDim(1)" /></td> <td><input name=\"width\" type=\"text\" id=\"width\" value=\"\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"changeDim(1)\" /></td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>{$lang_ibrowser_border}:</td> <td>".$lang_ibrowser_border.":</td>
<td colspan="3"> <td colspan=\"3\">
<input name="border" type="text" id="border" value="0" size="5" maxlength="4" style="text-align: right;" onchange="updateStyle()" />px <input name=\"border\" type=\"text\" id=\"border\" value=\"0\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"updateStyle()\" />px
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>Margin-left:</td> <td>".$lang_ibrowser_marginl.":</td>
<td colspan="3"><input name="margin_left" type="text" id="margin_left" value="0" size="5" maxlength="4" style="text-align: right;" onchange="updateStyle()" />px <td colspan=\"3\"><input name=\"margin_left\" type=\"text\" id=\"margin_left\" value=\"0\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"updateStyle()\" />px
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>Margin-Right:</td> <td>".$lang_ibrowser_marginr.":</td>
<td colspan="3"><input name="margin_right" type="text" id="margin_right" value="0" size="5" maxlength="4" style="text-align: right;" onchange="updateStyle()" />px <td colspan=\"3\"><input name=\"margin_right\" type=\"text\" id=\"margin_right\" value=\"0\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"updateStyle()\" />px
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>Margin-Top:</td> <td>".$lang_ibrowser_margint.":</td>
<td colspan="3"><input name="margin_top" type="text" id="margin_top" value="0" size="5" maxlength="4" style="text-align: right;" onchange="updateStyle()" />px <td colspan=\"3\"><input name=\"margin_top\" type=\"text\" id=\"margin_top\" value=\"0\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"updateStyle()\" />px
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
<tr> <tr>
<td>Margin-Bottom:</td> <td>".$lang_ibrowser_marginb.":</td>
<td colspan="3"><input name="margin_bottom" type="text" id="margin_bottom" value="0" size="5" maxlength="4" style="text-align: right;" onchange="updateStyle()" />px <td colspan=\"3\"><input name=\"margin_bottom\" type=\"text\" id=\"margin_bottom\" value=\"0\" size=\"5\" maxlength=\"4\" style=\"text-align: right;\" onchange=\"updateStyle()\" />px
</td> </td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr> </tr>
@@ -440,20 +478,39 @@ $errors = array();
</tr> </tr>
</table> </table>
</fieldset> </fieldset>
</div>
</form> </form>
</body> </body>
</html> </html>";
<?php
function liboptions($arr, $prefix = '', $sel = '') function liboptions($arr, $prefix = '', $sel = '')
{ {
$buf = ''; $buf = '';
foreach($arr as $lib) { foreach($arr as $lib)
$buf .= '<option value="'.$lib['value'].'"'.(($lib['value'] == $sel)?' selected':'').'>'.$prefix.$lib['text'].'</option>'."\n"; {
$buf .= '<option value="'.$lib['value'].'"'.(($lib['value'] == $sel)?' selected="selected"':'').'>'.$prefix.$lib['text'].'</option>'."\n";
} }
return $buf; 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];
}
?> ?>

View File

@@ -1,38 +1,4 @@
// UK lang variables // UK lang variables
tinyMCE.addI18n('en.ibrowser',{
tinyMCELang['lang_ibrowser_title'] = 'Insert / Edit Image'; desc : 'Image Browser'
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!';

View File

@@ -4,8 +4,8 @@
| e107 website system - Tiny MCE controller file. | e107 website system - Tiny MCE controller file.
| |
| $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/wysiwyg.php,v $ | $Source: /cvs_backup/e107_0.8/e107_plugins/tinymce/wysiwyg.php,v $
| $Revision: 1.10 $ | $Revision: 1.11 $
| $Date: 2009-07-01 04:19:55 $ | $Date: 2009-07-02 00:13:12 $
| $Author: e107coders $ | $Author: e107coders $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -56,8 +56,27 @@ $text .= "elements : '".$formids."',\n";
$text .= "theme : 'advanced'\n"; $text .= "theme : 'advanced'\n";
// $text .= ",plugins : 'table,contextmenu"; // $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 .= ($pref['smiley_activate']) ? ",emoticons" : "";
// $text .= (ADMIN) ? ",ibrowser" : ",image"; // $text .= (ADMIN) ? ",ibrowser" : ",image";
@@ -138,6 +157,14 @@ $text .= "
function tinymce_html_bbcode_control(type, source) { function tinymce_html_bbcode_control(type, source) {
";
if(in_array("bbcode",$pref['tinymce']['plugins']))
{
$text .= " return source; ";
}
$text .= "
switch (type) { switch (type) {
case 'get_from_editor': case 'get_from_editor':