Version: 1.00, by TWTCommish
Developer Last Online: Dec 2022
Version: 2.2.x
Rating:
Released: 01-21-2002
Last Update: Never
Installs: 20
No support by the author.
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.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
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.
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!
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.
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.
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?