Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Simple vB User login and access control on non vB pages Details »»
Simple vB User login and access control on non vB pages
Version: 1.10, by Billspaintball Billspaintball is offline
Developer Last Online: Nov 2011 Show Printable Version Email this Page

Category: Integration with vBulletin - Version: 3.6.5 Rating:
Released: 12-01-2006 Last Update: 04-23-2007 Installs: 197
Additional Files  
No support by the author.

Hack Description

This is a cutdown version of the user authentication and access control system I use on the non vB pages on my website.

This uses the vB 3.6 login system to log you in and out. It allows you to move between your forums and other pages on your site while remaining logged in.

It allows you to do things such as restrict pages by usergroup, display different content depending on a user being logged in or not.
For example, you can have banner Adds displying to non members only, and/or let members access to specific content.

Ive cut it down to the bare minimum that it needs to work, no fancy stuff such as avatars, PM's, or even formating.

I will try and offer support, but work and family commitments mean I dont have much free time.

This code is a mix of my own, and pieces I have used from other hacks that are floating around.

This script has been confirmed as working on
  • vB 3.6
  • vB 3.6.1
  • vB 3.6.2
  • vB 3.6.3
  • vB 3.6.4
  • vB 3.6.5


Changelog

Version 1.10 (24th April 2007)
  • Fixed - // in paths bug
  • Fixed - Javascript warning in some browsers
  • Fixed - Tidied up some code

Version 1.0 (2nd December 2006)
  • Very similar to my vB 3.5 version, however logout bug fixed and should be more compatible with other scripts on your page.



Click on Install
If you have this script installed then please click on the install link because;
  • You will get notified if any security issues are reported.
  • You will get notified when there are any upgrades to this script
  • It gives me a warm fuzzy feeling and motivates me to develop more

Donations
First of all, to be clear. This script is 100% free.

However if you feel an urge to donate I'm not going to say no.
Donations can be made at http://www.billspaintball.com/vb3/bd_donate.php

Show Your Support

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

Comments
  #72  
Old 03-21-2007, 09:17 PM
jags2ooo jags2ooo is offline
 
Join Date: Jan 2002
Location: New York
Posts: 92
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

having a problem, im using this addon

I'm not a PHP PRO ---




but now i can not use simple dynamic include urls (www.site.com?page=Staff)

<?php
$page = $_GET['page'];
if (!empty($page)) {
$page .= '.php';
i
else {
include('news.html');
}
?>


when i delete global.php from require it works fine >< does anyone have any ideas?

Thanks.
Reply With Quote
  #73  
Old 03-21-2007, 10:45 PM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jags2ooo View Post
having a problem, im using this addon

I'm not a PHP PRO ---




but now i can not use simple dynamic include urls (www.site.com?page=Staff)


when i delete global.php from require it works fine >< does anyone have any ideas?

Thanks.
Global.php may redefine $page.
Im not sure if $page is a vB variable or not.

If possible try renaming your variable to something different such as mypage and see if that fixes it.
Reply With Quote
  #74  
Old 03-21-2007, 10:46 PM
jags2ooo jags2ooo is offline
 
Join Date: Jan 2002
Location: New York
Posts: 92
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Billspaintball View Post
Global.php may redefine $page.
Im not sure if $page is a vB variable or not.

If possible try renaming your variable to something different such as mypage and see if that fixes it.
I tried alot of random names like , "exile, happy, thispage,content, con etc etc" thats not the case. I guess its something to do with global.php . I hope someone can figure out a way around this if not im screwed
Reply With Quote
  #75  
Old 03-22-2007, 11:29 PM
jeramie78 jeramie78 is offline
 
Join Date: Feb 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok i got a problem when im logged in to the forum everything works find but when im not logged in i get this error on my homepage.

Unable to add cookies, header already sent.
File: /home/gamer/public_html/index.php
Line: 11

this file is a encoded script by the author so i am lost. why does it give me this error only when im not logged in?
Reply With Quote
  #76  
Old 03-25-2007, 11:25 PM
jeramie78 jeramie78 is offline
 
Join Date: Feb 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok i fixed the last issue now im having another issue when i try to login i get this in my Address bar and it doesnt log me in

http://www.gamersiege.com/index.php?...5password_utf=

changed personal info for apparent reasons

Fixed that had a open form on the page

now im getting the infamous

Fatal error: Call to a member function on a non-object
on line 150

ok before i get the normal response i have tried everything as requested.
http://gamersiege.com
Reply With Quote
  #77  
Old 03-26-2007, 05:03 AM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you post the code for your login_inc.php file.
Reply With Quote
  #78  
Old 03-26-2007, 09:40 PM
jeramie78 jeramie78 is offline
 
Join Date: Feb 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
<?php
// Edit the lines below to show path to your forums
$forumpath "http://www.gamersiege.com/forums/";

// Set the maximum display size for the avatar
$maxw 100// Max thumbnail width
$maxh 100// Max thumbnail height

// ++++++++++++++++++++++++++++++++++
// Deluxe vB User login and access control on non vB pages
// Version 2.10 - June 4 2006
// By Bill  bill@billspaintball.com
// ++++++++++++++++++++++++++++++++++


// ++++++++++++++++++++++++++++++++++
// You dont have to edit anything underneath here,
// but you can if you wish to style the login box
// to match the style of your site.
// ++++++++++++++++++++++++++++++++++



// We check if user is logged in
if ($vbulletin->userinfo['userid']!=0) {


// ++++++++++++++++++++++++++++++++++
// display avatar - resize if too big
// ++++++++++++++++++++++++++++++++++

$userid=$vbulletin->userinfo['userid'];
$file $forumpath."/image.php?u=$userid";
list(
$width$height$type) = getimagesize($file);

if ( 
$width <= $maxw AND $height <= $maxh )// check width and height
   
{// if width and height under size display unchanged
       
echo "<img src=\"$file.$type\" align=\"center\" border=\"0\">";
   }
   else 
   {  
    if (
$width $maxw)//check if width is too wide
        
// if it is, resize
        
$ratio $width $maxw//work out resize ratio
        
$newwidth $maxw// new width
        
$newheight = ($height $ratio); // new height at this resize
        
}
        else
        {
        
$newheight $height// if width is ok, set this cos we need it later
        
$newwidth $width// if width was ok, set this cos we ned it later
        
}
    If (
$newheight <= $maxh )        
        {
        
// if current height is ok, were done.
        

        
        else 
// either origional or resized height is too big
            
if( $newheight >= $maxh )
            { 
// if resized height is still too big we resize it
            
$ratio2 $newheight $maxh//work out resize ratio
            
$newheight $maxh// give $newheight a new value
            
$newwidth = ($newwidth $ratio2); // new width at this resize
            
// the value of $newwidth has just been changed
            
else
            {
// if were here then origional height is too big so we resize it
            
$ratio2 $newheight $maxh//work out resize ratio
            
$newheight $maxh// give $newheight a new value
            
$newwidth = ($newwidth $ratio2); // new width at this resize
            
}

        
// now we can finally display resized pic
        
echo "<img src=\"$file.$type\" border=\"0\" width = \"$newwidth\" height = \"$newheight\" align=\"center\">"// display resized pic
   
}
// +++++++++++++++++++++++  
// end avatar display code
// +++++++++++++++++++++++ 


// +++++++++++++++++++++++++++++++++++++++++
// As Logged in display welcome back message
// +++++++++++++++++++++++++++++++++++++++++
echo "Welcome Back, <b>";
echo 
$vbulletin->userinfo['username'];
echo 
" !</b><br>";

// As were logged in display logout link
echo "<a href=\"".$forumpath."login.php?$session[sessionurl]do=logout&amp;logouthash=$logouthash";
echo 
$vbulletin->userinfo['logouthash'];
echo 
"\">";
echo 
"<font size=\"1\" face=\"verdana\">Log Out</font></a><br>";

// Display last visit time and date
echo "You last visited: $pmbox[lastvisitdate] at $pmbox[lastvisittime]";
echo 
"<br>";

// Display PM Details and generate link to PM box
echo "<a href=\"".$forumpath."private.php?$session[sessionurl] \">Private Messages: </a> $vbphrase[unread_x_nav_compiled] $vbphrase[total_x_nav_compiled]";
echo 
"<br>";

} else { 



// ++++++++++++++++++++++++++++++++++++++++++
// If user is not logged in, we do this stuff
// ++++++++++++++++++++++++++++++++++++++++++

// Display text and link to register.
echo "
    You have to <a href=\""
.$forumpath."/register.php?s=$session[sessionhash]\"
    target=\"_parent\"><b>register</b></a>  before you can post on our forums or use our advanced features.
    "
;

// Display login boxes + button
// You can style this with html or CSS as normal if desired.
echo"</form></form>
    <form action=\""
.$forumpath."/login.php\" method=post onsubmit=md5hash(vb_login_password,vb_login_md5password,vb_login_md5password_utf)>
    <script type=text/javascript src=\""
.$forumpath."/clientscript/vbulletin_md5.js\"></script>
    User Name:<br>
    <input name=vb_login_username type=text id=navbar_username size=10 />
            
    <br>Password:<br>
    <input name=vb_login_password type=password size=10 />
    </br>
        
    <label for=cb_cookieuser_navbar><input name=cookieuser type=checkbox id=cb_cookieuser_navbar value=1 checked=checked />
    Remember Me?<br /></label>
    
        
    <input type=submit title=
$vbphrase[enter_username_to_login_or_register] value=\"Log In\" />
        
    <input type=hidden name=s value=
$session[sessionhash] />
    <input type=hidden name=do value=login />        
    <input type=hidden name=vb_login_md5password />
    <input type=hidden name=vb_login_md5password_utf />

    </form>
"
;
// +++++++++++++++++++++++++++++++++++++++ 
// End of login box for non logged in user
// +++++++++++++++++++++++++++++++++++++++
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++
// we want do display stats either way so they go here
// +++++++++++++++++++++++++++++++++++++++++++++++++++

// get total number of threads and posts
$getstats $db->query_read('SELECT threadcount, replycount FROM ' TABLE_PREFIX 'forum');
while (
$forum $db->fetch_array($getstats))
{
    
$totthreads += $forum['threadcount'];
    
$totposts += $forum['replycount'];
}
$totthreads vb_number_format($totthreads);
$totposts vb_number_format($totposts);

// display total threads and total posts - Uses vB phrases, but change if you like
echo"<br /> $vbphrase[threads]$totthreads<br />$vbphrase[posts]$totposts<br /> ";

// Only display link and number of new posts if logged in
if ($vbulletin->userinfo['userid']!=0) {

// finds number of new posts
$newposts $db->query_first("SELECT COUNT(*) AS count FROM " TABLE_PREFIX "post AS post " iif($vbulletin->options['threadmarking'], 'LEFT JOIN ' TABLE_PREFIX 'threadread AS threadread ON (threadread.threadid = post.threadid AND threadread.userid = ' $vbulletin->userinfo['userid'] . ')') . " WHERE dateline >= " $vbulletin->userinfo['lastvisit'] . iif($vbulletin->options['threadmarking'], ' AND dateline > IF(threadread.readtime IS NULL, ' . (TIMENOW - ($vbulletin->options['markinglimit'] * 86400)) . ', threadread.readtime)'));
$newposts vb_number_format($newposts['count']);

echo
"<a href=\"".$forumpath."search.php?$session[sessionurl]do=getnew\">$vbphrase[new_posts]</a>: $newposts<br />";}
//  end of number of new posts stuff
?>
Just realized im using the deluxe version but it still a real error
Reply With Quote
  #79  
Old 03-26-2007, 11:51 PM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looks like you have it all fixed now.
I created an account on your forums and logged in and out ok.
What was the problem in the end?

Account I created was billtest, you may want to delete it now.
Reply With Quote
  #80  
Old 03-26-2007, 11:54 PM
jeramie78 jeramie78 is offline
 
Join Date: Feb 2007
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I removed this part of the code
which i really wanted to use. and wish i could still use
PHP Code:
// +++++++++++++++++++++++++++++++++++++++++++++++++++
// we want do display stats either way so they go here
// +++++++++++++++++++++++++++++++++++++++++++++++++++

// get total number of threads and posts
$getstats $db->query_read('SELECT threadcount, replycount FROM ' TABLE_PREFIX 'forum');
while (
$forum $db->fetch_array($getstats))
{
    
$totthreads += $forum['threadcount'];
    
$totposts += $forum['replycount'];
}
$totthreads vb_number_format($totthreads);
$totposts vb_number_format($totposts);

// display total threads and total posts - Uses vB phrases, but change if you like
echo"<br /> $vbphrase[threads]$totthreads<br />$vbphrase[posts]$totposts<br /> ";

// Only display link and number of new posts if logged in
if ($vbulletin->userinfo['userid']!=0) {

// finds number of new posts
$newposts $db->query_first("SELECT COUNT(*) AS count FROM " TABLE_PREFIX "post AS post " iif($vbulletin->options['threadmarking'], 'LEFT JOIN ' TABLE_PREFIX 'threadread AS threadread ON (threadread.threadid = post.threadid AND threadread.userid = ' $vbulletin->userinfo['userid'] . ')') . " WHERE dateline >= " $vbulletin->userinfo['lastvisit'] . iif($vbulletin->options['threadmarking'], ' AND dateline > IF(threadread.readtime IS NULL, ' . (TIMENOW - ($vbulletin->options['markinglimit'] * 86400)) . ', threadread.readtime)'));
$newposts vb_number_format($newposts['count']);

echo
"<a href=\"".$forumpath."search.php?$session[sessionurl]do=getnew\">$vbphrase[new_posts]</a>: $newposts<br />";}
//  end of number of new posts stuff 
also it doesnt show the avatars when signed in
im using 3.6.5
Reply With Quote
  #81  
Old 03-27-2007, 03:42 AM
akulion's Avatar
akulion akulion is offline
 
Join Date: Nov 2005
Location: Canada
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

good stuff

Tagged for future use
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 11:48 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.06187 seconds
  • Memory Usage 2,395KB
  • 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
  • (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