Some additional information to the problem:
- In xoops_data\caches\xoops_cache is a file created xoops_editorlist.php wich contains a list of xoopseditors.
1249662581
return array (
'dhtmlext' =>
array (
'title' => 'Extended DHTML Form',
'nohtml' => 1,
),
'dhtmltextarea' =>
array (
'title' => 'DHTML Form with xCode',
'nohtml' => 1,
),
'textarea' =>
array (
'title' => 'Plain Text',
'nohtml' => 1,
),
'tinymce' =>
array (
'title' => 'TinyMCE',
'nohtml' => NULL,
),
'fckeditor' =>
array (
'title' => 'WYSIWYG FCKeditor',
'nohtml' => NULL,
),
'koivi' =>
array (
'title' => 'Koivi WYSIWYG Editor',
'nohtml' => NULL,
),
);
This is hardly a PHP file and should have another extension.
The problem are the NULL values, when these are changed to 1, then the editors become usable in the forum.
This problem comes from the fact that the editors have different keys in their editor_registry.php file.
dhtml:
return $config = array(
"class" => "FormDhtmlExt",
"file" => XOOPS_ROOT_PATH . "/class/xoopseditor/dhtmlext/dhtmlext.php",
"title" => _XOOPS_EDITOR_DHTMLEXT,
"order" => 1,
"nohtml" => 1
);
tinyMCE:
return $config = array(
"name" => "tinymce",
"class" => "XoopsFormTinymce",
"file" => XOOPS_ROOT_PATH . "/class/xoopseditor/tinymce/formtinymce.php",
"title" => _XOOPS_EDITOR_TINYMCE,
"order" => 3
);
Shouldn't they have all the same structure?
For the use of the editors under news, I guess this is totally different:
function &news_getWysiwygForm($caption, $name, $value = '', $width = '100%', $height = '400px', $supplemental='')
{
$editor = false;
$x22=false;
$xv=str_replace('XOOPS ','',XOOPS_VERSION);
if(substr($xv,2,1)=='2') {
$x22=true;
}
$editor_configs=array();
$editor_configs['name'] =$name;
$editor_configs['value'] = $value;
$editor_configs['rows'] = 35;
$editor_configs['cols'] = 60;
$editor_configs['width'] = '100%';
$editor_configs['height'] = '400px';
switch(strtolower(news_getmoduleoption('form_options'))) {
case 'spaw':
if(!$x22) {
if (is_readable(XOOPS_ROOT_PATH . '/class/spaw/formspaw.php')) {
include_once(XOOPS_ROOT_PATH . '/class/spaw/formspaw.php');
$editor = new XoopsFormSpaw($caption, $name, $value);
}
} else {
$editor = new XoopsFormEditor($caption, 'spaw', $editor_configs);
}
break;
case 'fck':
if(!$x22) {
if ( is_readable(XOOPS_ROOT_PATH . '/class/fckeditor/formfckeditor.php')) {
include_once(XOOPS_ROOT_PATH . '/class/fckeditor/formfckeditor.php');
$editor = new XoopsFormFckeditor($caption, $name, $value);
}
} else {
$editor = new XoopsFormEditor($caption, 'fckeditor', $editor_configs);
}
break;
case 'htmlarea':
if(!$x22) {
if ( is_readable(XOOPS_ROOT_PATH . '/class/htmlarea/formhtmlarea.php')) {
include_once(XOOPS_ROOT_PATH . '/class/htmlarea/formhtmlarea.php');
$editor = new XoopsFormHtmlarea($caption, $name, $value);
}
} else {
$editor = new XoopsFormEditor($caption, 'htmlarea', $editor_configs);
}
break;
case 'dhtml':
if(!$x22) {
$editor = new XoopsFormDhtmlTextArea($caption, $name, $value, 10, 50, $supplemental);
} else {
$editor = new XoopsFormEditor($caption, 'dhtmltextarea', $editor_configs);
}
break;
case 'textarea':
$editor = new XoopsFormTextArea($caption, $name, $value);
break;
case 'tinyeditor':
if ( is_readable(XOOPS_ROOT_PATH.'/class/xoopseditor/tinyeditor/formtinyeditortextarea.php')) {
include_once XOOPS_ROOT_PATH.'/class/xoopseditor/tinyeditor/formtinyeditortextarea.php';
$editor = new XoopsFormTinyeditorTextArea(array('caption'=> $caption, 'name'=>$name, 'value'=>$value, 'width'=>'100%', 'height'=>'400px'));
}
break;
case 'koivi':
if(!$x22) {
if ( is_readable(XOOPS_ROOT_PATH . '/class/wysiwyg/formwysiwygtextarea.php')) {
include_once(XOOPS_ROOT_PATH . '/class/wysiwyg/formwysiwygtextarea.php');
$editor = new XoopsFormWysiwygTextArea($caption, $name, $value, '100%', '450px', '');
}
} else {
$editor = new XoopsFormEditor($caption, 'koivi', $editor_configs);
}
break;
}
return $editor;
}
This function in modules/news/include/functions.php has probably to be extended with an alternate choice for version 2.3 in order to use the extra editors.