Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Moderate individual threads Details »»
Moderate individual threads
Version: 1.00, by MrNase MrNase is offline
Developer Last Online: Sep 2010 Show Printable Version Email this Page

Version: 3.5.1 Rating:
Released: 11-04-2005 Last Update: Never Installs: 15
DB Changes Uses Plugins Template Edits
Code Changes  
No support by the author.

Should be in vB by default but it isn't.. This is why I made it

Description:
This hack let's you select directly from the thread wether all new replies are moderated or not.
You can even use the inline moderation to select more than 1 thread which replies must be confirmed first before somebody else can see them.
The default vB function only allows thread moderation by forum and/or by usergroup.
This modification uses the default routines to handle the moderation. This means all the known functions have remained (overview of moderated posts in the AdminCP).


Features:
usergroup permissions, you can select what usergroup can moderate the individual threads
select which thread is moderated, no need to have a whole forum moderated
uses default vB functions, moderated posts are shown in the adminCP and in the modCP

Notes:
Altough I improved my english a lot over the time you should rework the phrases and give them a more professional look
This one is running on my community without any problems. To be sure it works for you as good as for me I re-installed the modification on my community with the help of this product file and this instructions.


Installation:
I tried to add as much plugins as possible but you have still work on some files.
DO A BACKUP OF YOUR DATABASE!!

Upload the file bitfield_mrnasemoderatethread.xml to /include/xml/

Then import product-mrnasemoderatethread.xml. This file will do most of the work for you.

Then open instructions_mrnasemoderatethread.txt and follow the instructions carefully.

Now edit the usergroups you would like to allow the usage of this modification. The default value is 'do not allow to moderate individual threads' so in most cases you just have to edit the Administration Group.


Well, try it out and give me some nice feedback!


Click here to install or you'll get diarrhea :rambo:

Show Your Support

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

Comments
  #2  
Old 11-05-2005, 08:16 PM
MrNase MrNase is offline
 
Join Date: May 2003
Location: Germany
Posts: 670
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Reserved for possible future use.
Reply With Quote
  #3  
Old 11-05-2005, 08:56 PM
Snakey Snakey is offline
 
Join Date: Jun 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I agree, should be in vB by default

* Snakey clicks install

1 Question: could it be made as a full plugin/product? (no code changes?)
Reply With Quote
  #4  
Old 11-05-2005, 09:09 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice Hack, though I prefer Hacks with less file edits

To get rid of the class_dm_threadpost.php file edits:

threaddata_start, threadfpdata_start
PHP Code:
$this->validfields['moderated'] = array(TYPE_UINTREQ_NO'return verify_moderated(&$dm, &$data);');

if (!
function_exists('verify_moderated'))
{
    function 
verify_moderated(&$dm, &$moderated)
    {
        if (
$sticky != 1)
        {
            
$sticky 0;
        }

        if (
$dm->condition AND !$dm->info['skip_moderator_log'])
        {
            require_once(
DIR '/includes/functions_log_error.php');
            if (
$this->fetch_field('moderated'))
            {
                
$logtype fetch_modlogtypes('unmoderatedthread');
            }
            else
            {
                
$logtype fetch_modlogtypes('moderatedthread');
            }
            
$dm->modlog[] = array('userid' => intval($dm->registry->userinfo['userid']), 'type' => intval($logtype));
        }

        return 
true;
    }


To get ird of the functions_log_error.php edits (requires vBulletin >= 3.5.1):
fetch_modlogtypes
PHP Code:
$modlogtypes['moderatedthread'] = 31;
$modlogyptes['unmoderatedthread'] = 32

fetch_modlogactions
PHP Code:
$modlogactions[31] = 'moderatedthread';
$modlogactions[32] = 'unmoderatedthread'

To get rid of the inline.php file edit

inlinemod_action_switch
PHP Code:
if ($_REQUEST['do'] == 'moderatethread' OR $_REQUEST['do'] == 'unmoderatethread')
{

    if (empty(
$vbulletin->GPC['tlist']))
    {
        eval(
standard_error(fetch_error('you_did_not_select_any_valid_threads')));
    }

    if (
count($vbulletin->GPC['tlist']) > $threadlimit)
    {
        eval(
standard_error(fetch_error('you_are_limited_to_working_with_x_threads'$threadlimit)));
    }

    
$threadids implode(','$vbulletin->GPC['tlist']);
    
$handled_do true;

To get rid of the postings.php file edit
PHP Code:
if ($_REQUEST['do'] == 'moderathethread')
{
    if (!
$threadinfo['threadid'])
    {
        eval(
standard_error(fetch_error('invalidid'$vbphrase['thread'], $vbulletin->options['contactuslink'])));
    }
    
$handled_do true;

To get rid of the functions_newpost.php file edit
newpost_process
PHP Code:
if ($threadinfo['moderated'])
{
    
$dataman->set('visible'0);
    
$post['visible'] = 0;

All those Plugins are untested, but should work theoretically.
Reply With Quote
  #5  
Old 11-06-2005, 02:24 PM
Shack Networks Shack Networks is offline
 
Join Date: Apr 2004
Posts: 49
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

All look into the sky and hail the gods, thank god someone has FINALY had the same idea I had and wots more they have actualy got it working..

Blessed are the Coders...

Seriously though, this SHOULD of been standard army issue in vBull from day one as sometimes a thread can get out of hand easily and go way off topic, this solves it nicely for me and so is worth the journey to the installed button.

Thanks a lot, I am 100% sure this will be a much used hack..

H
Reply With Quote
  #6  
Old 11-07-2005, 08:02 AM
MrNase MrNase is offline
 
Join Date: May 2003
Location: Germany
Posts: 670
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Andreas: Nope, not working for me.. I had to re-install the code modifications because the plugins were not working.

I really appreciate your help but it doesn't help a lot to post unfinished/not working code snippets because some may thing those are final and may get disappointed when they are not working
Reply With Quote
  #7  
Old 11-07-2005, 12:41 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's why I said they are untested.

Gonna test them now.
Reply With Quote
  #8  
Old 11-07-2005, 01:35 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Testet it now and turned out to be just 2 slight typos

threaddata_start, threadfpdata_start
PHP Code:
            if ($dm->fetch_field('moderated')) 
instead of

PHP Code:
            if ($this->fetch_field('moderated')) 
threadadmin_action_switch
PHP Code:
if ($_REQUEST['do'] == 'moderatethread')


instead of

PHP Code:
if ($_REQUEST['do'] == 'moderathethread')

I've also attached the complete ZIP.
Reply With Quote
  #9  
Old 12-18-2005, 10:58 PM
David Gillaspey David Gillaspey is offline
 
Join Date: Mar 2005
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

First, thanks to MrNase and Andreas for making this modification available.

I installed this, using MrNase's original concept, and it appears to work. (To test something like this, I have to post a test reply in a thread using -- again for test purposes only -- a second login account equal in privileges to that of an ordinary Registered user.)

Two questions:

1) As an ordinary Registered user, after making a post to a thread that I had set to be moderated (while logged in as the site admin), I saw a notification that the thread to which I had replied was being moderated. This notification screen, however, went away a little bit too quickly, so that I didn't have time to read the full notice about the thread being moderated. Is there any way to increase the amount of time a user sees that notification screen?

2) It appears that administrators and moderators can see that a thread is being moderated, because of a little icon that shows up to the right of the thread title. I see this when logged in as site admin. I don't see this when I'm logged on as an ordinary Registered user, however. How do ordinary Registered users know a thread is being moderated? (Maybe there's already a mechanism for this built into vBulletin. I will admit to being somewhat unfamiliar with moderation to begin with.)

Thanks in advance for your help.

David Gillaspey
Administrator
The Church Webmasters' Forum
Reply With Quote
  #10  
Old 12-20-2005, 08:49 PM
silurius silurius is offline
 
Join Date: Oct 2004
Posts: 404
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am a little confused about the recommended install process. Are the two zips identical, and are we supposed to install the product AND apply the manual changes?
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:51 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.04819 seconds
  • Memory Usage 2,329KB
  • 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
  • (10)bbcode_php
  • (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