Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases

Reply
 
Thread Tools
Details »»

Version: 1.00, by TWTCommish TWTCommish is offline
Developer Last Online: Dec 2022 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 01-21-2002 Last Update: Never Installs: 41
 
No support by the author.

What's it do?
Simple: it checks to see how many new PMs a user has. If they've only got one (which is usually the case...I don't think many people get tons of new PMs), the popup JavaScript alert displayed to them will let them know who sent them the message, what it's title is, and, rather than take them to the Inbox, it'll take them directly to the message.

If there's more than one, it'll display a more vague message, letting them know just how many new messages they have, and redirecting them to their Inbox (which is where the current popup directs you). Anyway, here's the hack:


Open global.php. Around line 266 you should see the following:

Code:
$newpmmsg=1;
RIGHT below it, place this (REPLACE your current code for this hack with the code below, if you happen to be one of the few people who actually intalled this originally from the Beta Hacks forum. )

Code:
  $latest_pm = $DB_site->query("SELECT p.privatemessageid AS pm_popup_id, p.title AS pm_popup_title, u.username AS pm_popup_username FROM privatemessage p, user u WHERE messageread = 0 AND p.userid = $bbuserinfo[userid] AND p.fromuserid = u.userid ORDER BY dateline DESC");
  $hack_pm_total  = $DB_site->num_rows($latest_pm);
  
    if ($hack_pm_total > 1) {
      eval("\$pm_popup_text = \"".gettemplate('pm_popup_multiple')."\";");
      eval("\$pm_popup_url  = \"".gettemplate('pm_popup_url_multiple')."\";");
    } else {
      extract($DB_site->fetch_array($latest_pm));
      eval("\$pm_popup_text = \"".gettemplate('pm_popup')."\";");
      eval("\$pm_popup_url  = \"".gettemplate('pm_popup_url')."\";");
    }
Now, create the four new templates. I've attached a file to this post containing the names of the four templates, and the text I've used to populate them -- which will probably be the same text and such you'll want to use. Don't be intimidated...they're all very small.

After that, edit your head_newpm template to make use of the new variables. Here's my use of it (highly suggested):

Code:
<script language="JavaScript">
<!--
function confirm_newpm() {
	input_box = confirm("$pm_popup_text");
	if (input_box == true) { // Output when OK is clicked
		second_box = confirm("Open in new window?\n\n(Press cancel to open your $inboxname in the current window.)");
		if (second_box == true) {
			window.open('$pm_popup_url','pmnew','width=600,height=500,menubar=yes,scrollbars=yes,toolbar=yes,location=yes,directories=yes,resizable=yes,top=50,left=50'); 
		} else {
			window.location = "$pm_popup_url";
		}
	} else {
	// Output when Cancel is clicked
	}
}
-->
</script>
Enjoy.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #82  
Old 07-06-2002, 01:13 PM
69-FLy-gUy's Avatar
69-FLy-gUy 69-FLy-gUy is offline
 
Join Date: Oct 2001
Posts: 137
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

there is a script error also.. line 69
Reply With Quote
  #83  
Old 07-17-2002, 03:59 PM
santeematt santeematt is offline
 
Join Date: May 2002
Location: Santee
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

w00t

thanks

Reply With Quote
  #84  
Old 08-02-2002, 01:40 AM
Brianna Brianna is offline
 
Join Date: Mar 2002
Location: home
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

edit: NEVERMIND! I hope you aren't trying to figure it out right at this moment, cos it was just a very stoopid mistake on my behalf... :S

great hack! ^_^
Reply With Quote
  #85  
Old 09-17-2002, 04:02 PM
Dave-ahfb Dave-ahfb is offline
 
Join Date: Mar 2002
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have been working on this hack this morning, everything works fine if it is a single pm. When there is multiple pms I get a JS error I have narrowed it down to the following line of output
PHP Code:
input_box confirm("You have 9 new private messages.\n Click OK to view your Inbox, or cancel to hide this prompt.
"
); 
I am not a JS expert and cannot figure out what is making the "); go to a new line.

any suggestions?

Dave
Reply With Quote
  #86  
Old 09-17-2002, 04:28 PM
Dave-ahfb Dave-ahfb is offline
 
Join Date: Mar 2002
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

got it, had a space in the pm_popup_multiple template

Thanks for the hack

Dave
Reply With Quote
  #87  
Old 04-25-2003, 05:03 AM
MarkL MarkL is offline
 
Join Date: Apr 2002
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, having a question. Now that I have done this hack, a Pop-Up Message won't show. Anyone know what could be wrong? :$
Reply With Quote
  #88  
Old 05-12-2003, 01:23 AM
RetroDreams RetroDreams is offline
 
Join Date: Nov 2002
Posts: 238
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed flawlessly AFTER I cleaned out my inbox. =)
Reply With Quote
  #89  
Old 05-23-2003, 09:12 PM
Anjie Anjie is offline
 
Join Date: Jan 2003
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I cleaned out my inbox, set the templates to no HTML, and now there is no pop up at all. Any advice?
Forgot to add, added all templates, and replace all coding exactly as suggested. Does appear in source code. Using version 2.3.0
Reply With Quote
  #90  
Old 07-07-2003, 09:06 AM
tkeil69575 tkeil69575 is offline
 
Join Date: Nov 2001
Posts: 110
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i have a slight improvement to this hack because of the following problem. when you have a user in your ignore list and he has sent you a pm (which wont show in your private messages, because you are ignoring him) the pop-up will say when getting a new pm that you have 2 new pms, although your only seeing one.

thats because the sql is not ignoring the useres in your ignore list.

here the modification I made (which seems to work):

above twtcommisch hack add:
Code:
 if (trim($bbuserinfo['ignorelist'])!="") {
    $ignoreusers='AND fromuserid<>'.implode(' AND 
fromuserid<>',explode(' ', trim($bbuserinfo['ignorelist'])));
  }
then change the sql to:
Code:
 $latest_pm = $DB_site->query("SELECT 
p.privatemessageid AS pm_popup_id, p.title AS pm_popup_title, 
u.username AS pm_popup_username FROM privatemessage p, 
user u WHERE messageread = 0 AND p.userid = $bbuserinfo
[userid] AND p.fromuserid = u.userid $ignoreusers ORDER BY dateline DESC");
tina
Reply With Quote
  #91  
Old 08-08-2003, 04:25 AM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

installed and working with vb 2.30
Reply With Quote
Reply

Thread Tools

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 11:42 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04971 seconds
  • Memory Usage 2,296KB
  • Queries Executed 25 (?)
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
  • (5)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (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_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
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete