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

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
  #142  
Old 12-16-2004, 05:34 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
top of the first post
that doesn't make sense ...

NO post will be fetched if the user doesn't have permission. In other words, in showthread.php the user CANNOT see anything therefore the system will not fetch anything. The custom error message will show in it's place.

If you are still lost (OR, I am not understanding you correctly) please post a snapshot of how/where you want this message to display ... it will help both of us. I will then tell you if it's possible.
Reply With Quote
  #143  
Old 12-16-2004, 06:26 PM
Roxie's Avatar
Roxie Roxie is offline
 
Join Date: May 2002
Location: on vb.org
Posts: 526
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When you hover over a thread title, it gives a preview of the post. This is a wonderful feature for my members who have access, but sucks for those that aren't supposed to be able to read. I have it set to show the first 100 characters...this is why I would like that message to be at the top of all the posts in certain forums so that they will only see that when they preview. I hope this makes sense.
Reply With Quote
  #144  
Old 12-19-2004, 07:53 AM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Princeton

This hack works perfectly. Especially with the little code snippet that allows the user who posted the thread to view/edit their own post!

Also, the instructions were beyond easy. Thanks for taking the time to make it so easy.

Eric
Reply With Quote
  #145  
Old 12-19-2004, 01:02 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 Roxie
When you hover over a thread title, it gives a preview of the post. This is a wonderful feature for my members who have access, but sucks for those that aren't supposed to be able to read. I have it set to show the first 100 characters...this is why I would like that message to be at the top of all the posts in certain forums so that they will only see that when they preview. I hope this makes sense.
So instead of the NO PERMISSION TO READ MESSAGE, you want the first $vboptions[threadpreview] characters available on each post (in showthread.php) if user does not have permission.

It's doable but it will require more hacking and that's something that I want to prevent with this hack. FYI: The more hacking involved the more people will be afraid to implement it.

If that's not what you wanted please provide a screenshot of where you want this "message". Also, when you say "message" do you mean the preview or the error message?
Reply With Quote
  #146  
Old 12-19-2004, 05:09 PM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I had this hack running perfectly. Then I went into admincp and made some usergroup and forum permission changes and now NOBODY can view any forum. The permission error being generated is the gtp_cannot_read error.

So i replaced the hacked scripts with the originals that I got when i bought a license of vB. Everything worked fine then. So i re-installed this hack and i am back to the same problem. NOBODY has permission to view any threads. I have checked that "Group can read content?" has been set to Yes where necessary. I have checked all usergroup and forum permissions and i can't see where the problem is. I have re-installed the script twice!

http://eslhq.com/esl_forums

Please help, i am starting to panic...
eric
Reply With Quote
  #147  
Old 12-19-2004, 09:23 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oreamnos,
Under USERGROUP MANAGER set CAN READ to YES ... in FORUM PERMISSIONS MANAGER set CAN READ to NO for specific usergroup within a specific forum.

This will prevent usergroup from reading anything within that forum; but, will allow them to read content within other forums.

FYI
The USERGROUP MANAGER is used for GLOBAL settings (the entire site).
The FORUM PERMISSIONS MANAGER is used to modify usergroup settings withing a specific forum.
Reply With Quote
  #148  
Old 12-20-2004, 12:09 AM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Princeton,

still no luck. I went through my usergroups and set everyone CAN READ to yes. the i set everyone to NO except admins and on special usergroup on forum permissions.

Now the admin can view everything but the other usergroups are still unable to view any of the forums, even the public forums.

i am using the special code to allow the person who posted the thread the ability to view their thread.
PHP Code:
// ================================================= \\
 // == [ ALLOW GROUP TO READ TITLE / NOT CONTENT - GTP BEGIN ]
 
if (!($forumperms GTCANREADCONTENT) AND ($thread['postuserid'] != $bbuserinfo['userid']))
 {
     eval(
print_standard_error('gtp_cannot_read'));
 }
 
// == [ 00-00-2004 - GTP END ]
 // ================================================= \\ 
I have also tested using this $thread['postuserid'] and this $threadinfo['postuserid']. still no luck.

Here is an example of how my Registered Usergroup Permissions look (Note Can read content is the new permission category):
Can Post Threads
Yes
Can Reply to Own Threads
Yes
Can Reply to Others' Threads
Yes
Can Edit Own Posts
Yes
Can Delete Own Posts
No
Can Move Own Threads
No
Can Open / Close Own Threads
No
Can Delete Own Threads
No
Always Moderate This Group's Posts
No
Can Rate Threads
Yes
Can read content.
Yes

And here is the permissions for a public forum for Registered Users
Can Post Threads
Yes
Can Reply to Own Threads
Yes
Can Reply to Others' Threads
Yes
Always Moderate This Group's Posts
No
Can Upload Attachments
Yes
Can Rate Threads
Yes
Can read content.
Yes

Besides these 2 permission settings, are there others?

Thanks
Eric
Reply With Quote
  #149  
Old 12-20-2004, 12:11 AM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

EDIT
It seems the admin got permission for a few views and then received the Permission Denied message...
Reply With Quote
  #150  
Old 12-20-2004, 01:06 AM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Do you have any other hacks installed? If so... this is where your problem lies.

If you send me username/password (FTP) and username/password of site I will take a look at it. Send me info via my site's (www.gthelp.com) contact form -- do not post it here.
Reply With Quote
  #151  
Old 12-20-2004, 01:08 AM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will send you that information now. Thanks!
Reply With Quote
Reply

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 11:06 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.08298 seconds
  • Memory Usage 2,321KB
  • 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
  • (1)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
  • (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