Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Advanced Warning System (AWS) Details »»
Advanced Warning System (AWS)
Version: 3.4.16, by sv1cec sv1cec is offline
Developer Last Online: Mar 2022 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 11-20-2004 Last Update: 08-30-2005 Installs: 256
DB Changes Template Edits
Code Changes  
No support by the author.

Advanced Warning System Version 3.5.0

The AWS version for vB 3.5 has been released. You can download it and get support in this thread:

https://vborg.vbsupport.ru/showthread.php?p=770032


Advanced Warning System Version 3.4.16 (latest stable release for vB 3.0.x)


LATEST ANNOUNCEMENT

The AWS has its own Premium Forum here at vBulletin.org, so please use that for questions and discussion on this hack.

The Permium Forum is located at :

https://vborg.vbsupport.ru/forumdisplay.php?f=105





This Warning System owes its existence to Zero Tolerance's Warning Hack (https://vborg.vbsupport.ru/showthread.php?t=65336). I liked the idea, so I installed Zero's hack in my forums site. However, as in most cases, I was not fully satisfied with the way it worked, so I started customizing it. Other people in the thread above, asked questions, which I had already answered by my customizing work, so I answered, giving away those parts of the code, that I had modified.

In the long run, I almost hijacked the thread and the hack from Zero, so I guess I owe him an apology. However, the mods I did have compiled a new, more complete warning system, with much more functionality. Several members from that thread, asked if this could be released as a new hack, so after discussing it with Zero, here it is.

What it does? Well, it is a Warning System, which means it allows you (the administrative team of your site, in other words the admins, the supermods and the mods), to define offences, which the members of your forum should NOT commit. But as we all know, there are instances where members do not follow the rules. In that case, this warning system, allows you to issue a warning to the member who commited the offence. The warning has some points associated with it, as well as a period over which it is valid. When a member gathers enough points, he is banned from your forums, for a predefined period of time. That's mostly it, but below, you can find a short list of features:

Full warning system with:

- post- and non-post-related warnings
- hierarchical warning schema
- hidden or real warners
- customizable maximum warning points
- automatically bans members who reached the maximum warning points
- customizable ban days
- customizable ban user group and permanent ban user group
- customizable restore user group, where users are restored after they get unbanned
- customizable option for who can see the warning level of the members
- automatically issued warnings for posts which contain censored words
- automatically issued warnings for private messages which contain censored words
- supports incremental banning periods
- supports multiple warnings for the same post
- warned members are notified either by Private Message or e-mail when they are warned and when one of the warnings they have received is either deleted or expired
- maintains historical listings of issued warnings (even if deleted or expired)
- customizable warning types
- each warning type has predefined warning points associated with it
- each warning type has predefined maturity period, after which it is automatically deleted
- reports for admin, mods and members
- cron job included to automatically remove matured warnings
- uses vBulletin's cron job, to automatically unban banned users
- all options are setable in your AdminCP
- user warning points and number of bans viewable in your AdminCP User Manager.
- statistics show warning per type, warnings per warner, bans per user.
- Allows you to warn a user from your AdminCP/User Manager.
- Large "Warn" sign, in posts which have received a warning, for mods, supermods and admins, to easily distinguish those posts.
- Ability to remove user's avatar, signature or usage of the Private Messaging system, depending on the warning points he has collected.
- Supports non-standard admins, supermods and mods user groups.
- Allows you to save a copy of the warning send to the warned user, in a predefined forum.
- Allows you to issue "Alerts" (warnings without warning points, for first-time offenders)
- Allows you to add private or public notes for a user, either post-specific or not. Notes appear in the postbit, above each user's message.
- etc.

Admitedly, this is not an easy hack to install. It requires 20 new templates and modifications to some existing ones too. It requires five new tables and modifications to some others. It requires several new phrases. I've tried to make the installation, as easy as I could, by automating certain tasks in an automatic installer. The installer will add the new templates for you, add the new tables required and change the existing ones, and will add the required new phrases. You will have to manually edit the existing templates and the php files though. I also included an upgrade script, which will upgrade those who are using Zero Tolerance's warning hack (version 1.5) to this one. An uninstaller is also included, which removes what the installer installs.

Please keep in mind, that this is a very difficult hack to install. For this reason, I strongly recommend that you back up your database before starting the installation. I also suggest that you keep copies of each file and template you edit, so that you can always revert to a previous stable condition. Finally, I strongly suggest that you always run the latest release.

The zip file always contains both the instructions and the files required to install the latest version. If you have installed a previous version and want to upgrade to the latest, there is a text file attached, in the zip with upgrade instructions. Follow them.

In this thread, you will also find a more detailed document describing the features of this hack, as well as a document describing its version evolution.

Also keep in mind that the installer, will add the AWS templates only to your default style. If you want to use them in another one, you may try this Zero Tolerance's hack, which copies the templates to other styles you may have.

Another thing, the installation instructions were written when vB was at release 3.0.3, so you may expect to find some differences, with the latest files and templates. As far as I can tell, I haven't faced any such case, but I post this reservation here, since I do not have the time to recheck all the instructions for compliance with the latest vB release. The hack has been installed and is working fine with the vBulletin version shown at the top of this thread.

Finally, if you are using more than one style, the installer will install the templates only in the default one. If you want to use the rest of your styles, here is a hack, that will do this for you.

This hack can also be integrated with Zero Tolerance's vBChat. However, since I am using a heavily-modified version of vBChat, I haven't included instructions, on how to patch the original vBChat files, in the documentation. If you are interested in having AWS issue automatic warnings when one of your user enters a censored word in a vBChat message, or if you want your moderators to be able to warn a user, who misbehaves in vBChat, please post a thread in this forum and I'll help you through.

This is my first officially released hack, so please don't be to harsh with me, if I broke any rules or made any mistakes. The mods have been tested extensively, both by me and two volunteers (thank you gentlemen), but I am only human.

Closing, let me thank Zero Tolerance, who got me started in this, and who owns a big part of the code of this hack. I definnitely couldn't have done it, without his code.

Special Note
For those who upgrade from Zero Tolerance's hack to my AWS, even though I have included a script which will do some of the work automatically, not everything is done by that script. Read the installation instructions carefully. You have to run the upgrade script first and then do several things manually. If you just run the upgrade script and just upload the files, the AWS will not work properly. If you have any questions, please do not hesitate to post here.

Also, let me add here, that version 3.3.0 wouldn't have been possible without the contribution of Revan.

And a couple of warnings:

PLEASE DOWNLOAD THE LATEST ZIP FILE FROM HERE, BEFORE YOU START INSTALLING THIS HACK. JUST BECAUSE YOU DOWNLOADED IT A COUPLE OF DAYS AGO, THAT DOES NOT MEAN IT IS THE LATEST VERSION. MAKE SURE YOU DOWNLOAD THE ZIP, JUST BEFORE YOU START INSTALLING THIS HACK.


LATEST VERSION

Version 3.4.16 (released Thursday August 25th, 2005 GMT 18:18)

A couple of bugs fixed in this version. One is related to the Notes feature, and it allowed plain users to see the notes entered, if the "Who can view warning points" setting was set to "All".

Features.txt a new version of this file has been uploaded on April 4th2 005 GMT 09:30, which covers the latest additions to the hack. The original Features.txt file hasn't been updated since the first release of this hack, so it was time for an update.

John

Show Your Support

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

Comments
  #752  
Old 01-16-2005, 07:31 PM
sv1cec sv1cec is offline
 
Join Date: May 2004
Location: Athens, Greece
Posts: 2,091
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, for the member who asked for a different message, when a banned member tries to log in the site, I have found the place to check it out and produce a different message. I am not releasing it as a new version though, as I want to elaborate on it a bit, but if you are in a hurry to put this into action, here is what you have to do:

Edit file functions.php and find:

PHP Code:
    $postvars construct_post_vars_html();

    
$bbuserinfo['badlocation'] = 1// Used by exec_shut_down();

    
if ($bbuserinfo['userid'])
    {
        eval(
print_standard_error('nopermission_loggedin'true));
    }
    else 
Replace that, with:

PHP Code:
$postvars construct_post_vars_html();

    
$bbuserinfo['badlocation'] = 1// Used by exec_shut_down();

    
    
if (($bbuserinfo['usergroupid']==$warn_opts['banned_usergroup_id'] OR $bbuserinfo['usergroupid']==$warn_opts['troll_usergroup_id']) AND $bbuserinfo['userid'])
    {
        eval(
print_standard_error('nopermission_banned'true));
    }
    
    
    if (
$bbuserinfo['userid'] AND (!$bbuserinfo['usergroupid']==$warn_opts['banned_usergroup_id'] OR !$bbuserinfo['usergroupid']==$warn_opts['troll_usergroup_id'])
    {
        eval(
print_standard_error('nopermission_loggedin'true));
    }
    else 
Also, create a new phrase, named nopermission_banned, its type being Front-End Error Messages, which says something like:

HTML Code:
<p><strong>$bbuserinfo[username]</strong>,<p> You do not have permission to access the forums, because you are temporarily banned.<p>Sorry, we hope to see you again in our forums soon.
<p><div align="$stylevar[right]"> <a href="login.php?$session[sessionurl]do=logout&amp;u=$bbuserinfo[userid]">Log Out</a> <a href="$vboptions[forumhome].php?$session[sessionurl]">Home</a> </div>
Try this out and let me know if it works, I have a reservation, since I am not sure if warn_opts have been evaluated at that point. If not, I'll give you a better solution tomorrow.
Reply With Quote
  #753  
Old 01-16-2005, 09:34 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi sv1cec ,

yeah i forgot about the logged in part it is /includes/functions.php you're right

however i tryed this on my "testvb" board and this block of code is giving me a parse error

PHP Code:
if($bbuserinfo['userid']) AND !$bbuserinfo['usergroupid']==$warn_opts['banned_usergroup_id'] OR !$bbuserinfo['usergroupid']==$warn_opts['troll_usergroup_id'])
    {
        eval(
print_standard_error('nopermission_loggedin',true));
    } 
anyway time to sleep now :tired:
Reply With Quote
  #754  
Old 01-17-2005, 09:21 AM
sv1cec sv1cec is offline
 
Join Date: May 2004
Location: Athens, Greece
Posts: 2,091
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The new version includes the checking for the special message that banned users receive when they try to log in.

Rgds to all
Reply With Quote
  #755  
Old 01-17-2005, 10:32 AM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sv1cec
The new version includes the checking for the special message that banned users receive when they try to log in.

Rgds to all
hi sv1cec,

thanks for the new version but i'm facing a problem the modification that takes care of the "special message" for banned users well i banned my test account just to see what happens and the PHP parser gives me this error

Code:
Fatal error: Call to a member function on a non-object in /path/to/includes/functions.php on line 2066
line 2066 from /includes/adminfunctions.php is

PHP Code:
$warn_opts=$DB_site->query_first("select * from ".TABLE_PREFIX."warning_options where oid='1'"); 
i can't see anything wrong it

rgds
Reply With Quote
  #756  
Old 01-17-2005, 11:36 AM
sv1cec sv1cec is offline
 
Join Date: May 2004
Location: Athens, Greece
Posts: 2,091
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nothing's wrong with that phrase, what I ... forgot to tell you guys, was that you have to do another edit in the functions file. Scroll a bit higher up from where you made that mod, and find a phrase that looks like:

PHP Code:
    global $vboptions$logincode$url$bbuserinfo$session$stylevar
Replace that with:

PHP Code:
    global $DB_site$vboptions$logincode$url$bbuserinfo$session$stylevar
Don't expect me to be perfect at 08:30 am, not enough coffee in my system yet.
Reply With Quote
  #757  
Old 01-17-2005, 11:43 AM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sv1cec
Nothing's wrong with that phrase, what I ... forgot to tell you guys, was that you have to do another edit in the functions file. Scroll a bit higher up from where you made that mod, and find a phrase that looks like:

PHP Code:
    global $vboptions$logincode$url$bbuserinfo$session$stylevar
Replace that with:

PHP Code:
    global $DB_site$vboptions$logincode$url$bbuserinfo$session$stylevar
Don't expect me to be perfect at 08:30 am, not enough coffee in my system yet.
nobody is perfect my friend errors /mistakes do happen we are all humans not *machines*

i searched the web about this error and found out it was something with a global statement already i just had no idea where i'll get back to you if that works and do not worry about to much
Reply With Quote
  #758  
Old 01-17-2005, 12:07 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

sv1cec,

YES YES man can i buy a bucket of coffee working fine i modified the standerd "print_no_permission()" function

PHP Code:
function print_no_permission()
{
    global 
$DB_site,$vboptions,$logincode,$url,$bbuserinfo,$session,$stylevar;
    if(!
$logincode)
    {
        
$logincode=construct_login_code();
    }
    
$postvars=construct_post_vars_html();
    
$bbuserinfo['badlocation'] = 1// Used by exec_shut_down();
    
$warn_opts=$DB_site->query_first("SELECT * FROM " TABLE_PREFIX "warning_options WHERE oid='1'");
    if ((
$bbuserinfo['usergroupid']==$warn_opts['banned_usergroup_id'] OR $bbuserinfo['usergroupid']==$warn_opts['troll_usergroup_id']) AND $bbuserinfo['userid'])
    {
        
$ban $DB_site->query_first("SELECT liftdate FROM " TABLE_PREFIX "userban WHERE userid=$bbuserinfo[userid]");
        if (
$ban['liftdate']=='0')
        {
            
$until="permanently banned";
        }
        else
        {
            
$untilvbdate $vboptions['dateformat'], $ban[liftdate] );
            
$until=" temporarily banned, until the $until";
        }
        eval(
print_standard_error('nopermission_banned'true));
    }
    
// test
    
if($bbuserinfo['userid'])
    {
        eval(
print_standard_error('nopermission_loggedin',true));
    }
    else
    {
        
$scriptpath htmlspecialchars_uni(SCRIPTPATH);
        
define('VB_ERROR_PERMISSION'true);
        eval(
print_standard_error('nopermission_loggedout'false));
    }

thanks man for sorting that one out
Reply With Quote
  #759  
Old 01-20-2005, 11:17 AM
sv1cec sv1cec is offline
 
Join Date: May 2004
Location: Athens, Greece
Posts: 2,091
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Three days with no reported errors or problems??!!!

OK, so now it's time to start thinking of new things to add.

Rgds
Reply With Quote
  #760  
Old 01-20-2005, 11:35 AM
jluerken's Avatar
jluerken jluerken is offline
 
Join Date: Aug 2003
Location: Germany
Posts: 1,016
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sv1cec
Three days with no reported errors or problems??!!!

OK, so now it's time to start thinking of new things to add.

Rgds
Oh please no. An update once every two month is enough I think.
I really don't like it to update a hack twice a week
Reply With Quote
  #761  
Old 01-20-2005, 09:25 PM
Dennis B's Avatar
Dennis B Dennis B is offline
 
Join Date: Jul 2002
Posts: 193
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jluerken
Oh please no. An update once every two month is enough I think.
I really don't like it to update a hack twice a week
These are days when we upgrade vBulletin every week, why not our hacks...?
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 04:40 AM.


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.05640 seconds
  • Memory Usage 2,372KB
  • Queries Executed 25 (?)
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
  • (1)bbcode_code
  • (1)bbcode_html
  • (9)bbcode_php
  • (4)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
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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