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)
-   -   Banned members automatically stop receiving email notification on subscribed threads (https://vborg.vbsupport.ru/showthread.php?t=43442)

Erwin 09-10-2002 10:00 PM

Banned members automatically stop receiving email notification on subscribed threads
 
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! :)

Spitfireisgod 09-11-2002 08:30 PM

great addition man...

but i really don't have use for it since i rarely ban :-/

Buddha 09-12-2002 12:18 AM

thanks for the minihack erwin... actually, this will probably come in useful.

Erwin 09-12-2002 03:04 AM

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. :)

SemperFidelis 09-12-2002 06:51 AM

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
:D

cessna140 09-12-2002 04:09 PM

Actually this would be great for membership types sites. When a member expires this could make sure their subscriptions are deleted too!

Erwin 09-12-2002 07:43 PM

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.

ZiRu$ 09-13-2002 01:46 AM

Damn....this is a must have.....installing NOW

ZiRu$ 09-13-2002 01:58 AM

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

Erwin 09-13-2002 03:13 AM

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.


All times are GMT. The time now is 07:20 PM.

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.01243 seconds
  • Memory Usage 1,748KB
  • 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
  • (6)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete