roller-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From snoopd...@apache.org
Subject svn commit: r454197 [17/29] - in /incubator/roller/trunk/web: WEB-INF/classes/ roller-ui/authoring/editors/ roller-ui/authoring/editors/xinha/ roller-ui/authoring/editors/xinha/conf/ roller-ui/authoring/editors/xinha/contrib/ roller-ui/authoring/editor...
Date Sun, 08 Oct 2006 19:54:16 GMT
Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editor.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editor.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editor.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editor.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,148 @@
+<?php 
+/**
+ * The PHP Image Editor user interface.
+ * @author $Author: Wei Zhuo $
+ * @version $Id: editor.php 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+require_once('config.inc.php');
+require_once('Classes/ImageManager.php');
+require_once('Classes/ImageEditor.php');
+
+$manager = new ImageManager($IMConfig);
+$editor = new ImageEditor($manager);
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+	<title></title>
+<script type="text/javascript">
+_backend_url = "<?php print $IMConfig['backend_url']; ?>";
+</script>
+	<link href="<?php print $IMConfig['base_url'];?>assets/editor.css" rel="stylesheet" type="text/css" />	
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/slider.js"></script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/popup.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+	window.resizeTo(673, 531);
+
+	if(window.opener)
+		HTMLArea = window.opener.HTMLArea;
+/*]]>*/
+</script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/editor.js"></script>
+</head>
+
+<body>
+<div id="indicator">
+<img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" id="indicator_image" height="20" width="20" alt="" />
+</div>
+<div id="tools">
+	<div id="tools_crop" style="display:none;">
+		<div id="tool_inputs">
+			<label for="cx">Start X:</label><input type="text" id="cx"  class="textInput" onchange="updateMarker('crop')"/>
+			<label for="cy">Start Y:</label><input type="text" id="cy" class="textInput" onchange="updateMarker('crop')"/>
+			<label for="cw">Width:</label><input type="text" id="cw" class="textInput" onchange="updateMarker('crop')"/>
+			<label for="ch">Height:</label><input type="text" id="ch" class="textInput" onchange="updateMarker('crop')"/>
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+		</div>	
+		<a href="javascript: editor.doSubmit('crop');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a>
+		<a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>		
+	</div>	
+	<div id="tools_scale" style="display:none;">
+		<div id="tool_inputs">
+			<label for="sw">Width:</label><input type="text" id="sw" class="textInput" onchange="checkConstrains('width')"/>
+			<a href="javascript:toggleConstraints();" title="Lock"><img src="<?php print $IMConfig['base_url'];?>img/islocked2.gif" id="scaleConstImg" height="14" width="8" alt="Lock" class="div" /></a><label for="sh">Height:</label>
+			<input type="text" id="sh" class="textInput" onchange="checkConstrains('height')"/>
+			<input type="checkbox" id="constProp" value="1" checked="checked" onclick="toggleConstraints()"/>
+			<label for="constProp">Constrain Proportions</label>
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+		</div>	
+		<a href="javascript: editor.doSubmit('scale');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a>
+		<a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>		
+	</div>	
+	<div id="tools_rotate" style="display:none;">
+		<div id="tool_inputs">
+			<select id="flip" name="flip" style="margin-left: 10px; vertical-align: middle;">
+              <option selected>Flip Image</option>
+              <option>-----------------</option>
+              <option value="hoz">Flip Horizontal</option>
+              <option value="ver">Flip Vertical</option>
+         </select>
+			<select name="rotate" onchange="rotatePreset(this)" style="margin-left: 20px; vertical-align: middle;">
+              <option selected>Rotate Image</option>
+              <option>-----------------</option>
+
+              <option value="180">Rotate 180 &deg;</option>
+              <option value="90">Rotate 90 &deg; CW</option>
+              <option value="-90">Rotate 90 &deg; CCW</option>
+         </select>
+			<label for="ra">Angle:</label><input type="text" id="ra" class="textInput" />
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+		</div>	
+		<a href="javascript: editor.doSubmit('rotate');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a>
+		<a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>		
+	</div>		
+	<div id="tools_measure" style="display:none;">
+		<div id="tool_inputs">
+			<label>X:</label><input type="text" class="measureStats" id="sx" />
+			<label>Y:</label><input type="text" class="measureStats" id="sy" />
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+			<label>W:</label><input type="text" class="measureStats" id="mw" />
+			<label>H:</label><input type="text" class="measureStats" id="mh" />
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+			<label>A:</label><input type="text" class="measureStats" id="ma" />		
+			<label>D:</label><input type="text" class="measureStats" id="md" />		
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+			<button type="button" onclick="editor.reset();" >Clear</button>
+		</div>	
+	</div>
+	<div id="tools_save" style="display:none;">
+		<div id="tool_inputs">
+			<label for="save_filename">Filename:</label><input type="text" id="save_filename" value="<?php echo $editor->getDefaultSaveFile();?>"/>
+			<select name="format" id="save_format" style="margin-left: 10px; vertical-align: middle;" onchange="updateFormat(this)">
+            <option value="" selected>Image Format</option>
+            <option value="">---------------------</option>
+            <option value="jpeg,85">JPEG High</option>
+            <option value="jpeg,60">JPEG Medium</option>
+            <option value="jpeg,35">JPEG Low</option>
+            <option value="png">PNG</option>
+			<?php if($editor->isGDGIFAble() != -1) { ?>
+            <option value="gif">GIF</option>
+			<?php } ?>
+         </select>
+			<label>Quality:</label>
+			<table style="display: inline; vertical-align: middle;" cellpadding="0" cellspacing="0">
+				<tr>
+				<td>
+					<div id="slidercasing"> 
+				<div id="slidertrack" style="width:100px"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="1" height="1" border="0" alt="track"></div>
+            <div id="sliderbar" style="left:85px" onmousedown="captureStart();"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="1" height="1" border="0" alt="track"></div>
+			</div>	
+				</td>
+				</tr>
+			</table>				
+			<input type="text" id="quality" onchange="updateSlider(this.value)" style="width: 2em;" value="85"/>
+			<img src="<?php print $IMConfig['base_url'];?>img/div.gif" height="30" width="2" class="div" alt="|" />
+		</div>	
+		<a href="javascript: editor.doSubmit('save');" class="buttons" title="OK"><img src="<?php print $IMConfig['base_url'];?>img/btn_ok.gif" height="30" width="30" alt="OK" /></a>
+		<a href="javascript: editor.reset();" class="buttons" title="Cancel"><img src="<?php print $IMConfig['base_url'];?>img/btn_cancel.gif" height="30" width="30" alt="Cancel" /></a>		
+	</div>	
+</div>
+<div id="toolbar">
+<a href="javascript:toggle('crop')" id="icon_crop" title="Crop"><img src="<?php print $IMConfig['base_url'];?>img/crop.gif" height="20" width="20" alt="Crop" /><span>Crop</span></a>
+<a href="javascript:toggle('scale')" id="icon_scale" title="Resize"><img src="<?php print $IMConfig['base_url'];?>img/scale.gif" height="20" width="20" alt="Resize" /><span>Resize</span></a>
+<a href="javascript:toggle('rotate')" id="icon_rotate" title="Rotate"><img src="<?php print $IMConfig['base_url'];?>img/rotate.gif" height="20" width="20" alt="Rotate" /><span>Rotate</span></a>
+<a href="javascript:toggle('measure')" id="icon_measure" title="Measure"><img src="<?php print $IMConfig['base_url'];?>img/measure.gif" height="20" width="20" alt="Measure" /><span>Measure</span></a>
+<a href="javascript: toggleMarker();" title="Marker"><img id="markerImg" src="<?php print $IMConfig['base_url'];?>img/t_black.gif" height="20" width="20" alt="Marker" /><span>Marker</span></a>
+<a href="javascript:toggle('save')" id="icon_save" title="Save"><img src="<?php print $IMConfig['base_url'];?>img/save.gif" height="20" width="20" alt="Save" /><span>Save</span></a>
+</div>
+<div id="contents">
+<iframe src="<?php print $IMConfig['backend_url']; ?>__function=editorFrame&img=<?php if(isset($_GET['img'])) echo rawurlencode($_GET['img']); ?>" name="editor" id="editor"  scrolling="auto" title="Image Editor" frameborder="0"></iframe>
+</div>
+<div id="bottom"></div>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editorFrame.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editorFrame.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editorFrame.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/editorFrame.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,79 @@
+<?php 
+/**
+ * The frame that contains the image to be edited.
+ * @author $Author: Wei Zhuo $
+ * @version $Id: editorFrame.php 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+require_once('config.inc.php');
+require_once('Classes/ImageManager.php');
+require_once('Classes/ImageEditor.php');
+
+$manager = new ImageManager($IMConfig);
+$editor = new ImageEditor($manager);
+$imageInfo = $editor->processImage();
+
+?>
+
+<html>
+<head>
+	<title></title>
+<script type="text/javascript">
+_backend_url = "<?php print $IMConfig['backend_url']; ?>";
+</script>
+
+<link href="<?php print $IMConfig['base_url'];?>assets/editorFrame.css" rel="stylesheet" type="text/css" />	
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/wz_jsgraphics.js"></script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/EditorContent.js"></script>
+<script type="text/javascript">
+
+if(window.top)
+	HTMLArea = window.top.HTMLArea;
+
+function i18n(str) {
+    return HTMLArea._lc(str, 'ImageManager');
+}
+	
+	var mode = "<?php echo $editor->getAction(); ?>" //crop, scale, measure
+
+var currentImageFile = "<?php if(count($imageInfo)>0) echo rawurlencode($imageInfo['file']); ?>";
+
+<?php if ($editor->isFileSaved() == 1) { ?>
+	alert(i18n('File saved.'));
+  window.parent.opener.selectImage
+    (
+      '<?php echo $imageInfo['savedFile'] ?>',
+      '<?php echo $imageInfo['savedFile'] ?>'.replace(/^.*\/?([^\/]*)$/, '$1'),
+      <?php echo $imageInfo['width'] ?>,
+      <?php echo $imageInfo['height'] ?>
+    );
+  window.parent.opener.parent.refresh();
+  window.parent.close();
+<?php } else if ($editor->isFileSaved() == -1) { ?>
+	alert(i18n('File was not saved.'));
+<?php } ?>
+
+</script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/editorFrame.js"></script>
+</head>
+
+<body>
+<div id="status"></div>
+<div id="ant" class="selection" style="visibility:hidden"><img src="<?php print $IMConfig['base_url'];?>img/spacer.gif" width="0" height="0" border="0" alt="" id="cropContent"></div>
+<?php if ($editor->isGDEditable() == -1) { ?>
+	<div style="text-align:center; padding:10px;"><span class="error">GIF format is not supported, image editing not supported.</span></div>
+<?php } ?>
+<table height="100%" width="100%">
+	<tr>
+		<td>
+<?php if(count($imageInfo) > 0 && is_file($imageInfo['fullpath'])) { ?>
+	<span id="imgCanvas" class="crop"><img src="<?php echo $imageInfo['src']; ?>" <?php echo $imageInfo['dimensions']; ?> alt="" id="theImage" name="theImage"></span>
+<?php } else { ?>
+	<span class="error">No Image Available</span>
+<?php } ?>
+		</td>
+	</tr>
+</table>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/image-manager.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/image-manager.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/image-manager.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/image-manager.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,255 @@
+/**
+ * The ImageManager plugin javascript.
+ * @author $Author: Wei Zhuo $
+ * @version $Id: image-manager.js 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+/**
+ * To Enable the plug-in add the following line before HTMLArea is initialised.
+ *
+ * HTMLArea.loadPlugin("ImageManager");
+ *
+ * Then configure the config.inc.php file, that is all.
+ * For up-to-date documentation, please visit http://www.zhuo.org/htmlarea/
+ */
+
+/**
+ * It is pretty simple, this file over rides the HTMLArea.prototype._insertImage
+ * function with our own, only difference is the popupDialog url
+ * point that to the php script.
+ */
+
+function ImageManager(editor)
+{
+
+}
+
+ImageManager._pluginInfo = {
+	name          : "ImageManager",
+	version       : "1.0",
+	developer     : "Xiang Wei Zhuo",
+	developer_url : "http://www.zhuo.org/htmlarea/",
+	license       : "htmlArea"
+};
+
+
+// CONFIGURATION README:
+//
+//  It's useful to pass the configuration to the backend through javascript
+//  (this saves editing the backend config itself), this needs to be done
+//  in a trusted/secure manner... here is how to do it..
+//
+//  1. You need to be able to put PHP in your xinha_config setup
+//  2. In step 3 write something like
+//  --------------------------------------------------------------
+//  with (xinha_config.ImageManager)
+//  { 
+//    <?php 
+//      require_once('/path/to/xinha/contrib/php-xinha.php');
+//      xinha_pass_to_php_backend
+//      (       
+//        array
+//        (
+//         'images_dir' => '/home/your/directory',
+//         'images_url' => '/directory'
+//        )
+//      )
+//    ?>
+//  }
+//  --------------------------------------------------------------
+//
+//  this will work provided you are using normal file-based PHP sessions
+//  (most likely), if not, you may need to modify the php-xinha.php
+//  file to suit your setup.
+
+HTMLArea.Config.prototype.ImageManager =
+{
+  'backend'    : _editor_url + 'plugins/ImageManager/backend.php?__plugin=ImageManager&',
+  'backend_data' : null,
+  
+  // Deprecated method for passing config, use above instead!
+  //---------------------------------------------------------
+  'backend_config'     : null,
+  'backend_config_hash': null,
+  'backend_config_secret_key_location': 'Xinha:ImageManager'
+  //---------------------------------------------------------
+};
+
+// Over ride the _insertImage function in htmlarea.js.
+// Open up the ImageManger script instead.
+
+HTMLArea.prototype._insertImage = function(image) {
+
+	var editor = this;	// for nested functions
+	var outparam = null;
+	if (typeof image == "undefined") {
+		image = this.getParentElement();
+		if (image && !/^img$/i.test(image.tagName))
+			image = null;
+	}
+
+	// the selection will have the absolute url to the image. 
+	// coerce it to be relative to the images directory.
+	//
+	// FIXME: we have the correct URL, but how to get it to select?
+	// FIXME: need to do the same for MSIE.
+
+	if ( image )
+		{
+
+		outparam =
+			{
+			f_url    : HTMLArea.is_ie ? image.src : image.src,
+			f_alt    : image.alt,
+			f_border : image.style.borderWidth ? image.style.borderWidth : image.border,
+			f_align  : image.align,
+			f_padding: image.style.padding,
+			f_margin : image.style.margin,
+			f_width  : image.width,
+			f_height  : image.height,
+      f_backgroundColor: image.style.backgroundColor,
+      f_borderColor: image.style.borderColor
+			};
+
+    function shortSize(cssSize)
+    {
+      if(/ /.test(cssSize))
+      {
+        var sizes = cssSize.split(' ');
+        var useFirstSize = true;
+        for(var i = 1; i < sizes.length; i++)
+        {
+          if(sizes[0] != sizes[i])
+          {
+            useFirstSize = false;
+            break;
+          }
+        }
+        if(useFirstSize) cssSize = sizes[0];
+      }
+      return cssSize;
+    }
+    outparam.f_border = shortSize(outparam.f_border);
+    outparam.f_padding = shortSize(outparam.f_padding);
+    outparam.f_margin = shortSize(outparam.f_margin);
+
+		} // end of if we selected an image before raising the dialog.
+
+	// the "manager" var is legacy code. Should probably reference the
+	// actual config variable in each place .. for now this is good enough.
+
+	// alert( "backend is '" + editor.config.ImageManager.backend + "'" );
+
+	var manager = editor.config.ImageManager.backend + '__function=manager';
+  if(editor.config.ImageManager.backend_config != null)
+  {
+    manager += '&backend_config='
+      + encodeURIComponent(editor.config.ImageManager.backend_config);
+    manager += '&backend_config_hash='
+      + encodeURIComponent(editor.config.ImageManager.backend_config_hash);
+    manager += '&backend_config_secret_key_location='
+      + encodeURIComponent(editor.config.ImageManager.backend_config_secret_key_location);
+  }
+  
+  if(editor.config.ImageManager.backend_data != null)
+  {
+    for ( var i in editor.config.ImageManager.backend_data )
+    {
+      manager += '&' + i + '=' + encodeURIComponent(editor.config.ImageManager.backend_data[i]);
+    }
+  }
+  
+	Dialog(manager, function(param) {
+		if (!param) {	// user must have pressed Cancel
+			return false;
+		}
+		var img = image;
+		if (!img) {
+			if (HTMLArea.is_ie) {
+        var sel = editor._getSelection();
+        var range = editor._createRange(sel);
+        editor._doc.execCommand("insertimage", false, param.f_url);
+				img = range.parentElement();
+				// wonder if this works...
+				if (img.tagName.toLowerCase() != "img") {
+					img = img.previousSibling;
+				}
+			} else {
+				img = document.createElement('img');
+        img.src = param.f_url;
+        editor.insertNodeAtSelection(img);
+			}
+		} else {			
+			img.src = param.f_url;
+		}
+		
+		for (field in param) {
+			var value = param[field];
+			switch (field) {
+			    case "f_alt"    : img.alt	 = value; break;
+			    case "f_border" :
+          if(value.length)
+          {           
+            img.style.borderWidth = /[^0-9]/.test(value) ? value :  (parseInt(value) + 'px');
+            if(img.style.borderWidth && !img.style.borderStyle)
+            {
+              img.style.borderStyle = 'solid';
+            }
+          }
+          else
+          {
+            img.style.borderWidth = '';
+            img.style.borderStyle = '';
+          }
+          break;
+          
+          case "f_borderColor": img.style.borderColor = value; break;
+          case "f_backgroundColor": img.style.backgroundColor = value; break;
+            
+          case "f_padding": 
+          {
+            if(value.length)
+            {
+              img.style.padding = /[^0-9]/.test(value) ? value :  (parseInt(value) + 'px'); 
+            }
+            else
+            {
+              img.style.padding = '';
+            }
+          }
+          break;
+          
+          case "f_margin": 
+          {
+            if(value.length)
+            {
+              img.style.margin = /[^0-9]/.test(value) ? value :  (parseInt(value) + 'px'); 
+            }
+            else
+            {
+              img.style.margin = '';
+            }
+          }
+          break;
+          
+			    case "f_align"  : img.align	 = value; break;
+            
+          case "f_width" : 
+          {
+            if(!isNaN(parseInt(value))) { img.width  = parseInt(value); } else { img.width = ''; }
+          }
+          break;
+          
+				  case "f_height":
+          {
+            if(!isNaN(parseInt(value))) { img.height = parseInt(value); } else { img.height = ''; }
+          }
+          break;
+			}
+
+		}
+		
+		
+	}, outparam);
+};

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/images.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/images.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/images.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/images.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,289 @@
+<?php 
+/**
+ * Show a list of images in a long horizontal table.
+ * @author $Author: Wei Zhuo $
+ * @version $Id: images.php 27 2004-04-01 08:31:57Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+require_once('config.inc.php');
+require_once('ddt.php');
+require_once('Classes/ImageManager.php');
+
+// uncomment for debugging
+
+// _ddtOn();
+
+//default path is /
+$relative = '/';
+$manager = new ImageManager($IMConfig);
+
+//process any file uploads
+$manager->processUploads();
+
+$manager->deleteFiles();
+
+$refreshDir = false;
+//process any directory functions
+if($manager->deleteDirs() || $manager->processNewDir())
+	$refreshDir = true;
+
+//check for any sub-directory request
+//check that the requested sub-directory exists
+//and valid
+if(isset($_REQUEST['dir']))
+{
+	$path = rawurldecode($_REQUEST['dir']);
+	if($manager->validRelativePath($path))
+		$relative = $path;
+}
+
+
+$manager = new ImageManager($IMConfig);
+
+
+//get the list of files and directories
+$list = $manager->getFiles($relative);
+
+
+/* ================= OUTPUT/DRAW FUNCTIONS ======================= */
+
+/**
+ * Draw the files in an table.
+ */
+function drawFiles($list, &$manager)
+{
+	global $relative;
+	global $IMConfig;
+
+    switch($IMConfig['ViewMode'])
+    {
+      case 'details':
+      {
+        ?>
+        <script language="Javascript">
+          <!--
+            function showPreview(f_url)
+            {
+              
+              window.parent.document.getElementById('f_preview').src = 
+                window.parent._backend_url + '__function=thumbs&img=' + f_url;
+            }
+          //-->
+        </script>
+        <table class="listview">
+        <thead>
+        <tr><th>Name</th><th>Filesize</th><th>Dimensions</th></tr></thead>
+        <tbody>
+          <?php
+          foreach($list as $entry => $file)
+          {
+            ?>
+            <tr>
+              <th><a href="#" class="thumb" style="cursor: pointer;" onclick="selectImage('<?php echo $file['relative'];?>', '<?php echo $entry; ?>', <?php echo $file['image'][0];?>, <?php echo $file['image'][1]; ?>);return false;" title="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>" onmouseover="showPreview('<?php echo $file['relative'];?>')" onmouseout="showPreview(window.parent.document.getElementById('f_url').value)" ><?php echo $entry ?></a></th>
+              <td><?php echo Files::formatSize($file['stat']['size']); ?></td>
+              <td><?php if($file['image']){ echo $file['image'][0].'x'.$file['image'][1]; } ?>
+              <td class="actions">
+                <a href="<?php print $IMConfig['backend_url']; ?>__function=images&dir=<?php echo $relative; ?>&amp;delf=<?php echo rawurlencode($file['relative']);?>" title="Trash" onclick="return confirmDeleteFile('<?php echo $entry; ?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash" border="0"  /></a>
+        
+                <a href="javascript:;" title="Edit" onclick="editImage('<?php echo rawurlencode($file['relative']);?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_pencil.gif" height="15" width="15" alt="Edit" border="0" /></a>
+              </td>
+            </tr>
+            <?php        
+          }
+          ?>
+        </tbody>
+        </table>
+        <?php
+      }      
+      break;
+      
+      case 'thumbs':
+      default      :
+      {
+	foreach($list as $entry => $file)
+	{
+		?>
+    <div class="thumb_holder" id="holder_<?php echo asc2hex($entry) ?>">
+      <a href="#" class="thumb" style="cursor: pointer;" onclick="selectImage('<?php echo $file['relative'];?>', '<?php echo $entry; ?>', <?php echo $file['image'][0];?>, <?php echo $file['image'][1]; ?>);return false;" title="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>">
+        <img src="<?php print $manager->getThumbnail($file['relative']); ?>" alt="<?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?>"/>
+      </a>
+      <div class="edit">
+        <a href="<?php print $IMConfig['backend_url']; ?>__function=images&dir=<?php echo $relative; ?>&amp;delf=<?php echo rawurlencode($file['relative']);?>" title="Trash" onclick="return confirmDeleteFile('<?php echo $entry; ?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash"  /></a>
+
+        <a href="javascript:;" title="Edit" onclick="editImage('<?php echo rawurlencode($file['relative']);?>');"><img src="<?php print $IMConfig['base_url'];?>img/edit_pencil.gif" height="15" width="15" alt="Edit" /></a>
+
+        <?php if($file['image']){ echo $file['image'][0].'x'.$file['image'][1]; } else echo $entry;?>
+      </div>
+    </div>
+	  <?php
+        }
+      }
+    }	
+}//function drawFiles
+
+
+/**
+ * Draw the directory.
+ */
+function drawDirs($list, &$manager) 
+{
+	global $relative;
+   global $IMConfig;
+
+  switch($IMConfig['ViewMode'])
+  {
+    case 'details':
+    {
+        
+    }
+    break; 
+    
+    case 'thumbs':
+    default      :
+    {
+	foreach($list as $path => $dir) 
+	{ ?>
+    <div class="dir_holder">
+      <a class="dir" href="<?php print $IMConfig['backend_url'];?>__function=images&dir=<?php echo rawurlencode($path); ?>" onclick="updateDir('<?php echo $path; ?>')" title="<?php echo $dir['entry']; ?>"><img src="<?php print $IMConfig['base_url'];?>img/folder.gif" height="80" width="80" alt="<?php echo $dir['entry']; ?>" /></a>
+
+      <div class="edit">
+        <a href="<?php print $IMConfig['backend_url'];?>__function=images&dir=<?php echo $relative; ?>&amp;deld=<?php echo rawurlencode($path); ?>" title="Trash" onclick="return confirmDeleteDir('<?php echo $dir['entry']; ?>', <?php echo $dir['count']; ?>);"><img src="<?php print $IMConfig['base_url'];?>img/edit_trash.gif" height="15" width="15" alt="Trash"/></a>
+        <?php echo $dir['entry']; ?>
+      </div>
+    </div>
+	  <?php 
+	} //foreach
+    }
+  }
+  
+	
+}//function drawDirs
+
+
+/**
+ * No directories and no files.
+ */
+function drawNoResults() 
+{
+?>
+<div class="noResult">No Images Found</div>
+<?php 
+}
+
+/**
+ * No directories and no files.
+ */
+function drawErrorBase(&$manager) 
+{
+?>
+<div class="error"><span>Invalid base directory:</span> <?php echo $manager->config['images_dir']; ?></div>
+<?php 
+}
+
+/**
+ * Utility to convert ascii string to hex
+ */
+function asc2hex ($temp)
+{
+  $len = strlen($temp);
+  $data = "";
+  for ($i=0; $i<$len; $i++) $data.=sprintf("%02x",ord(substr($temp,$i,1)));
+  return $data;
+}
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+	<title>Image List</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<link href="<?php print $IMConfig['base_url'];?>assets/imagelist.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript">
+_backend_url = "<?php print $IMConfig['backend_url']; ?>";
+</script>
+
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/dialog.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+
+	if(window.top)
+		HTMLArea = window.top.HTMLArea;
+
+	function hideMessage()
+	{
+		var topDoc = window.top.document;
+		var messages = topDoc.getElementById('messages');
+		if(messages)
+			messages.style.display = "none";
+	}
+
+	init = function()
+	{
+	  __dlg_translate('ImageManager');
+		hideMessage();
+		var topDoc = window.top.document;
+
+<?php 
+	//we need to refesh the drop directory list
+	//save the current dir, delete all select options
+	//add the new list, re-select the saved dir.
+	if($refreshDir) 
+	{ 
+		$dirs = $manager->getDirs();
+?>
+		var selection = topDoc.getElementById('dirPath');
+		var currentDir = selection.options[selection.selectedIndex].text;
+
+		while(selection.length > 0)
+		{	selection.remove(0); }
+		
+		selection.options[selection.length] = new Option("/","<?php echo rawurlencode('/'); ?>");	
+		<?php foreach($dirs as $relative=>$fullpath) { ?>
+		selection.options[selection.length] = new Option("<?php echo $relative; ?>","<?php echo rawurlencode($relative); ?>");		
+		<?php } ?>
+		
+		for(var i = 0; i < selection.length; i++)
+		{
+			var thisDir = selection.options[i].text;
+			if(thisDir == currentDir)
+			{
+				selection.selectedIndex = i;
+				break;
+			}
+		}		
+<?php } ?>
+    update_selected();
+	}	
+
+	function editImage(image) 
+	{
+		var url = "<?php print $IMConfig['backend_url']; ?>__function=editor&img="+image;
+		Dialog(url, function(param) 
+		{
+			if (!param) // user must have pressed Cancel
+				return false;
+			else
+			{
+				return true;
+			}
+		}, null);		
+	}
+
+/*]]>*/
+</script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/images.js"></script>
+<script type="text/javascript" src="assets/popup.js"></script>
+</head>
+
+<body>
+<?php if ($manager->isValidBase() == false) { drawErrorBase($manager); } 
+	elseif(count($list[0]) > 0 || count($list[1]) > 0) { ?>
+
+	<?php drawDirs($list[0], $manager); ?>
+	<?php drawFiles($list[1], $manager); ?>
+
+<?php } else { drawNoResults(); } ?>
+</body>
+</html>

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2_w.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2_w.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/2x2_w.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/Thumbs.db
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/Thumbs.db?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/Thumbs.db
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderNew.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderNew.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderNew.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderUp.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderUp.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btnFolderUp.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_cancel.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_cancel.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_cancel.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_ok.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_ok.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/btn_ok.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/crop.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/crop.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/crop.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/default.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/default.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/default.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/div.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/div.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/div.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/dots.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/dots.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/dots.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_active.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_active.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_active.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_pencil.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_pencil.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_pencil.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_trash.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_trash.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/edit_trash.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/folder.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/folder.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/folder.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/hand.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/hand.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/hand.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/islocked2.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/islocked2.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/islocked2.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/locked.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/locked.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/locked.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/measure.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/measure.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/measure.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/noimages.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/noimages.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/noimages.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/rotate.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/rotate.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/rotate.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/save.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/save.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/save.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/scale.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/scale.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/scale.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/spacer.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/spacer.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/spacer.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_black.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_black.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_black.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_white.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_white.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/t_white.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked2.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked2.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/img/unlocked2.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/de.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/de.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/de.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/de.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,65 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+// translated: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
+{
+  "Image Manager": "Bildmanager",
+  "Insert Image": "Bild einfügen",
+  "Directory": "Ordner",
+  "Directory Up": "übergeordneter Ordner",
+  "New Folder": "Neuer Ordner",
+  "Trash": "Müll",
+  "Edit": "bearbeiten",
+  "Image File": "Bilddatei",
+  "Upload": "Hochladen",
+  "Width": "Breite",
+  "Height": "Höhe",
+  "Constrain Proportions": "Proportional",
+  "Border": "Rand",
+  "V Space": "vertikaler Freiraum",
+  "H Space": "horizontaler Freiraum",
+  "Refresh": "Aktualisieren",
+  "Uploading...": "Hochladen...",
+  "Crop": "Beschneiden",
+  "Resize": "Größe ändern",
+  "Rotate": "Drehen",
+  "Measure": "Abmessungen",
+  "Marker": "Marker",
+  "Save": "Speichern",
+  "Filename:": "Dateiname:",
+  "Image Format": "Bildformat:",
+  "Quality:": "Qualität",
+  "JPEG High": "JPEG hoch",
+  "JPEG Medium": "JPEG mittel",
+  "JPEG Low": "JPEG niedrig",
+  "File saved.": "Datei gespeichert.",
+  "File was not saved.": "Datei wurde nicht gespeichert.",
+  "Start X:": "Start X",
+  "Start Y:": "Start Y",
+  "Lock": "Sperren",
+  "Flip Image": "Bild spiegeln",
+  "Flip Horizontal": "horizontal spiegeln",
+  "Flip Vertical": "vertikal spiegeln",
+  "Rotate Image": "Bild drehen",
+  "Rotate 180 °": "180° drehen",
+  "Rotate 90 ° CW": "90° drehen im UZS",
+  "Rotate 90 ° CCW": "90° drehen gegen UZS",
+  "Angle:": "Winkel:",
+  "W:": "B:",
+  "Clear": "Entfernen",
+  "Loading": "Laden",
+  "Invalid base directory:": "Ungültiges Startverzeichnis:",
+  "Delete file?": "Datei löschen?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Bitte löschen Sie zuerst alle Dateien im Ordner den Sie löschen möchten.",
+  "Delete folder?": "Ordner löschen?",
+  "Folder Name:": "Ordnername:",
+  "No Images Found": "Kein Bild gefunden",
+  "Invalid folder name, please choose another folder name.": "Ungültiger Ordnername, bitte wählen sie einen anderen Namen.",
+  "GIF format is not supported, image editing not supported.": "GIF Format wird nicht unterstützt, Bildbearbeitung wird nicht unterstützt.",
+  "No Image Available": "Kein Bild verfügbar",
+  "No Image selected.": "Kein Bild ausgewählt.",
+  "Description:": "Beschreibung:",
+  "Align:": "Ausrichtung:",
+  "Margin:": "Außenabstand:",
+  "Padding:": "Innenabstand:",
+  "Color:": "Farbe:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/fr.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/fr.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/fr.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/fr.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,66 @@
+// I18N constants
+// LANG: "fr", ENCODING: UTF-8
+{
+  "Image Manager": "Bibliothèque d'images",
+  "Insert Image": "Insérer une image",
+  "Directory": "Répertoire",
+  "Directory Up": "Remonter",
+  "New Folder": "Nouveau répertoire",
+  "Trash": "Détruire",
+  "Edit": "Editer",
+  "Image File": "Fichier",
+  "Upload": "Télécharger",
+  "Width": "Largeur",
+  "Height": "Hauteur",
+  "Width:": "Largeur",
+  "Height:": "Hauteur",
+  "Constrain Proportions": "Conserver les proportions",
+  "Border": "Bordure",
+  "V Space": "Espace V",
+  "H Space": "Espace H",
+  "Refresh": "Rafraîchir",
+  "Uploading...": "Chargement...",
+  "Crop": "Recadrer",
+  "Resize": "Retailler",
+  "Rotate": "Pivoter",
+  "Measure": "Mesure",
+  "Marker": "Marqueur",
+  "Save": "Sauver",
+  "Filename:": "Nom",
+  "Image Format": "Format d'image",
+  "Quality:": "Qualité",
+  "JPEG High": "JPEG haut",
+  "JPEG Medium": "JPEG moyen",
+  "JPEG Low": "JPEG bas",
+  "File saved.": "Fichier sauvegardé.",
+  "File was not saved.": "Fichier non sauvegardé.",
+  "Start X:": "Début X",
+  "Start Y:": "Début Y",
+  "Lock": "Cadenas",
+  "Flip Image": "Symétrie",
+  "Flip Horizontal": "Symétrie horizontale",
+  "Flip Vertical": "Symétrie verticale",
+  "Rotate Image": "Rotation",
+  "Rotate 180 °": "Rotation 180°",
+  "Rotate 90 ° CW": "Rotation 90° horaire",
+  "Rotate 90 ° CCW": "Rotation 90° antihoraire",
+  "Angle:": "Angle",
+  "W:": "L:",
+  "Clear": "Effacer",
+  "Loading": "Chargement en cours",
+  "Invalid base directory:": "Répertoire de base invalide:",
+  "Delete file?": "Suppression du fichier ?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Veuillez tout d'abord supprimer tous les fichiers et répertoires contenus",
+  "Delete folder?": "Suppression du répertoire ?",
+  "Folder Name:": "Nom du répertoire",
+  "No Images Found": "Aucune image trouvée",
+  "Invalid folder name, please choose another folder name.": "Nom de répertoire invalide, veuillez choisir un autre nom",
+  "GIF format is not supported, image editing not supported.": "Format GIF non supporté, édition d'image non supportée",
+  "No Image Available": "Aucune image disponible",
+  "No Image selected.": "Aucune image sélectionnée.",
+  "Color:": "Couleur",
+  "Align:": "Alignement",
+  "Margin:": "Marge",
+  "Padding:": "Espacement",
+  "Border:": "Bordure"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/nb.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/nb.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/nb.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/nb.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,65 @@
+// I18N constants
+// LANG: "nb", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Image Manager": "Bildebehandler",
+  "Insert Image": "Sett inn bilde",
+  "Directory": "Mappe",
+  "Directory Up": "Opp en mappe",
+  "New Folder": "Ny mappe",
+  "Trash": "Søppelkurv",
+  "Edit": "Rediger",
+  "Image File": "Bildefil",
+  "Upload": "Last opp",
+  "Width": "Bredde",
+  "Height": "Høyde",
+  "Constrain Proportions": "Behold proposjoner",
+  "Border": "Ramme",
+  "V Space": "vertikal marg",
+  "H Space": "horisontal marg",
+  "Refresh": "Oppfrisk",
+  "Uploading...": "Laster opp...",
+  "Crop": "Beskjær",
+  "Resize": "Endre størrelse",
+  "Rotate": "Roter",
+  "Measure": "MÃ¥l",
+  "Marker": "Marker",
+  "Save": "Lagre",
+  "Filename:": "Filnavn:",
+  "Image Format": "Bildeformat:",
+  "Quality:": "Kvalitet",
+  "JPEG High": "JPEG høy",
+  "JPEG Medium": "JPEG middelse",
+  "JPEG Low": "JPEG lav",
+  "File saved.": "Fil lagret.",
+  "File was not saved.": "Fil ble ikke lagret.",
+  "Start X:": "Start X",
+  "Start Y:": "Start Y",
+  "Lock": "Sperre",
+  "Flip Image": "Vend bilde",
+  "Flip Horizontal": "Vend horisontal",
+  "Flip Vertical": "Vend vertikal",
+  "Rotate Image": "Roter bilde",
+  "Rotate 180 °": "Roter 180°",
+  "Rotate 90 ° CW": "Roter 90° med klokka",
+  "Rotate 90 ° CCW": "Roter 90° mot klokka",
+  "Angle:": "Vinkel:",
+  "W:": "B:",
+  "Clear": "Fjern",
+  "Loading": "Laster",
+  "Invalid base directory:": "Feil rot-mappe:",
+  "Delete file?": "Slette fil?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Vennligst slett alle filer og mapper i mappen du ønsker å slette og prøv igjen.",
+  "Delete folder?": "Slett mappe?",
+  "Folder Name:": "Mappenavn:",
+  "No Images Found": "Ingen bilder funnet",
+  "Invalid folder name, please choose another folder name.": "Ugyldig mappenavn, vennligst velg et annet navn på mappen.",
+  "GIF format is not supported, image editing not supported.": "Bildeformatet GIF er ikke støttet.",
+  "No Image Available": "Inget bilde er tilgjengelig",
+  "No Image selected.": "Inget bilde er valgt.",
+  "Description:": "Beskrivelse:",
+  "Align:": "Justering:",
+  "Margin:": "Marg:",
+  "Padding:": "Innsidemarg:",
+  "Color:": "Farge:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/no.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/no.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/no.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/no.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,65 @@
+// I18N constants
+// LANG: "no", ENCODING: UTF-8
+// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
+{
+  "Image Manager": "Bildebehandler",
+  "Insert Image": "Sett inn bilde",
+  "Directory": "Mappe",
+  "Directory Up": "Opp en mappe",
+  "New Folder": "Ny mappe",
+  "Trash": "Søppelkurv",
+  "Edit": "Rediger",
+  "Image File": "Bildefil",
+  "Upload": "Last opp",
+  "Width": "Bredde",
+  "Height": "Høyde",
+  "Constrain Proportions": "Behold proposjoner",
+  "Border": "Ramme",
+  "V Space": "vertikal marg",
+  "H Space": "horisontal marg",
+  "Refresh": "Oppfrisk",
+  "Uploading...": "Laster opp...",
+  "Crop": "Beskjær",
+  "Resize": "Endre størrelse",
+  "Rotate": "Roter",
+  "Measure": "MÃ¥l",
+  "Marker": "Marker",
+  "Save": "Lagre",
+  "Filename:": "Filnavn:",
+  "Image Format": "Bildeformat:",
+  "Quality:": "Kvalitet",
+  "JPEG High": "JPEG høy",
+  "JPEG Medium": "JPEG middelse",
+  "JPEG Low": "JPEG lav",
+  "File saved.": "Fil lagret.",
+  "File was not saved.": "Fil ble ikke lagret.",
+  "Start X:": "Start X",
+  "Start Y:": "Start Y",
+  "Lock": "Sperre",
+  "Flip Image": "Vend bilde",
+  "Flip Horizontal": "Vend horisontal",
+  "Flip Vertical": "Vend vertikal",
+  "Rotate Image": "Roter bilde",
+  "Rotate 180 °": "Roter 180°",
+  "Rotate 90 ° CW": "Roter 90° med klokka",
+  "Rotate 90 ° CCW": "Roter 90° mot klokka",
+  "Angle:": "Vinkel:",
+  "W:": "B:",
+  "Clear": "Fjern",
+  "Loading": "Laster",
+  "Invalid base directory:": "Feil rot-mappe:",
+  "Delete file?": "Slette fil?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Vennligst slett alle filer og mapper i mappen du ønsker å slette og prøv igjen.",
+  "Delete folder?": "Slett mappe?",
+  "Folder Name:": "Mappenavn:",
+  "No Images Found": "Ingen bilder funnet",
+  "Invalid folder name, please choose another folder name.": "Ugyldig mappenavn, vennligst velg et annet navn på mappen.",
+  "GIF format is not supported, image editing not supported.": "Bildeformatet GIF er ikke støttet.",
+  "No Image Available": "Inget bilde er tilgjengelig",
+  "No Image selected.": "Inget bilde er valgt.",
+  "Description:": "Beskrivelse:",
+  "Align:": "Justering:",
+  "Margin:": "Marg:",
+  "Padding:": "Innsidemarg:",
+  "Color:": "Farge:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/pl.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/pl.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/pl.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/pl.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,70 @@
+// I18N constants
+// LANG: "fr", ENCODING: UTF-8
+// translated: Krzysztof Kotowicz, http://www.eskot.krakow.pl/portfolio/, koto@webworkers.pl
+{
+  "Image Manager": "Menedżer obrazków",
+  "Insert Image": "Wstaw obrazek",
+  "Directory": "Katalog",
+  "Directory Up": "Katalog wyżej",
+  "New Folder": "Nowy katalog",
+  "Trash": "Usuń",
+  "Edit": "Edytuj",
+  "Image File": "Plik obrazka",
+  "Upload": "Wgraj",
+  "Width": "Szerokość",
+  "Height": "Wysokość",
+  "Width:": "Szerokość:",
+  "Height:": "Wysokość:",
+  "Constrain Proportions": "Zachowaj proporcje",
+  "Border": "Ramka",
+  "V Space": "Odległość V",
+  "H Space": "Odległość H",
+  "Refresh": "Odśwież",
+  "Uploading...": "Wgrywanie...",
+  "Crop": "Przytnij",
+  "Resize": "Przeskaluj",
+  "Rotate": "Obróć",
+  "Measure": "Zmierz",
+  "Marker": "Zaznacz",
+  "Save": "Zapisz",
+  "Filename:": "Nazwa pliku:",
+  "Image Format": "Format pliku:",
+  "Quality:": "Jakość",
+  "JPEG High": "JPEG wysoka",
+  "JPEG Medium": "JPEG średnia",
+  "JPEG Low": "JPEG niska",
+  "File saved.": "Zapisano plik.",
+  "File was not saved.": "Nie zapisano pliku.",
+  "Start X:": "Początek X",
+  "Start Y:": "Początek Y",
+  "Lock": "Zablokuj",
+  "Flip Image": "Odwróć",
+  "Flip Horizontal": "Odwróć poziomo",
+  "Flip Vertical": "Odwróć pionowo",
+  "Rotate Image": "Obróć",
+  "Rotate 180 °": "Obróć 180°",
+  "Rotate 90 ° CW": "Obróć 90° w prawo",
+  "Rotate 90 ° CCW": "Obróć 90° w lewo",
+  "Angle:": "Kąt:",
+  "W:": "L:",
+  "Clear": "Wyczyść",
+  "Loading": "Ładowanie",
+  "Invalid base directory:": "Nieprawidłowy katalog bazowy:",
+  "Delete file?": "Usunąć plik?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Najpierw usuń wszystkie pliki i podkatalogi katalogu.",
+  "Delete folder?": "Usunąć katalog ?",
+  "Folder Name:": "Nazwa katalogu",
+  "No Images Found": "Nie znaleziono obrazków",
+  "Invalid folder name, please choose another folder name.": "Nieprawidłowa nazwa katalogu, wybierz inną.",
+  "GIF format is not supported, image editing not supported.": "Brak obsługi plików GIF, edycja jest niemożliwa.",
+  "No Image Available": "Obrazek niedostępny",
+  "No Image selected.": "Nie zaznaczono obrazka.",
+  "Description:": "Opis:",
+  "Align:": "Wyrównanie:",
+  "Description:": "Opis:",
+  "Margin:": "Margines:",
+  "Padding:": "Wcięcie:",
+  "Border:": "Ramka:",
+  "Color:": "Kolor:",
+  "Upload:": "Wgraj:"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/ru.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/ru.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/ru.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/ru.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,67 @@
+// I18N constants
+// LANG: "ru", ENCODING: UTF-8
+// Author: Andrei Blagorazumov, a@fnr.ru
+{
+  "Image Manager": "Менеджер картинок",
+  "Insert Image": "Вставка картинки",
+  "Directory": "Папка",
+  "Directory Up": "Папка наверх",
+  "New Folder": "Новая папка",
+  "Trash": "Корзина",
+  "Edit": "Правка",
+  "Image File": "Файл картинки",
+  "Upload": "Загрузить",
+  "Width": "Ширина",
+  "Height": "Высота",
+  "Width:": "Ширина",
+  "Height:": "Высота",
+  "Constrain Proportions": "Сохранить пропорции",
+  "Border": "Рамка",
+  "V Space": "Поле V",
+  "H Space": "Поле H",
+  "Refresh": "Обновить",
+  "Uploading...": "Загрузка...",
+  "Crop": "Обрезать",
+  "Resize": "Масшабировать",
+  "Rotate": "Повернуть",
+  "Measure": "Измерение",
+  "Marker": "Маркер",
+  "Save": "Сохранить",
+  "Filename:": "Имя файла",
+  "Image Format": "Формат картинки",
+  "Quality:": "Качество",
+  "JPEG High": "JPEG высок.",
+  "JPEG Medium": "JPEG средн.",
+  "JPEG Low": "JPEG низк.",
+  "File saved.": "Файл сохранен.",
+  "File was not saved.": "Файл не сохранен.",
+  "Start X:": "Начало X",
+  "Start Y:": "Начало Y",
+  "Lock": "Блокировка",
+  "Flip Image": "Развернуть картинку",
+  "Flip Horizontal": "Развернуть по горизонтали",
+  "Flip Vertical": "Развернуть по вертикали",
+  "Rotate Image": "Повернуть картинку",
+  "Rotate 180 В°": "Повернуть на 180°",
+  "Rotate 90 В° CW": "Повернуть на 90° по часовой",
+  "Rotate 90 В° CCW": "Повернуть на 90° против часовой",
+  "Angle:": "Угол",
+  "W:": "Ш:",
+  "Clear": "Очистить",
+  "Loading": "Загрузка",
+  "Invalid base directory:": "Неверная базовая папка:",
+  "Delete file?": "Удалить файл?",
+  "Please delete all files/folders inside the folder you wish to delete first.": "Пожалуйста удалите все файлы/папки в папке, которую вы хотите удалить.",
+  "Delete folder?": "Удалить папку?",
+  "Folder Name:": "Название папки:",
+  "No Images Found": "Картинок не найдено",
+  "Invalid folder name, please choose another folder name.": "Неправильное имя папки, пожалуйста выберите другое.",
+  "GIF format is not supported, image editing not supported.": "Формат GIF не поддерживается, редактирование картинки не поддерживается.",
+  "No Image Available": "Нет доступных картинок",
+  "No Image selected.": "Картинки не выбраны.",
+  "Color:": "Цвет",
+  "Align:": "Выравнивание",
+  "Margin:": "Отступ",
+  "Padding:": "Поля",
+  "Border:": "Рамка"
+};
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/sv.js
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/sv.js?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/sv.js (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/sv.js Sun Oct  8 12:53:13 2006
@@ -0,0 +1,7 @@
+// I18N constants
+// LANG: "sv" (Swedish), ENCODING: UTF-8
+// translated: Erik Dalén, <dalen@jpl.se>
+{
+  "Image Manager": "Bildbehandlare",
+  "Crop": "Beskjär"
+};

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/lang/sv.js
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/manager.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/manager.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/manager.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/manager.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,194 @@
+<?php
+/**
+ * The main GUI for the ImageManager.
+ * @author $Author: Wei Zhuo $
+ * @version $Id: manager.php 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+	require_once('config.inc.php');
+	require_once('ddt.php');
+	require_once('Classes/ImageManager.php');
+	
+	$manager = new ImageManager($IMConfig);
+	$dirs = $manager->getDirs();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+<head>
+	<title>Insert Image</title>
+  <script type="text/javascript">
+    // temporary. An ImageManager rewrite will take care of this kludge.
+    _backend_url = "<?php print $IMConfig['backend_url']; ?>";
+    _resized_prefix = "<?php echo $IMConfig['resized_prefix']; ?>";
+    _resized_dir = "<?php echo $IMConfig['resized_dir']; ?>";
+  </script>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <link href="<?php print $IMConfig['base_url'];?>assets/manager.css" rel="stylesheet" type="text/css" />
+<script type="text/javascript" src="../../popups/popup.js"></script>
+<script type="text/javascript" src="assets/popup.js"></script>
+<script type="text/javascript" src="../../popups/color_picker.js"></script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/dialog.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+	if(window.opener)
+		HTMLArea = window.opener.HTMLArea;
+
+	var thumbdir = "<?php echo $IMConfig['thumbnail_dir']; ?>";
+	var base_url = "<?php echo $manager->getImagesURL(); ?>";
+/*]]>*/
+</script>
+<script type="text/javascript" src="<?php print $IMConfig['base_url'];?>assets/manager.js"></script>
+</head>
+<body>
+
+<form action="<?php print $IMConfig['backend_url'] ?>" id="uploadForm" method="post" enctype="multipart/form-data">
+
+<input type="hidden" name="__plugin" value="ImageManager">
+<input type="hidden" name="__function" value="images">
+
+<fieldset>
+  <legend>Image Manager</legend>
+  <table width="100%">
+    <tr>
+      <th><label for="dirPath">Directory</label></th>
+      <td>
+        <select name="dir" class="dirWidth" id="dirPath" onchange="updateDir(this)">
+          <option value="/">/</option>
+          <?php
+            foreach($dirs as $relative=>$fullpath)
+            {
+              ?>
+              <option value="<?php echo rawurlencode($relative); ?>"><?php echo $relative; ?></option>
+              <?php
+            }
+          ?>
+        </select>
+      </td>
+      <td>
+        <a href="#" onclick="javascript: goUpDir();" title="Directory Up"><img src="<?php print $IMConfig['base_url']; ?>img/btnFolderUp.gif" height="15" width="15" alt="Directory Up" /></a>
+
+        <?php
+          if($IMConfig['safe_mode'] == false && $IMConfig['allow_new_dir'])
+          {
+            ?>
+            <a href="#" onclick="newFolder();" title="New Folder"><img src="<?php print $IMConfig['base_url']; ?>img/btnFolderNew.gif" height="15" width="15" alt="New Folder" /></a>
+            <?php
+          }
+          ?>
+      </td>
+    </tr>
+    <?php
+      if($IMConfig['allow_upload'] == TRUE)
+      {
+        ?>
+        <tr>
+          <th align="left">Upload:</th>
+          <td colspan="2">
+            <input type="file" name="upload" id="upload" />
+            <input name="Upload" type="submit" id="Upload" value="Upload" onclick="doUpload();" />
+          </td>
+        </tr>
+        <?php
+      }
+    ?>
+
+  </table>
+
+  <div id="messages" style="display: none;"><span id="message"></span><img SRC="<?php print $IMConfig['base_url']; ?>img/dots.gif" width="22" height="12" alt="..." /></div>
+
+  <iframe src="<?php print $IMConfig['backend_url']; ?>__function=images" name="imgManager" id="imgManager" class="imageFrame" scrolling="auto" title="Image Selection" frameborder="0"></iframe>
+
+</fieldset>
+
+<!-- image properties -->
+
+<table  border="0" cellspacing="0" cellpadding="0" width="100%">
+  <tr>
+    <th align="left">Description:</th>
+    <td colspan="6">
+      <input type="text" id="f_alt" style="width:95%"/>
+    </td>
+    <td rowspan="4" width="100" height="100" valign="middle" style="padding:4px;background-color:#CCC;border:1px inset;">
+      <img src="" id="f_preview" />
+    </td>
+  </tr>
+
+  <tr>
+    <th align="left">Width:</th>
+    <td >
+      <input id="f_width" type="text" name="f_width" size="4" onchange="javascript:checkConstrains('width');" />
+    </td>
+    <td rowspan="2">
+      <div  style="position:relative">
+        <img src="<?php print $IMConfig['base_url']; ?>img/locked.gif" id="imgLock" width="25" height="32" alt="Constrained Proportions" valign="middle" /><input type="checkbox" id="constrain_prop" checked="checked" onclick="javascript:toggleConstrains(this);" style="position:absolute;top:8px;left:0px;" />
+      </div>
+    </td>
+    <th align="left">Margin:</th>
+    <td colspan="3">
+      <input name="f_margin" type="text" id="f_margin" size="3" />
+      px </td>
+  </tr>
+
+  <tr>
+    <th align="left">Height:</th>
+    <td>
+      <input name="f_height" type="text" id="f_height" size="4" />
+    </td>
+    <th align="left">Padding:</th>
+    <td>
+      <input name="f_padding" type="text" id="f_padding" size="3" />
+      px </td>
+    <th align="left">Color:</th>
+    <td>
+      <input name="f_backgroundColor" type="text" id="f_backgroundColor" size="7" />
+      <input type="button" id="bgCol_pick" value="..." />
+    </td>
+  </tr>
+
+
+  <tr>
+    <th align="left">Alignment:</th>
+    <td colspan="2">
+      <select size="1" id="f_align"  title="Positioning of this image">
+        <option value=""                             >Not set</option>
+        <option value="left"                         >Left</option>
+        <option value="right"                        >Right</option>
+        <option value="texttop"                      >Texttop</option>
+        <option value="absmiddle"                    >Absmiddle</option>
+        <option value="baseline" selected="selected" >Baseline</option>
+        <option value="absbottom"                    >Absbottom</option>
+        <option value="bottom"                       >Bottom</option>
+        <option value="middle"                       >Middle</option>
+        <option value="top"                          >Top</option>
+      </select>
+    </td>
+    <th align="left">Border:</th>
+    <td>
+      <input name="f_border" type="text" id="f_border" size="3" />
+      px </td>
+    <th align="left">Color:</th>
+    <td>
+      <input name="f_borderColor" type="text" id="f_borderColor" size="7" />
+      <input type="button" id="bdCol_pick" value="..." />
+    </td>
+  </tr>
+
+</table>
+
+<div style="text-align: right;">
+  <hr />
+  <button type="button" class="buttons" onclick="return refresh();">Refresh</button>
+  <button type="button" class="buttons" onclick="return onOK();">OK</button>
+  <button type="button" class="buttons" onclick="return onCancel();">Cancel</button>
+</div>
+
+<!--// image properties -->
+<input type="hidden" id="orginal_width" />
+<input type="hidden" id="orginal_height" />
+<input type="hidden" id="f_url" class="largelWidth" value="" />
+</form>
+</body>
+</html>

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/newFolder.html
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/newFolder.html?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/newFolder.html (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/newFolder.html Sun Oct  8 12:53:13 2006
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+<title>New Folder</title>
+ <script type="text/javascript" src="../../popups/popup.js"></script>
+ <style type="text/css">
+ /*<![CDATA[*/
+ html, body {  background-color: ButtonFace;  color: ButtonText; font: 11px Tahoma,Verdana,sans-serif; margin: 0; padding: 0;}
+body { padding: 5px; }
+ .title { background-color: #ddf; color: #000; font-weight: bold; font-size: 120%; padding: 3px 10px; margin-bottom: 10px; border-bottom: 1px  solid black; letter-spacing: 2px;}
+select, input, button { font: 11px Tahoma,Verdana,sans-serif; }
+.buttons { width: 70px; text-align: center; }
+form { padding: 0px;  margin: 0;}
+form .elements{
+	padding: 10px; text-align: center;
+}
+ /*]]>*/
+ </style>
+<script type="text/javascript" src="assets/popup.js"></script>
+<script type="text/javascript">
+/*<![CDATA[*/
+	window.resizeTo(300, 160);
+
+    if(window.opener)
+        HTMLArea = window.opener.HTMLArea;
+
+	init = function ()
+	{
+		__dlg_init();
+		__dlg_translate('ImageManager');
+		document.getElementById("f_foldername").focus();
+	};
+
+	function onCancel()
+	{
+		__dlg_close(null);
+		return false;
+	}
+
+	function onOK()
+	{
+		 // pass data back to the calling window
+	  var fields = ["f_foldername"];
+	  var param = new Object();
+	  for (var i in fields) {
+		var id = fields[i];
+		var el = document.getElementById(id);
+		param[id] = el.value;
+	  }
+	  __dlg_close(param);
+	  return false;
+	}
+
+	function addEvent(obj, evType, fn)
+	{
+		if (obj.addEventListener) { obj.addEventListener(evType, fn, true); return true; }
+		else if (obj.attachEvent) {  var r = obj.attachEvent("on"+evType, fn);  return r;  }
+		else {  return false; }
+	}
+
+	addEvent(window, 'load', init);
+//-->
+</script>
+</head>
+<body >
+<div class="title">New Folder</div>
+<form action="">
+<div class="elements">
+	<label for="f_foldername">Folder Name:</label>
+	<input type="text" id="f_foldername" />
+</div>
+<div style="text-align: right;">
+	  <hr />
+	  <button type="button" class="buttons" onclick="return onOK();">OK</button>
+	  <button type="button" class="buttons" onclick="return onCancel();">Cancel</button>
+</div>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/resizer.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/resizer.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/resizer.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/resizer.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,83 @@
+<?php
+header('Content-Type: text/javascript');
+
+/**
+ * Resize images to a given size, and saving in a new file.
+ * resize.php?img=/relative/path/to/image.jpg&width=<pixels>&height=<pixels>[&to=/relative/path/to/newimage.jpg]
+ * relative to the base_dir given in config.inc.php
+ * This is pretty much just thumbs.php with some mods, I'm too lazy to do it properly
+ * @author $Author: James Sleeman $
+ * @version $Id: thumbs.php 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+require_once('config.inc.php');
+require_once('Classes/ImageManager.php');
+require_once('Classes/Thumbnail.php');
+
+function js_fail($message)    { echo 'alert(\'' . $message . '\'); false'; exit;   }
+function js_success($resultFile)    { echo '\'' . $resultFile . '\''; exit;   }
+
+//check for img parameter in the url
+if(!isset($_GET['img']) || !isset($_GET['width']) || !isset($_GET['height']))
+{
+  js_fail('Missing parameter.');
+}
+
+$manager = new ImageManager($IMConfig);
+
+//get the image and the full path to the image
+$image = $_GET['img'];
+$fullpath = Files::makeFile($manager->getImagesDir(),$image);
+
+//not a file, so exit
+if(!is_file($fullpath))
+{
+  js_fail("File {$fullpath} does not exist.");
+}
+
+$imgInfo = @getImageSize($fullpath);
+
+//Not an image, bail out.
+if(!is_array($imgInfo))
+{
+	js_fail("File {$fullpath} is not an image.");
+}
+
+if(!isset($_GET['to']))
+{
+  $resized    = $manager->getResizedName($fullpath,$_GET['width'],$_GET['height']);
+  $_GET['to'] = $manager->getResizedName($image,$_GET['width'],$_GET['height'], FALSE);
+}
+else
+{
+  $resized = Files::makeFile($manager->getImagesDir(),$_GET['to']);
+}
+
+// Check to see if it already exists
+if(is_file($resized))
+{
+	// And is newer
+	if(filemtime($resized) >= filemtime($fullpath))
+	{
+		js_success($_GET['to']);
+	}
+}
+
+
+
+// resize (thumbnailer will do this for us just fine)
+$thumbnailer = new Thumbnail($_GET['width'],$_GET['height']);
+$thumbnailer->proportional = FALSE;
+$thumbnailer->createThumbnail($fullpath, $resized);
+
+// did it work?
+if(is_file($resized))
+{
+	js_success($_GET['to']);
+}
+else
+{
+	js_fail("Resize Failed.");
+}
+?>

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/thumbs.php
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/thumbs.php?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/thumbs.php (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/ImageManager/thumbs.php Sun Oct  8 12:53:13 2006
@@ -0,0 +1,90 @@
+<?php
+/**
+ * On the fly Thumbnail generation.
+ * Creates thumbnails given by thumbs.php?img=/relative/path/to/image.jpg
+ * relative to the base_dir given in config.inc.php
+ * @author $Author: Wei Zhuo $
+ * @version $Id: thumbs.php 26 2004-03-31 02:35:21Z Wei Zhuo $
+ * @package ImageManager
+ */
+
+require_once('config.inc.php');
+require_once('Classes/ImageManager.php');
+require_once('Classes/Thumbnail.php');
+
+//check for img parameter in the url
+if(!isset($_GET['img']))
+	{
+	exit();
+	}
+
+
+$manager = new ImageManager($IMConfig);
+
+//get the image and the full path to the image
+$image = rawurldecode($_GET['img']);
+$fullpath = Files::makeFile($manager->getImagesDir(),$image);
+
+//not a file, so exit
+if(!is_file($fullpath))
+	{
+	exit();
+	}
+
+$imgInfo = @getImageSize($fullpath);
+
+//Not an image, send default thumbnail
+if(!is_array($imgInfo))
+{
+	//show the default image, otherwise we quit!
+	$default = $manager->getDefaultThumb();
+	if($default)
+	{
+		header('Location: '.$default);
+		exit();
+	}
+}
+//if the image is less than the thumbnail dimensions
+//send the original image as thumbnail
+
+if ($imgInfo[0] <= $IMConfig['thumbnail_width']
+ && $imgInfo[1] <= $IMConfig['thumbnail_height'])
+ {
+
+	 header('Location: '. $manager->getFileURL($image));
+	 exit();
+ }
+
+//Check for thumbnails
+$thumbnail = $manager->getThumbName($fullpath);
+
+if(is_file($thumbnail))
+{
+	//if the thumbnail is newer, send it
+	if(filemtime($thumbnail) >= filemtime($fullpath))
+	{
+		header('Location: '.$manager->getThumbURL($image));
+		exit();
+	}
+}
+
+//creating thumbnails
+$thumbnailer = new Thumbnail($IMConfig['thumbnail_width'],$IMConfig['thumbnail_height']);
+$thumbnailer->createThumbnail($fullpath, $thumbnail);
+
+//Check for NEW thumbnails
+if(is_file($thumbnail))
+{
+	//send the new thumbnail
+	header('Location: '.$manager->getThumbURL($image));
+	exit();
+}
+else
+{
+	//show the default image, otherwise we quit!
+	$default = $manager->getDefaultThumb();
+
+	if($default)
+		header('Location: '.$default);
+}
+?>

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/insert-anchor.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/insert-anchor.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/insert-anchor.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/insert-anchor.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/placeholder.gif
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/placeholder.gif?view=auto&rev=454197
==============================================================================
Binary file - no diff available.

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/placeholder.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/img/placeholder.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/insert-anchor.css
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/insert-anchor.css?view=auto&rev=454197
==============================================================================
--- incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/insert-anchor.css (added)
+++ incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/insert-anchor.css Sun Oct  8 12:53:13 2006
@@ -0,0 +1,9 @@
+a.anchor {
+  width: 18px;
+  height: 18px;
+  background-image: url(img/insert-anchor.gif);
+  background-repeat: no-repeat;
+  background-position: left top;
+  padding-left: 19px;
+  border: 1px dotted blue;
+}

Propchange: incubator/roller/trunk/web/roller-ui/authoring/editors/xinha/plugins/InsertAnchor/insert-anchor.css
------------------------------------------------------------------------------
    svn:executable = *



Mime
View raw message