Version: 1.00, by Admin (Coder)
Developer Last Online: Nov 2024
Version: 2.2.x
Rating:
Released: 07-02-2002
Last Update: Never
Installs: 43
No support by the author.
*phew*
Here it is people, the hack I use at vBulletin.org that allows you to send replies to the thread through email.
I've rewritten most of it in the last couple of days, killing bugs and making the code more readable with comments.
Installation is pretty easy, download the attaced ZIP file and read readme.txt.
This hack is provided as is and with no support whatsoever!
DO NOT email, private message or contact me through any other means about this hack. You will be ingored and receive bad jake karma! (provided graciously by jake Inc.)
Bug reports are welcome.
I hope none of you will need any support, this is not a space ship and you don't need to be a rocket scientist to install it.
[high]* FireFly waits for someone to request a screen shot... :dead:
[/high]
Enjoy!
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Ok it works for me now, I just have two little quirks.
First, how do I get the subject to automatically include the required info to reply? Like the [threadidxxxx] thing as on here?
Secondly, it appears that in the email, the password is open for viewing. Whereas on here it says something like [thread-53352-], on mine it says [thread-53352-xxxx] where xxxx is the e-mail password. Shouldn't that not be showing up?
Ah nevermind. I figured out the first part by editing the email_notify subject template. Also I think the second question is because I'm the admin, so it should show up for me but not for regular members. I'll have to try it with my regular member test account and see.
I've done some minor changes in procpost.php so that you can post messages from any e-mail account by using user name and password in subject line like this:
[thread-123-user-password]
reason for that is to be able to send posts from mobile phones, airplanes etc.
not sure about security holes yet
PHP Code:
/* Get needed data from headers */
if (preg_match('#\[post-([0-9]+)-([a-z0-9]+)-([a-z0-9]+)\]#i', $headers['subject'], $subjectparts)) {
$postid = intval($subjectparts[1]);
} else {
preg_match('#\[thread-([0-9]+)-([a-z0-9]+)-([a-z0-9]+)\]#i', $headers['subject'], $subjectparts);
$threadid = intval($subjectparts[1]);
}
preg_match('#([-.a-z0-9_]+@[-.a-z0-9_)]*)#i', $headers['from'], $emailparts);
/* Move data to new variables */
$email = $emailparts[1];
$emailuser = $subjectparts[2];
$emailcode = $subjectparts[3];
$title = str_replace('[thread-'.$threadid.'-'.$emailuser.'-'.$emailcode.']', '', str_replace('[post-'.$postid.'-'.$emailuser.'-'.$emailcode.']', '', $headers['subject']));
$message = trim(str_replace('[thread-'.$threadid.'-'.$emailuser.'-'.$emailcode.']', '', str_replace('[post-'.$postid.'-'.$emailuser.'-'.$emailcode.']', '', $d_message['text'][0])));
/* Get the user info by the email */
$bbuserinfo = $DB_site->query_first("
SELECT user.*, userfield.field'.$_config['fieldid'].'
FROM user
LEFT JOIN userfield USING (userid)
WHERE username = '$emailuser'
");
/* And make sure it's not a phoney */
if (!$bbuserinfo) {
mailerror('Invalid user: user name does not exist.');
continue;
} elseif (empty($bbuserinfo['field'.$_config['fieldid']])) {
mailerror('No email password: you did not specify an email password in your profile, and cannot post through email.');
continue;
} elseif ($bbuserinfo['field'.$_config['fieldid']] != $emailcode) {
mailerror('Invalid email password: the email password you specifed does not match the one in the database.');
continue;
}
obviously you will have to edit templates and insert $emailuser where ever it needs to. ($emailuser is user name)
if someone figures out how to work this in 2.3 can you let me know, I can't see any of the code that requires changing in the showthread.php or some of the code from the funcitons.php
Yesterday at 11:32 PM iggy123 said this in Post #87 if someone figures out how to work this in 2.3 can you let me know, I can't see any of the code that requires changing in the showthread.php or some of the code from the funcitons.php