Thread: vBChat v2.3
View Single Post
  #359  
Old 11-25-2004, 06:15 PM
bidouilleur bidouilleur is offline
 
Join Date: Nov 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I added vbchat to my board, it worked except the smileys, they didn't show in the chat window. I have some other hacks installed but anyway, Resis Is Futile, one of my support members and good scripter had a look at it and tweaked it to make it work. Since it can help some others, I take the freedom to copy his changes here.

"
To make the smilies work I just changed to things. I removed the code in the smilie-bar generating section to make them appear in random order, and added a smilie-parser for the display of messages. I changed these two parts:
PHP Code:
if($Chat_Options['d_smilequery'] != 1){               // Total Amount Of Smilies               $total = sizeof($smiliecache);               $smilie_select = array();                     for($x=0;$x<$Chat_Options['d_smilieamount'];$x++){                   $smilie_select[] = $smiliecache[rand(1,$total)];                   }               } else {               // Your getting red x's, so instead of using cached data lets query the database               $smilies = $DB_site->query("                   SELECT smilieid, smilietext, smiliepath, smilie.title,                   imagecategory.title AS category                   FROM " . TABLE_PREFIX . "smilie AS smilie                   LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)                   ORDER BY imagecategory.displayorder, smilie.displayorder               ");                   $stotal = 0;                   while($gSmile = $DB->fetch_array($smilies)){                   $allsmilies[] = $gSmile;                   $stotal++;                   }                     for($x=0;$x<$Chat_Options['d_smilieamount'];$x++){                   $smilie_select[] = $allsmilies[rand(1,$stotal)];                   } 
to

PHP Code:
if($Chat_Options['d_smilequery'] != 1){               // Total Amount Of Smilies               $total = sizeof($smiliecache);               $smilie_select = array();                     for($x=0;$x<$Chat_Options['d_smilieamount'];$x++){                   $smilie_select[] = $smiliecache[$x];                   }               } else {               // Your getting red x's, so instead of using cached data lets query the database               $smilies = $DB_site->query("                   SELECT smilieid, smilietext, smiliepath, smilie.title,                   imagecategory.title AS category                   FROM " . TABLE_PREFIX . "smilie AS smilie                   LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)                   ORDER BY imagecategory.displayorder, smilie.displayorder               ");                   $stotal = 0;                   while($gSmile = $DB->fetch_array($smilies)){                   $allsmilies[] = $gSmile;                   $stotal++;                   }                     for($x=0;$x<$Chat_Options['d_smilieamount'];$x++){                   $smilie_select[] = $allsmilies[$x];                   } 
and

PHP Code:
if($Chat_Options['d_allowbbcode'] == "yes"){                   // URL Parse Then BBCode Parse?                   $ThisMSG['s_message'] = convert_url_to_bbcode($ThisMSG['s_message']);                   $ThisMSG['s_message'] = parse_bbcode($ThisMSG['s_message'], 'nonforum');                   } else {                   $ThisMSG['s_message'] = htmlspecialchars_uni($ThisMSG['s_message']);                   }                              // Check Status                          if($ThisMSG['vbchat_pref_status'] == ""){                   $ThisMSG['vbchat_pref_status'] = "<i>None</i>";                   } 
to

PHP Code:
if($Chat_Options['d_allowbbcode'] == "yes"){                   // URL Parse Then BBCode Parse?                   $ThisMSG['s_message'] = convert_url_to_bbcode($ThisMSG['s_message']);                   $ThisMSG['s_message'] = parse_bbcode($ThisMSG['s_message'], 'nonforum');                   } else {                   $ThisMSG['s_message'] = htmlspecialchars_uni($ThisMSG['s_message']);                   }                                      if($Chat_Options['d_smiliedisplay'] == 1){                       // Your getting red x's, so instead of using cached data lets query the database                       $smilies = $DB_site->query("                           SELECT smilieid, smilietext, smiliepath, smilie.title,                           imagecategory.title AS category                           FROM " . TABLE_PREFIX . "smilie AS smilie                           LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)                           ORDER BY imagecategory.displayorder, smilie.displayorder                       ");                       while($smiliegot = $DB->fetch_array($smilies)){                           $ThisMSG['s_message'] = str_replace($smiliegot['smilietext'], "<img src='{$smiliegot['smiliepath']}' alt='{$smiliegot['title']}' />", $ThisMSG['s_message']);                       }                   }                              // Check Status                          if($ThisMSG['vbchat_pref_status'] == ""){                   $ThisMSG['vbchat_pref_status'] = "<i>None</i>";                   } 
Once again thanks Resis and I hope this can help others that have the same problem
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02910 seconds
  • Memory Usage 1,830KB
  • 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
  • (4)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • 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