
I think this is the first step to realize a new and improved image manager for xoops...
NOTE: This is a skeleton of an alfa version of a module... don't worry if it isn't complete.

Try this hack in XOOPS 233,it runs also in XOOPS 240b... but step 2 is a little different...
1. add a config in "xoops_data/config/xoopsconfig.php"
return array(
/**#@+
* Extended HTML editor for {@link XoopsFormDhtmlTextArea}
*
* If an extended HTML editor is set, the renderer will be replaced by the specified editor, usually a visual or WYSIWYG editor.
*
* Developer and user guide:
* For run-time settings per call
* - To use an editor pre-configured by {@link XoopsEditor}, e.g. 'fckeditor':
$options['editor'] = 'fckeditor';
* - To use a custom editor, e.g. 'MyEditor' class located in "/modules/myeditor/myeditor.php":
$options['editor'] = array('MyEditor', XOOPS_ROOT_PATH . "/modules/myeditor/myeditor.php");
*
* For pre-configured settings, which will force to use a editor if no specific editor is set for call
* Set up custom configs: in XOOPS_VAR_PATH . '/configs/xoopsconfig.php' set a editor as default, e.g.
* - a pre-configured editor 'fckeditor':
return array('editor' => 'fckeditor');
* - a custom editor 'MyEditor' class located in "/modules/myeditor/myeditor.php":
return array('editor' => array('MyEditor', XOOPS_ROOT_PATH . "/modules/myeditor/myeditor.php");
*
* - To disable the default editor, in XOOPS_VAR_PATH . '/configs/xoopsconfig.php':
return array();
* - To disable the default editor for a specific call:
$options['editor'] = 'dhtmltextarea';
*
*
*/
//"editor" => "fckeditor",
//"editor" => "dhtmlext",
/**#@-*/
/**#@+
* Debug level for XOOPS
*
* Note: temporary solution only. Will be re-designed in XOOPS 3.0
*
* Displaying debug information to different level(s) of users:
* - 0 - To all users
* - 1 - To members
* - 2 - To admins only
*
*/
"debugLevel" => 1,
/**#@-*/
/**#@+
* Imagemanager // hack
*
* Relative path to default/custom imagemanager
*/
//"Imagemanager" => "/imagemanager.php", // XOOPS default image manager
"Imagemanager" => "/modules/imagemanager/imagemanager.php",
/**#@-*/
);
?>
2. modify funcion "codeIcon" in "/class/xoopsform/formdhtmltextarea.php"
function codeIcon()
{
// get imagemanager form xoopsconfig.php
$configs =@ include $GLOBALS['xoops']->path( "var/configs/xoopsconfig.php" ); // hack
$Imagemanager = @$configs['Imagemanager']; // hack
$textarea_id = $this->getName();
$code = "" .
"
. XOOPS_URL . "/images/url.gif' alt='" . _XOOPS_FORM_ALT_URL . "' title='" . _XOOPS_FORM_ALT_URL . "' onclick='xoopsCodeUrl("{$textarea_id}", "" . htmlspecialchars(_ENTERURL, ENT_QUOTES) . "", "" . htmlspecialchars(_ENTERWEBTITLE, ENT_QUOTES) . "");' onmouseover='style.cursor="hand"'/> " .
"
. XOOPS_URL . "/images/email.gif' alt='" . _XOOPS_FORM_ALT_EMAIL . "' title='" . _XOOPS_FORM_ALT_EMAIL . "' onclick='xoopsCodeEmail("{$textarea_id}", "" . htmlspecialchars(_ENTEREMAIL, ENT_QUOTES) . "");' onmouseover='style.cursor="hand"'/> " .
"
. XOOPS_URL . "/images/imgsrc.gif' alt='" . _XOOPS_FORM_ALT_IMG . "' title='" . _XOOPS_FORM_ALT_IMG . "' onclick='xoopsCodeImg("{$textarea_id}", "" . htmlspecialchars(_ENTERIMGURL, ENT_QUOTES) . "", "" . htmlspecialchars(_ENTERIMGPOS, ENT_QUOTES) . "", "" . htmlspecialchars(_IMGPOSRORL, ENT_QUOTES) . "", "" . htmlspecialchars(_ERRORIMGPOS, ENT_QUOTES) . "", "" . htmlspecialchars(_XOOPS_FORM_ALT_ENTERWIDTH, ENT_QUOTES) . "");' onmouseover='style.cursor="hand"'/> " .
//"
" . // original
"
. XOOPS_URL . "/images/image.gif' alt='" . _XOOPS_FORM_ALT_IMAGE . "' title='" . _XOOPS_FORM_ALT_IMAGE . "' onclick='openWithSelfMain("" . XOOPS_URL . $Imagemanager . "/?target={$textarea_id}","imgmanager",400,430);' onmouseover='style.cursor="hand"'/> " . // hack
"
. XOOPS_URL . "/images/smiley.gif' alt='" . _XOOPS_FORM_ALT_SMILEY . "' title='" . _XOOPS_FORM_ALT_SMILEY . "' onclick='openWithSelfMain("" . XOOPS_URL . "/misc.php?action=showpopups&type=smilies&target={$textarea_id}","smilies",300,475);' onmouseover='style.cursor="hand"'/> ";
$myts =& MyTextSanitizer::getInstance();
$extensions = array_filter($myts->config['extensions']);
foreach (array_keys($extensions) as $key) {
$extension = $myts->loadExtension($key);
@list($encode, $js) = $extension->encode($textarea_id);
if (empty($encode)) continue;
$code .= $encode;
if (!empty($js)) {
$this->js .= $js;
}
}
$code .=
"
. XOOPS_URL . "/images/code.gif' alt='" . _XOOPS_FORM_ALT_CODE . "' title='" . _XOOPS_FORM_ALT_CODE . "' onclick='xoopsCodeCode("{$textarea_id}", "" . htmlspecialchars(_ENTERCODE, ENT_QUOTES) . "");' onmouseover='style.cursor="hand"'/> " .
"
. XOOPS_URL . "/images/quote.gif' alt='" . _XOOPS_FORM_ALT_QUOTE . "' title='" . _XOOPS_FORM_ALT_QUOTE . "' onclick='xoopsCodeQuote("{$textarea_id}", "" . htmlspecialchars(_ENTERQUOTE, ENT_QUOTES) . "");' onmouseover='style.cursor="hand"'/>";
return $code;
}
3. download here http://luciorota.altervista.org/xoops/modules/wfdownloads/singlefile.php?cid=3&lid=14 and install the MODULE imagemanager (tnx to XGarb)
4. try it!

A QUESTION TO ANY XOOPS GURU
What about this hack... might it be the right way?
Tell me if i'm loosing my time...

TNX