vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Forum Display Enhancements - Users can see own moderated threads prior to approval (https://vborg.vbsupport.ru/showthread.php?t=277604)

MoMan 01-25-2012 11:00 PM

Users can see own moderated threads prior to approval
 
1 Attachment(s)
On my forum, to prevent spam, threads from new users are checked for common spam keywords, including links. If any such keywords are found, the thread gets auto-moderated.

In order to prevent double-posting, I decided it was necessary for users to be able to see their own moderated threads in the forum listings before they get approved. Nobody reads the redirection message shown, so I hope that this will be more effective in preventing duplicates.

Moderated threads from unregistered users will not be shown to those users.

Open forumdisplay.php,

Find:
PHP Code:

        if (!($forumperms $vbulletin->bf_ugp_forumpermissions['canseedelnotice']))
        {
            
$visiblethreads " AND visible = 1 ";
        }
        else
        {
            
$visiblethreads " AND visible IN (1,2)";
        } 

Replace with:
PHP Code:

        if ($vbulletin->userinfo['userid'])
        {
            if (!(
$forumperms $vbulletin->bf_ugp_forumpermissions['canseedelnotice']))
            {
                
$visiblethreads " AND (visible = 1 OR (visible = 0 AND postuserid = " intval($vbulletin->userinfo['userid']) . "))";
            }
            else
            {
                
$visiblethreads " AND (visible IN (1,2) OR (visible = 0 AND postuserid = " intval($vbulletin->userinfo['userid']) . "))";
            }
        }
        else
        {
            if (!(
$forumperms $vbulletin->bf_ugp_forumpermissions['canseedelnotice']))
            {
                
$visiblethreads " AND visible = 1 ";
            }
            else
            {
                
$visiblethreads " AND visible IN (1,2)";
            }
        } 

Note: if you want to allow users to see their own moderated posts as well, see post #2.

PhilG 01-27-2012 01:03 PM

I just installed this and works great until you click on the link to view the thread. Then is shows the default no thread page because of permissions.. If you edit showthread.php the follow will solve that:

Find:
Code:

if ((!$thread['visible'] AND !can_moderate($thread['forumid'], 'canmoderateposts'))
Replace with:
Code:

if ((!$thread['visible'] AND !can_moderate($thread['forumid'], 'canmoderateposts') AND ($thread['postuserid'] != $vbulletin->userinfo['userid'] OR !$vbulletin->userinfo['userid']))
Find:
Code:

                                AND post.visible = 1
Replace with:
Code:

                                AND (post.visible = 1 OR (post.visible = 0 AND post.userid = " . intval($vbulletin->userinfo['userid']) . "))

inciarco 01-27-2012 06:31 PM

Interesting Code, and the Detail for the Thread View. :up:

Is it Possible to Apply it Also to the Posts (Postbit) so that the User can See His/Her Own Posts Prior to Approval? (Not only New Threads but Also New Posts?) :confused:

Something Like: Users can see own moderated posts prior to approval. ;)

My Best Regards and Thank You For Sharing this Code and the Additional Code Edit. :up:

:)

MoMan 01-28-2012 03:34 AM

See post #2, I guess. I didn't originally intend to extend this feature to posts, but now that I think about it, there's really no reason not to.

MoMan 01-28-2012 03:42 AM

I'd like to add one thing to the code for the posts: if you want guests to never be able to see moderated content, change

PHP Code:

$thread['postuserid'] != $vbulletin->userinfo['userid'

to

PHP Code:

($thread['postuserid'] != $vbulletin->userinfo['userid'] OR !$vbulletin->userinfo['userid']) 

In the first part of the code in post #2.

PhilG 01-28-2012 04:21 AM

Quote:

Originally Posted by MoMan (Post 2293317)
I'd like to add one thing to the code for the posts: if you want guests to never be able to see moderated content, change

I updated the code for post #2 ;)

inciarco 01-28-2012 05:00 PM

Quote:

Originally Posted by MoMan (Post 2293317)
I'd like to add one thing to the code for the posts: if you want guests to never be able to see moderated content, change
... to ...
In the first part of the code in post #2.

Quote:

Originally Posted by PhilG (Post 2293325)
I updated the code for post #2 ;)

Thank You Very Much, I'll Try It and I'll Tell You How It Works. :up:

My Best Regards To Both Of You MoMan and PhilG . ;)

:)

inciarco 01-28-2012 06:55 PM

Both Codes Work Fine, but there is a Bug with the Pagenavs. The Pagenav generator isn't taking in Consideration the New Displayed Threads and Posts and the Threads and Posts on the Last Page are Lost, the Link to the Last Page isn't Displayed and there is Not Access to It Not Even by Writing the Number of the Page, it Goes to the Last One Showed but the Last Threads and Posts on that Last Page are Not Accesible. :confused:

What Additional Code Should be Edited for the Pagenavs on forumdisplay and on showthread to Consider the Moderated Threads and Posts of the User and to Access the Last Page (or Pages if there are Many Threads of Posts Moderated)? :confused:

I Also Noticed on the forumdisplay that for Moderated Posts the threadbit Don't Display the Last Message if is a Moderated One. What Additional Code Should be Edited for them to Display? :confused:

I Also Noticed that on the search Page the Moderated Threads and Posts are Not Displayed. What Additional Code Should be Edited for them to Display? :confused:

My Best Regards. ;)

:)

bestone96 02-29-2012 10:30 AM

thanks a lot

Meestor_X 04-22-2012 05:15 PM

Will this work on 4.x?


All times are GMT. The time now is 01:59 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.01265 seconds
  • Memory Usage 1,757KB
  • 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
  • (4)bbcode_code_printable
  • (4)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)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