Thread: Chat Modifications - VSa - ChatBox (AJAX)
View Single Post
  #834  
Old 03-07-2010, 10:01 AM
madotds madotds is offline
 
Join Date: Oct 2007
Location: UK
Posts: 133
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cory_booth View Post
Add an alert sound to new chats....

OK folks, this is not for the faint of heart and I know there must be a much easier way to do this, but until something better comes along....

BEFORE YOU BEGIN.

You'll need a wav file and access to your database.

STEP 1: UPDATE USER TABLE
Add new column of type "INT"
Name Column = "countvsachats"

STEP 2: MODIFY PLUGINS - (VSa - ChatBox - MN)

Find the following function "ccbmessages"
Add above: $vbulletin->db->show_errors();
PHP Code:
$tvsacurrent $vbulletin->db->query_read("SELECT COUNT(ID) AS VSACURRENT FROM ".TABLE_PREFIX."vsa_chatbox AS vsa_chatbox");
                while (
$tvsacurrent $vbulletin->db->fetch_array($tvsacurrent))
                {
                
$vsacurrent $tvsacurrent[VSACURRENT];
                }
                
$tvsauser $vbulletin->db->query_read("SELECT countvsachats AS VSAUSER FROM ".TABLE_PREFIX."user WHERE userid = " $vbulletin->userinfo['userid'] ."");
                while (
$tvsauser $vbulletin->db->fetch_array($tvsauser))
                {
                
$vsauser $tvsauser[VSAUSER];
                }
                if (
$vsacurrent $vsauser)
                {
                
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET countvsachats = ".$vsacurrent." WHERE userid = " $vbulletin->userinfo['userid'] . "");
                }
                if (
$vsacurrent $vsauser)
                {
                
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "user SET countvsachats = ".$vsacurrent." WHERE userid = " $vbulletin->userinfo['userid'] . "");
                }
                
$vsacb_box_totalmessages $vbulletin->db->num_rows($vsacb_get_msg_box); 

STEP 3: Scroll down and find .... if ($vsacb_box_totalmessages>0)
Add above (notice here I am loading a chat.wav from images\misc - you'll need to upload a wav and change accordingly):

PHP Code:
              if ($vsacurrent $vsauser)
                {
                echo (
'<div><table><tr><td><EMBED SRC="images\misc\chat.wav" HIDDEN="TRUE" AUTOSTART="TRUE"></EMBED></td></tr></div>');
                } 

I have yet to try with FireFox but the idea is simple. Have a coulm in the user tabe keep track of the current amount of chats. When the chatbox refreshes, run a quick query to count the number of chats. If the chats in the query are larger than the entry in the user table - update the user table to match and fire off a sound.



I hope that there will be a good response to this and Valter might provide a similar solution?
Cheers for this! we were missing the BOING! and now it is back the whole process is not as daunting as it may seem at first

MaDavis
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01226 seconds
  • Memory Usage 1,806KB
  • 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
  • (2)bbcode_php
  • (1)bbcode_quote
  • (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