Here is the necessary information to make WF-Channel 1.07 wysiwyg compatible.
The following files have to be modified:
1. xoops_version.php
2. languages/english/modinfo.php
3. include/functions.php
4. admin/index.php
For WF-Channel I have tested this for DHTML Editor and TinyEditor only. I use the same hack for my own WF-Links module and from that experience I can tell it works with Koivi also.
1. XOOPS_VERSION.PHPFind the following lines of code and comment these lines out:
le="color: #000000"><?php $modversion['config'][10]['name'] = 'usespaw'; $modversion['config'][10]['title'] = '_MI_CHAN_USESPAW'; $modversion['config'][10]['description'] = ''; $modversion['config'][10]['formtype'] = 'yesno'; $modversion['config'][10]['valuetype'] = 'int'; $modversion['config'][10]['default'] = 0;
Under these lines the following code has to be inserted:
le="color: #000000"><?php $modversion['config'][10]['name'] = 'form_options'; $modversion['config'][10]['title'] = '_MI_CHAN_EDITOR'; $modversion['config'][10]['description'] = '_MI_CHAN_EDITORCHOICE'; $modversion['config'][10]['formtype'] = 'select'; $modversion['config'][10]['valuetype'] = 'text'; $modversion['config'][10]['default'] = 'dhtml'; $modversion['config'][10]['options'] = array( _MI_CHAN_FORM_DHTML => 'dhtml', _MI_CHAN_FORM_COMPACT => 'textarea', _MI_CHAN_FORM_SPAW => 'spaw', _MI_CHAN_FORM_HTMLAREA => 'htmlarea', _MI_CHAN_FORM_KOIVI => 'koivi', _MI_CHAN_FORM_FCK => 'fck', _MI_CHAN_FORM_INBETWEEN => 'inbetween', _MI_CHAN_FORM_TINYEDITOR => 'tinyeditor' );
2. LANGUAGES/ENGLISH/MODINFO.PHPInsert the following lines at the end of the file, but before ?> :
le="color: #000000"><?php define('_MI_CHAN_EDITOR', "Editor to use:"); define('_MI_CHAN_EDITORCHOICE', "Select the editor to use. If you have a 'simple' install (e.g you use only XOOPS core editor class, provided in the standard XOOPS core package), then you can just select DHTML and Compact"); define("_MI_CHAN_FORM_DHTML","DHTML"); define("_MI_CHAN_FORM_COMPACT","Compact"); define("_MI_CHAN_FORM_SPAW","Spaw Editor"); define("_MI_CHAN_FORM_HTMLAREA","HtmlArea Editor"); define("_MI_CHAN_FORM_FCK","FCK Editor"); define("_MI_CHAN_FORM_KOIVI","Koivi Editor"); define("_MI_CHAN_FORM_INBETWEEN","Inbetween"); define("_MI_CHAN_FORM_TINYEDITOR","TinyEditor");
3. INCLUDE/FUNCTIONS.PHPInsert the following lines at the end of the file, but before ?> ,
le="color: #000000"><?php /** * Retreive an editor according to the module's option "form_options" */ function &wfc_getWysiwygForm($caption, $name, $value = "", $width = '100%', $height = '400px', $supplemental='') { global $xoopsModuleConfig; $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($xoopsModuleConfig['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 "koivi": if(!$x22) { if ( is_readable(XOOPS_ROOT_PATH . "/class/xoopseditor/wysiwyg/formwysiwygtextarea.php")) { include_once(XOOPS_ROOT_PATH . "/class/xoopseditor/wysiwyg/formwysiwygtextarea.php"); $editor = new XoopsFormWysiwygTextArea($caption, $name, $value, '100%', '400px', ''); } } else { $editor = new XoopsFormEditor($caption, "koivi", $editor_configs); } break; case "tinyeditor": if(!$x22) { 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, $name, $value, '100%', '400px')); } } else { $editor = new XoopsFormEditor($caption, "tinyeditor", $editor_configs); } break; } return $editor; }
Please check all paths in the lines above for matching your XOOPS website!!
4. ADMIN/INDEX.PHPFind the following lines and comment these out (
Create Page):
le="color: #000000"><?php if (!$xoopsModuleConfig['usespaw'] || !strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { $sform->addElement(new XoopsFormDhtmlTextArea(_AM_CHANA . _AM_WORDCOUNT . $total_words, 'page', $page, 15, 60), false); } else { ob_start(); $sw = new SPAW_Wysiwyg('page', $page, 'en', 'full', 'default', '99%', '600px'); $sw->show(); $sform->addElement(new XoopsFormLabel(_AM_CHANA . _AM_WORDCOUNT . $total_words , ob_get_contents(), 1)); ob_end_clean(); }
Insert the following 2 lines under the lines that you just commented out:
le="color: #000000"><?php $editor=wfc_getWysiwygForm(_AM_CHANA . _AM_WORDCOUNT . $total_words, 'page', $page, 15, 60, ''); $sform->addElement($editor,true);
Find the following lines and comment these out (
Link Page Settings:
le="color: #000000"><?php if (!$xoopsModuleConfig['usespaw'] || !strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { $sform->addElement(new XoopsFormDhtmlTextArea(_AM_CHANA, 'linkintro', $linkintro, 15, 60), false); } else { ob_start(); $sw = new SPAW_Wysiwyg('linkintro', $linkintro, 'en', 'full', 'default', '99%', '600px'); $sw->show(); $sform->addElement(new XoopsFormLabel(_AM_CREFERINTRO , ob_get_contents(), 1)); ob_end_clean(); }
Insert the following 2 lines under the lines that you just commented out:
le="color: #000000"><?php $editor=wfc_getWysiwygForm(_AM_CHANA, 'linkintro', $linkintro, 15, 60, ''); $sform->addElement($editor,true);
Find the following lines and comment these out (
Refer Page Settings):
le="color: #000000"><?php if (!$xoopsModuleConfig['usespaw'] || !strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { $sform->addElement(new XoopsFormDhtmlTextArea(_AM_CHANA, 'chanrefheadline', $chanrefheadline, 15, 60), false); } else { ob_start(); $sw = new SPAW_Wysiwyg('chanrefheadline', $chanrefheadline, 'en', 'full', 'default', '99%', '600px'); $sw->show(); $sform->addElement(new XoopsFormLabel(_AM_CREFERINTRO , ob_get_contents(), 1)); ob_end_clean(); }
Insert the following 2 lines under the lines that you just commented out:
le="color: #000000"><?php $editor=wfc_getWysiwygForm(_AM_CREFERINTRO, 'chanrefheadline', $chanrefheadline, 15, 60, ''); $sform->addElement($editor,true);
At beginning of admin/index.php are some lines for Spaw editor that probably can be comment out also, but I have not checked this.
Good luck!