Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases

 
 
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
  #82  
Old 07-30-2004, 09:32 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 wrongful
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.
try something like:
[USE AT OWN RISK - NOT TESTED ]
PHP Code:
$query "UPDATE " TABLE_PREFIX "user SET options = options - $_FORUMPERMISSIONS[gtpcanreadcontent] WHERE options & $_FORUMPERMISSIONS[gtpcanreadcontent]"
OR
PHP Code:
$query "UPDATE " TABLE_PREFIX "user SET options = options - $_FORUMPERMISSIONS[gtpcanreadcontent] WHERE NOT options & $_FORUMPERMISSIONS[gtpcanreadcontent]"
I'm not sure if it works.

I just took some code from /admincp
Reply With Quote
  #83  
Old 08-02-2004, 09:55 PM
nando415 nando415 is offline
 
Join Date: Aug 2003
Location: sf
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

good hack. thanks
Reply With Quote
  #84  
Old 08-18-2004, 04:06 AM
blubber12 blubber12 is offline
 
Join Date: Nov 2003
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
'canthreadrate' => 65536,
'isalwaysmoderated' => 131072,
'canseedelnotice' => 262144
// ================================================= \\
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
,'gtpcanreadcontent' => 524288 // VIEW THREAD
// == [ 00-00-2004 - GTP END ]
// ================================================= \\
);
This particular replacement in init.php caused a big problem for me...especially since my glasses are not as strong as they should be LOL. If you notice, you have the comma before the gpt code, not after the last number above. This kept giving me parse errors until I finally found the damn little thing LOL.
Reply With Quote
  #85  
Old 08-18-2004, 01:17 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm glad you got it to work.

The comments exist to
  1. give you an indication of where modifications have taken place.
  2. help when you are upgrading your vB files.
  3. easily search for modified code.
Reply With Quote
  #86  
Old 08-18-2004, 04:48 PM
blubber12 blubber12 is offline
 
Join Date: Nov 2003
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I didn't mean the comments, I meant the comma...in the wrong place
Reply With Quote
  #87  
Old 08-19-2004, 07:51 AM
lange's Avatar
lange lange is offline
 
Join Date: Apr 2003
Location: Montreal (Canada)
Posts: 282
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Working on 3.0.3. It's a great hack. Clicks install.

Thanks
Reply With Quote
  #88  
Old 09-15-2004, 01:45 AM
cinq's Avatar
cinq cinq is offline
 
Join Date: Oct 2002
Posts: 1,398
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Will this prevent spidering ?
Reply With Quote
  #89  
Old 09-15-2004, 02:06 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, It will prevent spidering of the contents of showthread.php.
It's part of the permission-based system so whoever you give "permission" to VIEW will have access to read contents.
Reply With Quote
  #90  
Old 09-26-2004, 05:00 AM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am still using 3.01. I installed, tested and it is working. There was a small discrepancy.

it says in usergroup.php to look for:

'canusesignature' => 1,
'cannegativerep' => 1,
'canuserep' => 1,


in my copy I am missing the last two above line and have

'canmodifyprofile' => 1, 'canthreadrate' => 1, 'canpostattachment' => 1, 'canpostpoll' => 1, 'canvote' => 1, 'canwhosonline' => 1, 'allowhidden' => 1, 'showeditedby' => 1, canseeprofilepic' => 1,
'canusesignature' => 1,


so I placed the line below right after and it works.

// ================================================= \\
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
'gtpcanreadcontent' => 1
// == [ 00-00-2004 - GTP END ]
// ================================================= \\


Now I tried to install the vbookie hack which instructs to place
like below (which is the same as in my version)


'canmodifyprofile' => 1, 'canthreadrate' => 1, 'canpostattachment' => 1,
'canpostpoll' => 1, 'canvote' => 1, 'canwhosonline' => 1,

// +++ vBookie
'canpostvbookieevent' => 1, 'caneditothersvbookieevents' => 1, 'canbet' => 1,
// --- vBookie


so the whole thing looks like that

// set default yes permissions (bitfields)
$ug_bitfield = array(
'showgroup' => 1, 'canview' => 1, 'canviewmembers' => 1,
'canviewothers' => 1, 'cagetattachment' => 1, 'cansearch' => 1,
'canmodifyprofile' => 1, 'canthreadrate' => 1, 'canpostattachment' => 1,
'canpostpoll' => 1, 'canvote' => 1, 'canwhosonline' => 1,

// +++ vBookie
'canpostvbookieevent' => 1, 'caneditothersvbookieevents' => 1, 'canbet' => 1,
// --- vBookie
'allowhidden' => 1, 'showeditedby' => 1, 'canseeprofilepic' => 1,
'canusesignature' => 1,
// ================================================= \\
// == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
'gtpcanreadcontent' => 1
// == [ 00-00-2004 - GTP END ]
// ================================================= \\
);


After I did, the two hacks started to interfere with each other, not responding to the selected radio buttons, disabling each other randomly.

Please, do you have the version 3.01 for usergroup.php?
I also posted the complete line in vbookie forum.
https://vborg.vbsupport.ru/showthrea...044#post556044

Help!
Reply With Quote
  #91  
Old 09-26-2004, 02:13 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looks like I got it. It was a matter of both using the same bitfield. I simply doubled the Allowed Hack bitfield. At least the permissions are holding.
Reply With Quote
 

Thread Tools

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 08:12 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.04658 seconds
  • Memory Usage 2,315KB
  • 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
  • (3)bbcode_code
  • (2)bbcode_php
  • (2)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_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