View Single Post
  #954  
Old 04-06-2009, 11:41 PM
toivo toivo is offline
 
Join Date: Jul 2007
Location: Sydney, Australia
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't you love it when a user goes on holidays from the forum that the EI Mod runs on? The person has of course set an out-of-office message in his/her native tongue which does not contain a single word that could be trapped by the out-of-office filter in your mail server. You wake up in the morning to find dozens of bounced messages in your mailbox and posts in the forum with a few expletives from frustrated users in different time zones.

This hack works for users of the old message format. It compares the beginning of the new message to the first 100 characters of the user's previous message and, if identical, removes the message from the mailbox.

Find the line 264 in emailintegration.php, version 2.6.1 BETA:
Code:
$mailmessage = preg_replace($pattern, $replace, $mailmessage);
Insert the following code after line 264:
Code:
					if ( $userid ) {
						$getlastpost = $vbulletin->db->query_first("
							SELECT lastpostid
							FROM " . TABLE_PREFIX . "user
							WHERE userid = $userid
						");
						$lastpostid = $getlastpost['lastpostid'];
						// lastpostid is not always updated
						if ( !$lastpostid ) {
							$getlastpost2 = $vbulletin->db->query_first("SELECT postid FROM " . TABLE_PREFIX . "post WHERE userid = $userid ORDER BY dateline DESC, postid DESC LIMIT 1");
							$lastpostid = $getlastpost2['postid'];
						}
						if ( $lastpostid ) {
							$gettext = $vbulletin->db->query_first("
								SELECT pagetext
								FROM " . TABLE_PREFIX . "post
								WHERE postid = $lastpostid
							");
							$pagetext = $gettext['pagetext'];
							$pagetext_comp 		= substr( $pagetext, 0, 100 );
							$mailmessage_comp 	= substr( $mailmessage, 0, 100 );
							if ( $pagetext_comp === $mailmessage_comp ) {
								imap_delete($mailbox,$msgno);
								continue;
							}
						}
					}
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01301 seconds
  • Memory Usage 1,766KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete