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
Allow Group to Read Titles / Not Content Details »»
Allow Group to Read Titles / Not Content
Version: 1.05, by Princeton Princeton is offline
Developer Last Online: Nov 2022 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 01-12-2004 Last Update: 05-24-2005 Installs: 146
 
No support by the author.

Tested and working in 3.0.3 - 3.0.7

This hack will enable you to DISABLE SHOWTHREAD according to USERGROUP.This will allow all your members to view titles and topic counts found within a section. Think of it as "window shopping". Your members will be able to read all topics from the forumdisplay.php page but, will not be allowed to read it's content unless they have permission

The edits below will prevent anyone from viewing the contents of a post from within showthread, printthread, showpost, and archives.

This feature can be used on a per USERGROUP and /or per FORUM basis. You, as the admin, will have complete control.

You will need to modify:
  • includes/init.php
  • includes/adminfunctions_forums.php
  • admincp/resources.php
  • admincp/usergroup.php
  • showthread.php
  • archive/index.php
  • printthread.php
  • showpost.php
  • archive.css
Add 3 new phrases.
MOD VERSION 1.05
  • Fixed issues concerning the archives - eg. blank page was displayed ... now, thread links are viewable but not active (if not allowed).
MOD VERSION 1.01
  • now with personal NOT ALLOWED message
  • Easier to install
  • now add the ability to allow users to view their own posts/threads (view below code)
  • archive section changed to NOT display links to content that is not READABLE
  • added a message to archive section if user cannot read content
[hr=blue]4[/hr]
Allow User To View And Post Into Their Own Threads:
If you want to allow users to view and post their own threads and have access to them ... use this code in showthread, printhread, and showpost.php:
Code:
// ================================================= \\
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
                 if (!($forumperms & GTPCANREADCONTENT)AND ($thread['postuserid'] != $bbuserinfo['userid']))
                 {
                     eval(print_standard_error('gtp_cannot_read'));
                 }
// == [ 00-00-2004 - GTP END ]
// ================================================= \\
NOTE: You may have to use "$threadinfo['postuserid]" on some of the pages.

[hr=blue]4[/hr]
Disable Thread Preview
To disable thread previews on forums that user cannot read content do the following edits:
FIND in functions/forumdisplay.php:
Code:
    // format thread preview if there is one
    if ($ignore["$thread[postuserid]"])
    {
        $thread['preview'] = '';
    }
    else if (isset($thread['preview']) AND $vboptions['threadpreview'] > 0)
    {
        $thread['preview'] = strip_quotes($thread['preview']);
        $thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode($thread['preview'], false, true), $vboptions['threadpreview']));
    }
REPLACE IT WITH:
Code:
// ================================================= \\
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
    $forumperms = fetch_permissions($foruminfo['forumid']);
    // format thread preview if there is one
    if ($ignore["$thread[postuserid]"] OR !($forumperms & GTPCANREADCONTENT))
    {
        $thread['preview'] = '';
    }
    else if (isset($thread['preview']) AND $vboptions['threadpreview'] > 0)
    {
        $thread['preview'] = strip_quotes($thread['preview']);
        $thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode($thread['preview'], false, true), $vboptions['threadpreview']));
    }
// == [ 00-00-2004 - GTP END ]
// ================================================= \\
[hr=blue]4[/hr]
Example Of How Hack Works:
I have a forum with (sub-forums) ... however, one of the sub-forums is private (for PREMIUM members only). Here's how the settings would look like.

In USERGROUP MANAGER (this is a global setting) set "Group can read content?:
UNREGISTERED - YES
REGISTERED - YES
PREMIUM - YES

The global setting will be transferred to all forums; but, we have a sub-forum that is only for PREMIUM MEMBERS so...

In FORUM PERMISSIONS MANAGER set private forum to:
UNREGISTERED - NO
REGISTERED - NO
PREMIUM - YES

Show Your Support

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

Comments
  #72  
Old 07-18-2004, 09:49 PM
Noiz Pollution Noiz Pollution is offline
 
Join Date: Jun 2003
Location: Glasgow, UK
Posts: 103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm, I can't see caching being a huge issue, I know I myself never bother looking at cached pages and don't imagine a huge percentage of other users do either unless they're totally determined to access information only available in 1 place.

As for the if statement, I'm not entirely sure how I'd go about that without some kind of example, my PHP knowledge is quite limited.

Cheers,
Robert
Reply With Quote
  #73  
Old 07-19-2004, 03:20 PM
Noiz Pollution Noiz Pollution is offline
 
Join Date: Jun 2003
Location: Glasgow, UK
Posts: 103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I tried changing
PHP Code:
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
    
if (!($forumperms GTPCANREADCONTENT)
    {
        
print_no_permission();
    }
// == [ 00-00-2004 - GTP END ]
// ================================================= \\ 
to this
PHP Code:
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
    
if (!($forumperms GTPCANREADCONTENT) OR !preg_match("#(google|slurp@inktomi|yahoo! slurp)#si"$_SERVER['HTTP_USER_AGENT']))
    {
        
print_no_permission();
    }
// == [ 00-00-2004 - GTP END ]
// ================================================= \\ 
after seeing the useragent details in [this thread] but I noticed that the inktomi spider was still being denied access when it hit showthread.php, any ideas?


Cheers,
Robert
Reply With Quote
  #74  
Old 07-19-2004, 04:16 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm not sure why it wouldn't ... but try using the html entity of @ which is @

Another thing ... if you are going to bypass GTPCANREADCONTENT for search engines you should only allow it within the ARCHIVES.

FYI
I don't recommend this as it is easy to circumvent.
Reply With Quote
  #75  
Old 07-20-2004, 01:47 AM
nintendo's Avatar
nintendo nintendo is offline
 
Join Date: Dec 2001
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where can I get the instructions for 3.01?
Reply With Quote
  #76  
Old 07-20-2004, 12:09 PM
Noiz Pollution Noiz Pollution is offline
 
Join Date: Jun 2003
Location: Glasgow, UK
Posts: 103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by princeton
I'm not sure why it wouldn't ... but try using the html entity of @ which is @

Another thing ... if you are going to bypass GTPCANREADCONTENT for search engines you should only allow it within the ARCHIVES.

FYI
I don't recommend this as it is easy to circumvent.
I've tried this, just waiting for a bot to turn up although I'm not holding my breath.


Cheers,
Robert
Reply With Quote
  #77  
Old 07-20-2004, 03:39 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by nintendo
Where can I get the instructions for 3.01?
the instructions are similar just some minor modifications - you can probably install this with no problems
Reply With Quote
  #78  
Old 07-20-2004, 04:02 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yea, I don't think it will do anything. But, if the "modification" works on the other hack it will work with this hack.

Are you sure inktomi did not 'index' the showthread page? I recommend waiting for a few weeks to really "see" if the search engines are able to index showthread.

Without actually testing your modification I cannot 'see' what is wrong -- since, I do NOT think this modification is "safe" - I cannot be of much help to you.

However, I do wish you luck with your small modification.
Quote:
Originally Posted by 662C
I've tried this, just waiting for a bot to turn up although I'm not holding my breath.


Cheers,
Robert
Reply With Quote
  #79  
Old 07-30-2004, 07:07 PM
Ronso Rage Ronso Rage is offline
 
Join Date: Nov 2003
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just a small question, i am needing a hack to disallow people from viewing certain threads in a forum, not dependant on usergroup as they span across several usergroups and all will have certain threads they won't be allowed to see, so if i add a secondary usergroup to them and exclude this one, will it exclude them from seeing the thread (including admins and for the purposes of the game it is for a superadmin (myself, that is))
Reply With Quote
  #80  
Old 07-30-2004, 08:03 PM
wrongful wrongful is offline
 
Join Date: Apr 2003
Location: Atlanta, Georgia
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just curious:

I have about 16 usergroups and over thirty individual forums. Although I have the hack installed for a while now, I am still running into situations where I missed a usergroup permission to allow them to see thread content in a forum they are supposed to see.

What I need is a query to set all users to be able to see all content in all forums, and then from there I will go and set the permissions.
Reply With Quote
  #81  
Old 07-30-2004, 08:54 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ronso Rage
Just a small question, i am needing a hack to disallow people from viewing certain threads in a forum, not dependant on usergroup as they span across several usergroups and all will have certain threads they won't be allowed to see, so if i add a secondary usergroup to them and exclude this one, will it exclude them from seeing the thread (including admins and for the purposes of the game it is for a superadmin (myself, that is))
this hack is per forum/usergroup; not per thread

I believe there is a "Private Thread" hack
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 02:35 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.10072 seconds
  • Memory Usage 2,328KB
  • Queries Executed 27 (?)
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
  • (3)bbcode_code
  • (2)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
  • (1)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_postinfo_query
  • fetch_postinfo
  • 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