Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

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
  #62  
Old 02-14-2002, 01:58 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think the problem is the fact that you've chosen to add the template beginning/ending comments. Try turning them off...that might fix the problem.
Reply With Quote
  #63  
Old 02-14-2002, 02:01 PM
Keta Keta is offline
 
Join Date: Nov 2001
Location: michigan
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

and how do you turn that off?

edit: nvm i got it. it works! thanks !
Reply With Quote
  #64  
Old 02-14-2002, 02:04 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Under your vBulletin Options screen, click on Templates -- there's only one option, I believe, under that section. Set it to "no" instead of "yes," and you're there.
Reply With Quote
  #65  
Old 02-21-2002, 07:37 PM
Kohhal's Avatar
Kohhal Kohhal is offline
 
Join Date: Feb 2002
Location: Dublin, Ireland
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just installed, took me a while to get rid of the errors but it's working now Cheers!

Note: I'm new to these hacks so for any other newbs : make sure when you copy text, especially javascript that each piece of code is on the correct line, otherwise you'll get all sorts of errors. Also, make sure to delete any extra lines(CRs) at the end of the .php files
Reply With Quote
  #66  
Old 03-07-2002, 06:46 PM
ice!~neko ice!~neko is offline
 
Join Date: Mar 2002
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i dont realy have time to look through the whole thread to see if this has already been said but i'm having a problem...

everytime i add that code to the PHP file this error comes up...

Parse error: parse error in /home/virtual/site71/fst/var/www/html/forums/global.php on line 275

Fatal error: Call to undefined function: getpermissions() in /home/virtual/site71/fst/var/www/html/forums/index.php on line 10
Reply With Quote
  #67  
Old 03-07-2002, 06:50 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you post lines 270-280 here, then? That's a really odd error.
Reply With Quote
  #68  
Old 03-07-2002, 06:54 PM
ice!~neko ice!~neko is offline
 
Join Date: Mar 2002
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

its okay, i sorted it out... i think i made to many lines between the codes, to try and seperate the hack from the rest of it so i dont get confused =\

ice!~neko <--- is a newbie to vBB and hacking
Reply With Quote
  #69  
Old 03-07-2002, 06:59 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay then. I hope you like it.
Reply With Quote
  #70  
Old 03-10-2002, 01:31 PM
Overgrow's Avatar
Overgrow Overgrow is offline
 
Join Date: Nov 2001
Posts: 320
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great hack.. it was an improvement over what I was doing already because it has the multiple pm option. One problem though, the query as posted runs very slow on my site (166k PMs stored). I've never understood the duplicate fields in the PM table, but changing around the WHERE clause helps alot:

PHP Code:
SELECT p.privatemessageid AS pm_popup_idp.title AS pm_popup_title
u.username AS pm_popup_username FROM privatemessage puser u 
WHERE messageread 
AND p.userid $bbuserinfo[userid] AND 
p.fromuserid u.userid ORDER BY dateline DESC 
That uses the indexed p.userid field instead of the unindexed p.touserid. It seems to work the same and is no longer a PITA query. Thanks for the hack.
Reply With Quote
  #71  
Old 03-10-2002, 01:38 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for pointing that out; I'll make the change shortly and update the instructions/file/etc. I appreciate it...and I'm honored that you'd find use for this. I'm a big admirer of your hacking, and the way you've put together your forums.
Reply With Quote
Reply


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 08:39 PM.


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.07223 seconds
  • Memory Usage 2,311KB
  • Queries Executed 27 (?)
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
  • (3)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
  • (4)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_postinfo_query
  • fetch_postinfo
  • 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