The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Allow Group to Read Titles / Not Content Details »» | |||||||||||||||||||||||||||
Allow Group to Read Titles / Not Content
Developer Last Online: Nov 2022
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:
MOD VERSION 1.05
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 ] // ================================================= \\ [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'])); } 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 ] // ================================================= \\ 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
|
Comments |
#2
|
||||
|
||||
Good to see proper use of bit fields
I'd just like to point out that quickly looking at this I can see three easy ways of getting around it: 1) Use print thread to view the entire thread without registering 2) use the archive to view the entire thread without registering 3) use threaded/hybrid mode if enabled. My apologies if any of the above 3 arn't true, but they all spring to mind after glancing at the code |
#3
|
||||
|
||||
Quote:
I have updated the file and instructions. The new version is v.1.2. I do not use nor do I have access to thread/hybrid. (I completely removed the templates from my site.) This will have to be tested by someone who uses these features. If anyone uses this hack can you confirm that it works? |
#4
|
||||
|
||||
What do we do if we have another hack installed already using that bit field? And can this be done on a per forum basis? There are a couple of forums I need left open for unregistered users to view the messages.
|
#5
|
||||
|
||||
multiply the last bitfield value by 2 ... another way to look at it is add up all the previous numbers.
this is an inclusion to the existing permission system ... yes, you can use on a per forum basis. (that's the whole idea) follow the direction on the file (last section) |
#6
|
||||
|
||||
Quote:
|
#7
|
||||
|
||||
To prevent thread/hybrid and linear all with one edit just place the showthread.php block of code above:
PHP Code:
@Boofo: I'd assume the limit is restricted by the upper limit that PHP can use on your platform (around 2147483647 for integers, no idea if it will work with floats as I haven't tested). |
#8
|
||||
|
||||
Quote:
I just added the threaded/hybrid mode back onto my site and everything is working. I like how the hybrid mode looks like ... maybe I'll leave it as an option for my members. |
#9
|
||||
|
||||
Quote:
|
#10
|
||||
|
||||
If a int is to big to be an int then it automatically becomes a float
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|