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
Banned members automatically stop receiving email notification on subscribed threads Details »»
Banned members automatically stop receiving email notification on subscribed threads
Version: 1.00, by Erwin Erwin is offline
Developer Last Online: May 2013 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 09-10-2002 Last Update: Never Installs: 30
 
No support by the author.

NOTE: This hack is now included as standard from vB 2.2.8 upwards.

This is really a mini-hack.

As some of you may have come to realize, one of the shortcomings of vB is that after we have banned a member, that member still receives email notification, even when we have banned the member from viewing the forum or any threads.

Obviously a banned member cannot access his or her user control panel to unsubscribe to threads or switch off email notification. We as admins cannot access the member's user control panel to unsubscribe him from threads since we don't have his password, and we cannot do it from the Admin CP.

We can run a db query to unsubscribe the member manually:

PHP Code:
DELETE FROM subscribethread WHERE userid=XX 
Where XX is the userid of the member. It's very easy to add this to the Admin CP by the way. However, this is cumbersome, as the process is not automated. And once you unban the member, he has to remember to subscribe himself to the right threads again.

I wanted to make this automatic. With this mini-hack, once you ban a member (or make a member unregistered, awaiting email confirmation or a COPPA member), his email notification stops automatically. When you unban the member (or make the member registered etc.), his email notification automatically restarts again. No need to manually run that db query.

It's easy to install and is a matter of ADDING ONE line in functions.php

In functions.php:

Find:

PHP Code:
                                 AND user.userid<>'$userid' 
BELOW IT ADD:

PHP Code:
         AND user.usergroupid NOT IN (1,3,4,8
That's it! So when you ban a member or make them unregistered, or awaiting email confirmation, they will stop receiving email notifications. No more emails from irate banned members!

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 09-11-2002, 08:30 PM
Spitfireisgod's Avatar
Spitfireisgod Spitfireisgod is offline
 
Join Date: Aug 2002
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great addition man...

but i really don't have use for it since i rarely ban :-/
Reply With Quote
  #3  
Old 09-12-2002, 12:18 AM
Buddha Buddha is offline
 
Join Date: Jan 2002
Posts: 314
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for the minihack erwin... actually, this will probably come in useful.
Reply With Quote
  #4  
Old 09-12-2002, 03:04 AM
Erwin's Avatar
Erwin Erwin is offline
 
Join Date: Jan 2002
Posts: 7,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is almost like bug fix really... it's silly that banned members still get subscribed thread email notifications... I was sick of getting emails from banned members complaining about the emails.
Reply With Quote
  #5  
Old 09-12-2002, 06:51 AM
SemperFidelis SemperFidelis is offline
 
Join Date: May 2002
Posts: 188
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Good addition, but I probably wont install.
I find it amusing that banned members still get email notifications and not be able to see the actual threads
Reply With Quote
  #6  
Old 09-12-2002, 04:09 PM
cessna140 cessna140 is offline
 
Join Date: Feb 2002
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually this would be great for membership types sites. When a member expires this could make sure their subscriptions are deleted too!
Reply With Quote
  #7  
Old 09-12-2002, 07:43 PM
Erwin's Avatar
Erwin Erwin is offline
 
Join Date: Jan 2002
Posts: 7,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by cessna140
Actually this would be great for membership types sites. When a member expires this could make sure their subscriptions are deleted too!
True. Just add or remove the usergroupid's from the line that you add to choose which usergroups can or cannot receive email subscriptions.
Reply With Quote
  #8  
Old 09-13-2002, 01:46 AM
ZiRu$'s Avatar
ZiRu$ ZiRu$ is offline
 
Join Date: Jan 2002
Location: Manitoba, Canada
Posts: 520
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Damn....this is a must have.....installing NOW
Reply With Quote
  #9  
Old 09-13-2002, 01:58 AM
ZiRu$'s Avatar
ZiRu$ ZiRu$ is offline
 
Join Date: Jan 2002
Location: Manitoba, Canada
Posts: 520
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

when i install it i get this message

Parse error: parse error, unexpected $ in /home/blazing/public_html/admin/functions.php on line 1009

Fatal error: Call to undefined function: vbdate() in /home/blazing/public_html/admin/sessions.php on line 362

On line 362 its a blank space and on 1009 it's

PHP Code:
    $ctcensorword=explode(" ",$ctCensorWords); 
un-installing the hack fixes the problem
Reply With Quote
  #10  
Old 09-13-2002, 03:13 AM
Erwin's Avatar
Erwin Erwin is offline
 
Join Date: Jan 2002
Posts: 7,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Are you sure you put that line in the right place? This hack cannot cause a parse error, since all it does is add another "AND" requirement to the query that gets all the emails to be sent to when a new reply is made.

Without my hack, the query looks like this:

PHP Code:

  $useremails
=$DB_site->query("SELECT user.*
                               FROM subscribethread,user
                               WHERE subscribethread.threadid='
$threadid'
                                 AND subscribethread.userid=user.userid
                                 AND user.userid<>'
$userid'
                                 AND user.lastactivity>'
$lastposttime[dateline]'"); 

After my hack, the query looks like this:


PHP Code:

  $useremails
=$DB_site->query("SELECT user.*
                               FROM subscribethread,user
                               WHERE subscribethread.threadid='
$threadid'
                                 AND subscribethread.userid=user.userid
                                 AND user.userid<>'
$userid'
         AND user.usergroupid NOT IN (1,3,4,8,17)
                                 AND user.lastactivity>'
$lastposttime[dateline]'"); 
Go and install the hack again, and make sure that you are putting that extra line in the right place in functions.php - this hack does NOT and can NOT interfere with any other hack. It just adds another requirement to that specific query.
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 01:29 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05798 seconds
  • Memory Usage 2,307KB
  • Queries Executed 23 (?)
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
  • (6)bbcode_php
  • (1)bbcode_quote
  • (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
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)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_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