View Single Post
  #1  
Old 07-08-2011, 05:30 PM
MaryTheG(r)eek MaryTheG(r)eek is offline
 
Join Date: Sep 2006
Location: Greece
Posts: 1,340
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to fix functions_wysiwyg.php errors (Article)

Hello all,

After loosing the coder's title, I can't post any more in Articles section, so I'm posting here a fix, for those who have developed addon modules (using the vbEditor only), and the new 4.1.4 version brought to them error:

Warning: require_once(./includes/functions_wysiwyg.php) [function.require-once]: failed to open stream

This error appear to all new 4.1.4 installations, but for those who have upgraded from 4.1.3, it can appears or not. It has nothing to do with server configurations. It has to do with your choice during upgrade to delete or not the old unused files. Among those files is the: functions_wysiwyg.php which is not in use anymore.

If you choosen to keep the old files, your module will continue working, but (in my opinion), is a security risk to let in your site files that are not any more in vB's file structure and thus are not checked for bugs any more.

To make your addon compatible with 4.1.4, but still keep compatiblity with previous versions (not all have upgraded to 4.1.4 yet), here are the changes that you need to do:

1.- Fing the section where your code was getting the value of the posting message and change it to:
Code:
 if (version_compare(@$vbulletin->versionnumber, '4.1.4', '>='))
 {
  require_once(DIR . '/includes/class_wysiwygparser.php');
  $html_parser = new vB_WysiwygHtmlParser($vbulletin);
  $vbulletin->GPC['message'] = $html_parser->parse_wysiwyg_html_to_bbcode($_POST['message'], 0);
 } else {
  require_once(DIR . '/includes/functions_wysiwyg.php');
  $vbulletin->GPC['message'] = convert_wysiwyg_html_to_bbcode($_POST['message'], 0);
 }
2.- Be sure that there is no any call to functions_wysiwyg.php at the top of your file. Usally coders add it at the top of the file with other includes (eg global.php). If you find any call to functions_wysiwyg.php follow the step 1.

3.- Of course there is another way to fix the problem, but I don't really suggest it. Just in case that you can't fix it. Find the files of any vB version prior to 4.1.4 and copy the file functions_wysiwyg.php which you can find inside the includes directory. vB4.1.4 does has this file in the package.

Maria
Reply With Quote
Благодарность от:
borbole
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01166 seconds
  • Memory Usage 1,771KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_box_bit
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete