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
Disallow guests to view threads, must register first Details »»
Disallow guests to view threads, must register first
Version: 1.00, by Gary King Gary King is offline
Developer Last Online: Jun 2020 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 01-06-2004 Last Update: Never Installs: 89
 
No support by the author.

Yes I know that there is already a a feature to stop guests from viewing threads, but then this also shows all the posts and threads counters to zero, and under Last Post it will say never (which sucks ). But, with my hack, it just asks guests to either login or register when viewing a thread and still shows all the right numbers

Instructions

Open archive/index.php and find
PHP Code:
    $title .= ' - ' $foruminfo['title'];
}
else
{
    
$do 'index';

Below, add
PHP Code:
if ($bbuserinfo['userid'] == AND !preg_match("#(google|slurp@inktomi|yahoo! slurp)#si"$_SERVER['HTTP_USER_AGENT'])) 

    
print_no_permission(); 

Open showthread.php and find
PHP Code:
globalize($_REQUEST, array('perpage' => INT'pagenumber''highlight' => STR'goto')); 
Below, add:
PHP Code:
if ($bbuserinfo['userid'] == AND !preg_match("#(google|slurp@inktomi|yahoo! slurp)#si"$_SERVER['HTTP_USER_AGENT']))
{
    
print_no_permission();

Open template threadbit and find:
PHP Code:
<td class="alt1Active" id="t$thread[threadid]title="$thread[preview]"
Replace it with
PHP Code:
<td class="alt1Active" id="t$thread[threadid]<if condition="$show['member']">title="$thread[preview]"</if>> 
Done!

Show Your Support

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

Comments
  #137  
Old 09-02-2004, 04:21 PM
Onkel_Tom's Avatar
Onkel_Tom Onkel_Tom is offline
 
Join Date: Mar 2002
Location: Stuttgart- Germany
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DarknessDivine
Will this also work with 3.0.1???
Why not ?
$bbuserinfo, $usergroupid and print_no_permission() is the same for vB3 in all Versions right now.
Reply With Quote
  #138  
Old 09-02-2004, 04:35 PM
emtee emtee is offline
 
Join Date: Aug 2004
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Onkel Tom,

Does it work with 3.0.3 ? I have tried Gary W's code but unfortunately it works for all usergroups (don't know why???) not just guest/not logged in, so if you could post the instruction from scratch for all the files, it would really help me. I think I'm in the same boat with IndyWebDesign.

Quote:
Originally Posted by IndyWebDesign
Well the above worked great to tell a guest they needed to login but when I'm logged in even as an admin I get the error:

You do not have permission to access this page. This could be due to one of several reasons:

Your user account may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Thanks.
Reply With Quote
  #139  
Old 09-02-2004, 09:06 PM
Onkel_Tom's Avatar
Onkel_Tom Onkel_Tom is offline
 
Join Date: Mar 2002
Location: Stuttgart- Germany
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by emtee
Hi Onkel Tom,
Does it work with 3.0.3 ? I have tried Gary W's code but unfortunately it works for all usergroups (don't know why???) not just guest/not logged in, so if you could post the instruction from scratch for all the files, it would really help me. I think I'm in the same boat with IndyWebDesign.
Thanks.
As I wrote one post before my code is working for all vB 3 Versions right now. I using vB3.0.3 on my Boards too and it works.

Your find the instruction of the Hack in the first post. I only changed some parts for better fitting on my own wishes, so I posted my code which is working for the most recent search engines.

This code can be placed in /archive/index.php to allow search engines which are written in the code to index this pages.

If you want to use my code instead of Gary W's code for the archive just replace in /archive/index.php:
Code:
if ($bbuserinfo['userid'] == 0 AND !preg_match("#(google|slurp@inktomi|yahoo! slurp)#si", $_SERVER['HTTP_USER_AGENT'])) 
{ 
    print_no_permission(); 
}
With my code:
Code:
$grouparray = array ( 3,4); 
if (in_array($bbuserinfo['usergroupid'],$grouparray) OR $bbuserinfo['userid'] == 0 AND !preg_match("#(google|slurp@inktomi|yahoo! slurp|lycos|ask jeeves|scooter|fast-webcrawler|turntinbot|msnbot|webcrawler|Infoseek|W3C_Val|googlebot)#si", $_SERVER['HTTP_USER_AGENT']))
{ 
	  echo "<center><font face=verdana, arial, helvetica size=3>You are not allowed to show our archive.<br><br>Your have to <a href=\"$vboptions[bburl]/register.php?\">register</a> first at $vboptions[bbtitle] to show threads in our forums.<br><br>If you are registered at our forum it could be that you are not logged in our your account must first be checked and enabled from an Administrator.</font></center>\n<hr />\n";
	 
    print_no_permission(); 
}
You can add or remove search engines by editing this line:
Code:
!preg_match("#(google|slurp@inktomi|yahoo! slurp|lycos|ask jeeves|scooter|fast-webcrawler|turntinbot|msnbot|webcrawler|Infoseek|W3C_Val|googlebot)#si",
for each new spider add his user agent identification to the line with a "|" between like "spider1|spider2|spider3"

The echo syntax is only for index.php of archive because if you use this code and a unauthorised person will access the archive only a white page is shown. Therefore I added the echo information to the screen to show "what is wrong".

I used the "$grouparray = array ( 3,4); " function to define my usergroups which are not allowed to access the archive. You can put here any usergroup ID you want not to access your archive separated by ",". Usergroup 8 and 11 are defined groups from my board, just remove that both group ID's.

I hope I could help and the instructions are easy to understand
Reply With Quote
  #140  
Old 09-02-2004, 10:01 PM
emtee emtee is offline
 
Join Date: Aug 2004
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very cool, I will try this. Thanks a lot man!!!
Reply With Quote
  #141  
Old 09-03-2004, 02:23 PM
DarknessDivine DarknessDivine is offline
 
Join Date: May 2004
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Tried it, looks great! Many thanks to you....
Reply With Quote
  #142  
Old 09-16-2004, 09:07 PM
DoKoK DoKoK is offline
 
Join Date: Sep 2004
Posts: 36
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great job,

Install
Reply With Quote
  #143  
Old 09-17-2004, 01:43 AM
DoKoK DoKoK is offline
 
Join Date: Sep 2004
Posts: 36
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I read a few pages of this topic and I don't see my question answered.

It might be in the other pages but anyway here it is:

Is there a way to let my guests see the News forum topics and not be able to open the others?
Reply With Quote
  #144  
Old 09-17-2004, 03:31 AM
PAINTBALLM's Avatar
PAINTBALLM PAINTBALLM is offline
 
Join Date: Oct 2003
Location: Orlando, FL
Posts: 126
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

installed
Reply With Quote
  #145  
Old 11-12-2004, 02:32 PM
nonet nonet is offline
 
Join Date: Jul 2004
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been playing around with this hack and MAY have come up with a forumula to allow spiders to still view threads while denying permission to guest. I am not a coder by trade so please check this code out and see if it works for you. I've been running it about 3-4 hours and it seems spider friendly on my site.

There are three files to change and one file to upload.

archive/index.php
includes/functions.php
showthread.php

Upload this file and place in your forum root directory and the archive directory.
spiders.txt



Open archive/index.php and find:
Code:
$title .= ' - ' . $foruminfo['title'];
}
else
{
$do = 'index';
}
Below, add:
Code:
if (restrict_guest($bbuserinfo['userid']))
{
print_no_permission();
}
Open showthread.php and find:
Code:
globalize($_REQUEST, array('perpage' => INT, 'pagenumber', 'highlight'
=> STR, 'goto'));
Below, add:
Code:
if (restrict_guest($bbuserinfo['userid']))
{
print_no_permission();
}
In the same file find the lines:
Code:
if ($bbuserinfo['userid'] == 0 or $bbuserinfo['usergroupid'] == 3)
{
print_no_permission();
}
And replace them with:
Code:
if ($bbuserinfo['userid'] == 0 or $bbuserinfo['usergroupid'] == 3 and
!$spider_flag) 

{

print_no_permission();

}
In the same file find the lines:
Code:
if (!($forumperms & CANVIEWOTHERS) AND ($thread['postuserid'] !=
$bbuserinfo['userid'] OR $bbuserinfo['userid'] == 0)) {
print_no_permission();
}
And replace them with:
Code:
if (!($forumperms & CANVIEWOTHERS) AND ($thread['postuserid'] !=
$bbuserinfo['userid'] OR ($bbuserinfo['userid'] == 0 AND
!$spider_flag))) {
print_no_permission();
}
Open functions.php and at the end before
Code:
?>
Add:
Code:
function restrict_guest($user_id)
{

global $_SERVER, $spider_flag;

$user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);

$spider_flag = false;

if ($user_agent != "")

{

$spiders = file('./spiders.txt');

for ($i=0, $n=sizeof($spiders); $i<$n; $i++)

{

if (!empty($spiders[$i]))

{

if (is_integer(strpos($user_agent,

trim($spiders[$i]))))

                                {

                                      $spider_flag = true;

                                       break;

                               }

                       }

               }

       }



       if ($user_id == 0 AND !$spider_flag)

       {

                return true;

        }

       return false;

}
DONE!
Reply With Quote
  #146  
Old 11-30-2004, 12:38 PM
dorkus dorkus is offline
 
Join Date: Nov 2004
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Gary.
Reply With Quote
  #147  
Old 12-13-2004, 07:40 AM
cschuck3 cschuck3 is offline
 
Join Date: Sep 2004
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yea I needed this, I was waiting for this!!
Reply With Quote
  #148  
Old 12-14-2004, 09:27 AM
Neutral Singh's Avatar
Neutral Singh Neutral Singh is offline
 
Join Date: Sep 2004
Location: Sikh Philosophy Network
Posts: 545
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cschuck3
Yea I needed this, I was waiting for this!!
Hi

I have installed this hack with gr8 results... my only problem is that i have a links partner section on the main forum itself... now what is happening is that when these link partners try to periodically locate their links in the forum they get the access denied message and they remove my links from their website.

Just as we did with archive section... Can we also exclude a selected forum from being affected by this hack. i mean that single particular forum should available as usual to anyone and everyone without any restriction.

Please guide me otherwise i am left with no option but to compromise on this hack.

Regards
Reply With Quote
  #149  
Old 12-19-2004, 01:15 AM
Sleepyk Sleepyk is offline
 
Join Date: Dec 2004
Location: CT
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

before i install this, does it work with vb 3.0.3?
Reply With Quote
  #150  
Old 12-19-2004, 05:21 AM
bamaster bamaster is offline
 
Join Date: Dec 2004
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Sleepyk
before i install this, does it work with vb 3.0.3?

Works on mine!

See here, for a protected forum:
http://www.allbowling.com/forum/forumdisplay.php?f=11
Reply With Quote
  #151  
Old 12-19-2004, 05:59 AM
Oreamnos's Avatar
Oreamnos Oreamnos is offline
 
Join Date: Dec 2004
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bamaster
Works on mine!

See here, for a protected forum:
http://www.allbowling.com/forum/forumdisplay.php?f=11
BTW, who has access to this forum on your site? all registered users? special usergroups? admins?

I am just about to install this and just wanted to check what you were doing.
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 01:14 PM.


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.05556 seconds
  • Memory Usage 2,392KB
  • Queries Executed 30 (?)
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
  • (13)bbcode_code
  • (6)bbcode_php
  • (6)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
  • (16)post_thanks_box
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (16)postbit_onlinestatus
  • (16)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