Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 03-13-2001, 09:20 PM
Overgrow's Avatar
Overgrow Overgrow is offline
 
Join Date: Nov 2001
Posts: 320
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK this is something I meant to do a while ago but
seeing it in 2.0 reminded me. So for all you 1.x'ers, here
is PM pop ups to alert you to new PM's no matter where you are on the board.

I have no idea if this is the same functionality as 2.0's, I
don't have the code, so this is from scratch.

1) Create table:

CREATE TABLE pmpopup (
fromid smallint(5) DEFAULT '0' NOT NULL,
fromname varchar(50) NOT NULL,
toid smallint(5) DEFAULT '0' NOT NULL,
msgid mediumint(8) DEFAULT '0' NOT NULL,
title varchar(100) NOT NULL,
UNIQUE toid (toid)
);


2) Modify your user table:

ALTER TABLE user ADD pmpopup TINYINT (1) DEFAULT '1' not null ;


3) In private.php FIND:

Code:
$senderid = verifyusername($username,$password);
	$touser2 = addslashes($touser);
	if ($touserinfo = $DB_site->query_first("SELECT userid,email,usergroupid,receivepm,emailonpm FROM user WHERE username='$touser2'")) { //added pmpopup
		$touserid = $touserinfo[userid];
and REPLACE WITH:

Code:
$senderid = verifyusername($username,$password);
	$touser2 = addslashes($touser);
	if ($touserinfo = $DB_site->query_first("SELECT userid,email,usergroupid,receivepm,emailonpm,pmpopup FROM user WHERE username='$touser2'")) { //added pmpopup
		$touserid = $touserinfo[userid];

4) Right below that in Private.php FIND:

Code:
$DB_site->query("INSERT INTO pmstats (id, toid, fromid, datetime) VALUES (NULL, '$touserid', '$senderid', NOW())");
	if ($replyto) {
		$DB_site->query("UPDATE privatercvd SET repliedto=1 WHERE msgid=$replyto");
	}
and ADD BELOW THAT:

Code:
// PM POP UP HACK

	if($touserinfo[pmpopup] !=0) {
		
		if($checkuser=$DB_site->query_first("SELECT msgid FROM pmpopup WHERE toid='$touserid'")) {
			
			$DB_site->query("UPDATE pmpopup SET fromid='$senderid',fromname='$username',toid='$touserid',msgid='$theid',title='".addslashes($title)."' WHERE toid='$touserid'");

		} else {

			$DB_site->query("INSERT INTO pmpopup (fromid,fromname,toid,msgid,title) VALUES ('$senderid','$username','$touserid','$theid','".addslashes($title)."')");

		}
	}

	// END HACK

5) Open global.php and FIND:

Code:
// load vars
$vars=$DB_site->query("SELECT * FROM replacement ORDER BY replacementid DESC");
ADD BELOW THAT:

Code:
// PM POP UP HACK

if (($pmpopup=$DB_site->query_first("SELECT fromid,fromname,toid,msgid,title FROM pmpopup WHERE toid='$bbuserid'")) and $bbpassword !="") {

	$javascriptalert="<script language=\"javascript\">input_box=confirm(\"You have a new private message from $pmpopup[fromname] entitled '$pmpopup[title]'!\\n\\nClick OK to view it now.\");
	if (input_box==true)

	{ 
	// Output when OK is clicked
	window.open('private.php?rt=".time()."&action=show&table=privatercvd&password=&msgid=$pmpopup[msgid]','pmnew','width=600,height=500,menubar=yes,scrollbars=yes,toolbar=yes,location=yes,directories=yes,resizable=yes,top=50,left=50'); 
	
	}</script>";

	$DB_site->query("DELETE FROM pmpopup WHERE toid='$bbuserid'");
}


// END HACK

6) Last step. Open up your footer template and at the bottom above $CloseDB, ADD:

$javascriptalert



That's it, enjoy your 2.0 pop up functionality

If you want to give your users an option to turn it off,
you'll have to edit your profile options page and give it
a radio button.
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:51 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03247 seconds
  • Memory Usage 2,264KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (6)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (1)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete