vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Mini: Link Directly to PM in Email Notification (https://vborg.vbsupport.ru/showthread.php?t=34357)

TWTCommish 01-21-2002 10:00 PM

Ok, I realize this is TINY. Sorry. :) I figured it'd be worth posting anyway, though, because this tiny little hack has been extremely useful to me.

What's it do?
Short, and sweet: instead of a link to the Inbox in the new PM notification email, it displays a link directly to the message itself.

Known bugs
From what I understand, the mysql_insert_id() function is a little bit on the funky side...so it seems that, every few dozen emails I receive, just one doesn't work. This is a real rarity, though. 99% of the time it hums along without a hitch.

Ok, this hack is VERY simple. Here goes:

in private.php in your main forums directory, find the code below (around line 625 or so):

Code:

$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid,receipt) VALUES (NULL,$touserinfo[userid],$touserinfo[userid],$bbuserinfo[userid],'".addslashes(htmlspecialchars($title))."','".addslashes($message)."',".time().",'$signature','$iconid',0,0,$receipt)");
RIGHT after it, place this:

Code:

$the_pm_id = $DB_site->insert_id();
Save and upload. Yep, that's it for code editing! :) Then, open the email_pmreceived, and use the $the_pm_id variable as you please. Here's how I used it:

Code:

$touserinfo[username],

You have received a new private message at $bbtitle from $bbuserinfo[username]. Please click here to log in and read it:
$bburl/private.php?action=show&privatemessageid=$the_pm_id

Thanks,
$bbtitle

Attached is a quick screenshot of what the email looks like when I receive it. Works well for me. If anyone's got any suggestions, feel free to let me know. I hope this is useful. :)

bokhalifa 01-22-2002 04:52 PM

Thanks :pleased:

Lionel 01-25-2002 06:23 PM

thanks

69-FLy-gUy 01-25-2002 07:10 PM

Thanks.. will install this one later tonight

Ciao

LuBi 02-02-2002 05:21 PM

So anyone figureo ut what's up with the funky code? Is it something we should worry about or will this feature work?

TWTCommish 02-02-2002 05:30 PM

Oh, you mean the mysql_insert_id() function? It'll be fine. I think it's only mucked up on me once or twice in maybe 100 emails or so. And it hasn't happened in weeks. I may have imagined it. :D

X-Fan 02-04-2002 05:14 AM

I've installed this and it seemed to work okay but now I've gotten a bunch of e-mails notifying me of PM's that didn't have the privatemessageid number in the URL so leads to an error page when you click it.

Also, myself and some others on the board have been reporting that they've been getting e-mails advising them of a new PM but when they access their PM section there's nothing there!

Any ideas?

TWTCommish 02-04-2002 05:29 AM

Can you take me through the steps you've gone through to install this? I can't imagine how it could be much of a problem...one line of code (that needs to be RIGHT after that query), and a minor template change.

X-Fan 02-04-2002 07:20 AM

Quote:

Originally posted by TWTCommish
Can you take me through the steps you've gone through to install this? I can't imagine how it could be much of a problem...one line of code (that needs to be RIGHT after that query), and a minor template change.
Yeah, only two steps that I followed to the letter. Editing private.php was a snap, and I even used your example of what to put in the email_pmreceived template but for some reason I'm getting the above probs.

TWTCommish 02-04-2002 02:39 PM

I'm wondering if it's got something to do with your installation of PHP, then. I do know the function is a tad shaky, but if it completely fails to work, EVER, then there might be some switch missing. Do you know which version you're running, offhand?

fury 02-08-2002 12:56 PM

You sure you didn't add it after the query inside if ($savecopy) { }? The queries do look very similar at the beginning

If your users do not elect to save copies of their private messages, then this hack would not work, if that's where you added them. You have to add them in the query that is right after this line:

// enhanced - added $receipt to insert

Thanks for the great hack, Commish! :D

NYI Fan 02-15-2002 10:05 PM

This is GREAT! Thank you!

TWTCommish 02-15-2002 11:08 PM

No problem -- I'm glad you like it. :) I find it highly useful...so I figured others would as well. BTW: this could be modified slightly to include, say, the title and time sent along with the username and link. Wouldn't be too tough, I don't think.

tanster 03-03-2002 11:09 PM

Wonderful. Thank you!

:) Jennie

tanster 08-04-2002 08:53 PM

Quote:

Originally posted by X-Fan
I've installed this and it seemed to work okay but now I've gotten a bunch of e-mails notifying me of PM's that didn't have the privatemessageid number in the URL so leads to an error page when you click it.
I encountered the same problem, and I think it occurs when you're sending PMs to multiple recipients. If you add the same line of code to private2.php (as well as private.php), that seems to fix it. :)

FleaBag 10-14-2002 03:06 PM

Cheers Chris. Running on 2.3.0. :)

Boofo 01-01-2003 10:54 AM

TWTCommish. how did you get the Date, To, Subject and From part in your message? Would you be willing to share the code for that? :)

TWTCommish 01-01-2003 01:25 PM

That's just part of the email. :)

Mystis 01-01-2003 03:52 PM

I believe that I saw on the PHP changelog that the mysql_insert_id() function problems were fixed in 4.3.0 :)

djwins 07-11-2005 02:37 PM

Can someone update this for 3.0.7? It doesn't seem to have the same code.
Thanks!

Marco van Herwaarden 07-11-2005 03:41 PM

Quote:

Originally Posted by djwins
Can someone update this for 3.0.7? It doesn't seem to have the same code.
Thanks!

That is obvious, since this hack is written for vB2.

djwins 07-11-2005 04:53 PM

Yeah, I know...thats why I asked if someone could update it.
Who's stating the obvious now? ;)


All times are GMT. The time now is 09:18 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.02439 seconds
  • Memory Usage 1,752KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (22)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete