| Originally Developed by: http://www.zhuo.org/htmlarea/ |
| |
| > This is a plug-in for HTMLArea 3.0 |
| > |
| > The PHP ImageManager + Editor provides an interface to |
| > browser for image files on your web server. The Editor |
| > allows some basic image manipulations such as, cropping, |
| > rotation, flip, and scaling. |
| > |
| > Further and up-to-date documentation can be found at |
| > http://www.zhuo.org/htmlarea/docs/index.html |
| > |
| > Cheer, |
| > Wei |
| |
| 2005-03-20 |
| by Yermo Lamers of DTLink, LLC (http://www.formvista.com/contact.html) |
| |
| Please post questions/comments/flames about this plugin in the Xinha forums |
| at |
| |
| http://xinha.gogo.co.nz/punbb/viewforum.php?id=1 |
| |
| ------------------------------------------------------------------------------ |
| If you have GD installed and configured in PHP this should work out of the |
| box. |
| |
| For production use see config.inc.php for configuration values. You will |
| want to adjust images_dir and images_url for your application. |
| |
| For demo purposes ImageManager is set up to view images in the |
| |
| /xinha/plugins/ImageManager/demo_images |
| |
| directory. This is governed by the images_dir and images_url config options. |
| |
| The permissions on the demo_images directory may not be correct. The directory |
| should be owned by the user your webserver runs as and should have 755 |
| permissions. |
| |
| -------------------------------------------------------------------------------- |
| |
| By default this ImageManager is set up to browse some graphics |
| in plugins/ImageManager/demo_images. |
| |
| For security reasons image uploading is turned off by default. |
| You can enable it by editing config.inc.php. |
| |
| --------------------------------- |
| For Developers |
| --------------------------------- |
| |
| CHANGES FROM Wei's Original Code: |
| |
| Single Backend: |
| --------------- |
| |
| All requests from the javascript code back to the server now |
| are routed through a single configurable backend script, |
| backend.php. |
| |
| Request URLs are of the form: |
| |
| <config backend URL>(?|&)__plugin=ImageManager&__function=<function>&arg=value&arg=value |
| |
| The default URL is plugins/xinha/backend.php. |
| |
| This approach makes it possible to completely replace the |
| backend with a perl or ASP implementation without having to |
| change any of the client side code. |
| |
| You can override the location and name of the backend.php |
| script by setting the config.ImageManager.backend property from |
| the calling page. Make sure the URL ends in an "&". The code, |
| for now, assumes it can just tack on variables. |
| |
| For the moment the javascript files in the assets directory do |
| not have access to the main editor object and as a result have |
| not access to the config. For the moment we use a _backend_url |
| variable output from PHP to communicate the location of the |
| backend to these assets. It's a kludge. Ideally all these |
| config values should be set from the calling page and be |
| available through the editor.config.ImageManager object. |
| |
| Debug Messages |
| --------------- |
| |
| The php files include a simple debugging library, ddt.php. See |
| config.inc.php for how to turn it on. It can display trace |
| messages to the browser or dump them to a log file. |
| |
| I'll try to package up the client-side tracing-to-textarea |
| _ddt() functions I've put together. Having a trace message |
| infrastructure has always served me well. |
| |
| ------------- |
| Flakey Editor |
| ------------- |
| |
| The editor I use is flakey (but very very fast). It has |
| problems with tab to space conversion so if the indenting looks |
| weird that's why. |
| |
| ---- |
| TODO |
| ---- |
| |
| ImageManager really needs a complete rewrite. |
| |
| . ImageManager should appear in a pane instead of a popup |
| window using Sleeman's windowpane support. |
| |
| . html and php code are intermixed. It would be very nice to |
| use some kind of templating for the dialogs; this templating |
| should be done long hand so it can be re-used regardless of the |
| backend implementation language. |
| |
| . the config should probably be some format that would be |
| easily read by multiple implementations of the back end. It |
| would be nice to have a single configuration system regardless |
| of whether the backend is PHP, Perl or ASP. |
| |
| . javascript assets are not objects. Passing config options to |
| the assets functions requires intermediate variables which is |
| really ugly. Everything should be cleanly integrated into the |
| object heirarchy akin to the way Linker is done. |
| |
| . if an image is selected from the document editor window it |
| should be focused and highlighted in the image selection |
| window. |
| |
| . fix fully-qualified url in image selection box under MSIE. |
| |
| . per-image permissions. We should include some kind of backend |
| permissions management so users can only |
| delete/edit/move/rename images that they have uploaded. |
| |
| . add a CANCEL button and a SAVE AS button to the editor. |
| |
| . add a list view akin to EFM. (and include image properties |
| width/height/depth/etc.) |
| |
| . figure out a way for ImageManager to work "out of the box" |
| regardless of install. |
| |
| . client-side tracing. |
| |
| . fancy stuff like adding a UI to define rollovers, animations, |
| etc. |
| |