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
  #122  
Old 12-16-2004, 12:34 AM
Omega Prime's Avatar
Omega Prime Omega Prime is offline
 
Join Date: Sep 2002
Location: ::Infinity::
Posts: 169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by princeton
huh??
I'm having a hard time grasping what you are trying to say.
Can you provide a url to your site; the forum in question, etc??

This hack will display showthread content if a user has permission. It has nothing to do with forumdisplay.php 'titles'.
threads = forumdisplay.php (title will show to everyone)
content = showthread.php (will show only if user has permission)


Have you copied any code from previous posts? If so, please reinstall without any changes.
I haven't used any additional coding other than what's in the instructions. What I've been trying to say is that I'm trying to do what this hack is supposed to allow ("window shopping") in certain forums, yet the forums which I'd like to disallow showthread viewing still show the content even when I change "can view content?" to no.
Reply With Quote
  #123  
Old 12-16-2004, 01:02 AM
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 Omega Prime
I haven't used any additional coding other than what's in the instructions. What I've been trying to say is that I'm trying to do what this hack is supposed to allow ("window shopping") in certain forums, yet the forums which I'd like to disallow showthread viewing still show the content even when I change "can view content?" to no.
please provide me with a url and the forum in question
Reply With Quote
  #124  
Old 12-16-2004, 07:25 AM
Roxie's Avatar
Roxie Roxie is offline
 
Join Date: May 2002
Location: on vb.org
Posts: 526
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a way to add a message into the beginning of all threads created in certain forums to prevent message previewing?

For instance, when guests view my premium forums they can do a message preview. I would like for a message to be attached at the top of the first post of all threads created in that forum. Ex: This message was posted in a premium forum and contains private information. Sharing this message with non-premium members violates our terms of service.
And then the message would continue.

That way, guest previewing would only see the standard message and not the real one.

Make sense? Possible?
Reply With Quote
  #125  
Old 12-16-2004, 07:53 AM
cinq's Avatar
cinq cinq is offline
 
Join Date: Oct 2002
Posts: 1,398
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok just installed this but I think the instructions are not very clear.
The file edits went fine, I am refering to the last bit ( all can be done in Admincp bit )

2 things :

Firstly. for the custom no permission error, perhaps you should mention changing the phrase
gtp_cannot_read to suit your personal needs.

Secondly, for this section :
Code:
Upon completion, you must set this option to "Yes" for each USERGROUP that exists. (This will allow everyone to view contents of showthread.php.)

You must update each existing usergroup for this to take effect or they will not be able to see showthread.php

   1. Enter "USERGROUPS/USERGROUP MANAGER" found in vB Control Panel
   2. Edit each group - check YES on "Group can read content?"
   3. Update each group by pressing the UPDATE button found at the bottom.
Setting every usergroup's 'Group can read content' setting to YES basically makes everything readable ain't it ?
Perhaps you should mention, set this setting to NO if you do not want that particular usergroup access to read the content in all the forums ?

Just off the top of my head, unless I failed to understand this hack properly.
Reply With Quote
  #126  
Old 12-16-2004, 11:09 AM
cinq's Avatar
cinq cinq is offline
 
Join Date: Oct 2002
Posts: 1,398
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm now I am confused again, are we supposed to set the forum permission bit AS WELL ?

Some of my registered members are reporting getting the error ( despite setting in the usergroup permissions for registered users to allow them to see the content ).

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

Your'e assuming that people need a helping hand every step ...
I'm assuming that people will know what to do (even if they take an educated guess).

I like your suggestion so I will change the instructions as followed:
Code:
Upon completion, you must set your desired setting for each USERGROUP that exists. 
 "YES"--will allow users to view contents of showthread.php.
 "NO"--will  NOT allow users to view contents of showthread.php.
 
 You must update each existing usergroup for this to take effect or they will not be able to see showthread.php
 
    1. Enter "USERGROUPS/USERGROUP MANAGER" found in vB Control Panel
 2. Edit each group - check YES on "Group can read content?" to allow members to view content;  check NO to NOT ALLOW members to view content.
    3. Update each group by pressing the UPDATE button found at the bottom.
Reply With Quote
  #128  
Old 12-16-2004, 11:32 AM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here's an example of how this 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
Reply With Quote
  #129  
Old 12-16-2004, 11:41 AM
cinq's Avatar
cinq cinq is offline
 
Join Date: Oct 2002
Posts: 1,398
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So if on my boards, I want ALL the forums and subforums contents to be viewable only to registered members, all I have to do is just set the Usergroup manager setting for registered - YES

and do not have to do anything in forum permissions manager.

Correct ?

Sorry for sounding stupid princeton, I appreciate your help
Reply With Quote
  #130  
Old 12-16-2004, 11:45 AM
cinq's Avatar
cinq cinq is offline
 
Join Date: Oct 2002
Posts: 1,398
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm, not too sure if this is a bug or not, but in forums where you cannot post REPLIES, this hack stops anyone from viewing the content, regardless if the usergroup has been set to YES.

Could you check this ?
Reply With Quote
  #131  
Old 12-16-2004, 11:49 AM
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 cinq
So if on my boards, I want ALL the forums and subforums contents to be viewable only to registered members, all I have to do is just set the Usergroup manager setting for registered - YES

and do not have to do anything in forum permissions manager.

Correct ?

Sorry for sounding stupid princeton, I appreciate your help
if everything is done correctly YES that is all you would need to do

i think ... sorry, it's been a while since I released this 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 09:22 AM.


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.09147 seconds
  • Memory Usage 2,324KB
  • 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
  • (5)bbcode_code
  • (3)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
  • (2)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