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

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

Version: 3.5.8 Rating:
Released: 02-14-2006 Last Update: 04-23-2007 Installs: 223
Additional Files  
No support by the author.

Hack Description

This is the deluxe version of the user authentication and access control system I use on the non vB pages on my website.
For the simple no frills version look here.

This uses the vB 3.5 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.

It also displays the logged in users Avatar, number of unread PM's, New posts since last visit, total posts and total threads.
It also allows you to specify a maximum Avatar size, and resize any avatars larger than that, while keeping their height/width ratios in proportion!
Its very handy if you allow large avatars, but want a small format display on your non forum pages.

If the user is not logged in, a login box is displayed, along with total posts and total threads in the forums.

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 is a work in progress and currently a beta version. It was a little rushed as a few people were pushing for it Its missing a couple of planned things like newest member etc, but they will be added in a later version.

This script has been confirmed as working on
  • vB 3.5.x - All Versions
  • vB 3.6.x - All Versions

Known Bugs
Will not display Avatars correctly if they are kept in the file system (database avatars are fine)

Changelog

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

Version 2.10 (4th June 2006)
  • Fixed - "MySQL Error : Invalid SQL " when using Database thread/forum marking.
  • Fixed - Javascrip error in some versions of IE.

Version 2.00 (16th April 2006)
  • Fixed - "MySQL Error : Unknown column 'newposts' in 'field list' "
  • Fixed - Number of PM's not displaying in all installs.
  • Added - Displays date and time of last login.
  • Added - Total number of saved PM's.
To upgrade just overwrite the existing login_inc.php file with the new one.
You will need to re-edit the path on line 3 and also redo any formatting changes you may have done for the last version.

Version 1.0 (15th Feb 2006)
  • Initial Release


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
  #292  
Old 03-21-2007, 10:48 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 Chicago_VLNU_4s View Post
no help huh?
Its the configuration of your new server.
You will need to speak to your host and get them to fix it, or delete the display avatar section of the code.
Reply With Quote
  #293  
Old 03-21-2007, 10:52 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 erinys View Post
Ouch, yes that is a problem

ok i checked in the phpmyadmin, and for the table "users" there is a row wich is called "passworddate" This row has the date it happend for me, and last changed it, so my guess is that if you set that date to a couple years backwards, the forum should set you expired password.

else might wanna check with the guys on vbulletin.com

thanks!
I will have a look with phpMyAdmin at the users table when I get home.
I may be able to replicate it by changing that date and go from there.
Reply With Quote
  #294  
Old 04-01-2007, 11:01 AM
erinys erinys is offline
 
Join Date: Mar 2006
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi bill,

Sorry, i have deactivated this addon for now when you buy something in vbplaza and it expires (like a sticky topic) this addon also makes the whole site go 404

Something is up with the way it handles something when it "expires", and when it does it breaks every single page on the site where this module is loaded

im running 3.6.4 btw, can that be the problem? this works fine on 3.6.4 right?
Reply With Quote
  #295  
Old 04-01-2007, 07:18 PM
RoutineX RoutineX is offline
 
Join Date: Mar 2006
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi.

Just a couple of questions:

1) I debugged while running the script, and I can't really see that $session[sessionhash] and $session[sessionurl] is used.

2) I'm not 100% sure how this works when it comes to performance, but when I debugged and looked at the available variables from the global.php there were a huge amount of vars and arrays that isnt needed at all.

Wouldn't it be best to only create objects of the things we really need (i.eg create the db object and get the $vbulletin[userinfo] array). If you i.eg look at $vbulletin['forumcache'] alone, it has over 408 arrays (depending on number of forums you have created) with 25 values each. Other unnecessary things are $header, headinclude, footer, etc etc.

Wouldn't this cause a higher load if this is processed everytime a page is viewed?

3) After doing this, my second DB object won't retrieve info in UTF-8 anymore, even though I have:

mysql_query( "SET NAMES 'utf8'", $myDBobj );

Any tips on how to solve this?

Thanks =)
Reply With Quote
  #296  
Old 04-02-2007, 11:49 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 RoutineX View Post
Hi.

Just a couple of questions:

1) I debugged while running the script, and I can't really see that $session[sessionhash] and $session[sessionurl] is used.
You can delete that if you like and it should still work, however vB use that in their code for a reason so I did the same.
Quote:
2) I'm not 100% sure how this works when it comes to performance, but when I debugged and looked at the available variables from the global.php there were a huge amount of vars and arrays that isnt needed at all.

Wouldn't it be best to only create objects of the things we really need (i.eg create the db object and get the $vbulletin[userinfo] array). If you i.eg look at $vbulletin['forumcache'] alone, it has over 408 arrays (depending on number of forums you have created) with 25 values each. Other unnecessary things are $header, headinclude, footer, etc etc.

Wouldn't this cause a higher load if this is processed everytime a page is viewed?
Yes there is a bunch of unnecessary stuff in global but I prefer to use it for several reasons.
1 - Better compatibility with future releases of vB. If vB make some changes to how various things work, chances are scripts will still work if they access those functions via the global.php file.
2 - Allows anyone to easily add any new function thats included in the global file.
3 - There is too much stuff happening behind the scenes in vB, its easy to miss some minor thing that causes problems later (like your UTF-8 one)
4 - More secure. Your not potentially creating any security holes with your own code trying to do back end stuff.
5 - The code in global.php is well tested and optimised.

As for extra server load by using global.php, just consider that vB uses it on every page anyhow so it shouldant make much of a difference on server load.
Quote:
3) After doing this, my second DB object won't retrieve info in UTF-8 anymore, even though I have:

mysql_query( "SET NAMES 'utf8'", $myDBobj );

Any tips on how to solve this?

Thanks =)
Sorry, not sure.
Reply With Quote
  #297  
Old 04-05-2007, 07:01 PM
xKillswitchx xKillswitchx is offline
 
Join Date: Apr 2006
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Bill, is there any other way to output usernames instead of $vbulletin->userinfo['userid']?
Reply With Quote
  #298  
Old 04-10-2007, 05:17 AM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by xKillswitchx View Post
Hey Bill, is there any other way to output usernames instead of $vbulletin->userinfo['userid']?
If you want their username just use
$vbulletin->userinfo['username']
Reply With Quote
  #299  
Old 04-15-2007, 09:30 PM
KnicksCity KnicksCity is offline
 
Join Date: Apr 2007
Location: New York
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a way to display a default image if the user does not have an avatar? With no avatar, errors are displaying because it can't find the image.
Reply With Quote
  #300  
Old 04-16-2007, 02:10 PM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What error do you get?
I just deleted my Avatar to try and replicate the error, but It worked fine in IE7 and Firefox 2.0.0.3
Reply With Quote
  #301  
Old 04-16-2007, 10:31 PM
KnicksCity KnicksCity is offline
 
Join Date: Apr 2007
Location: New York
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nevermind, no more error. Must have been something else.

By the way, I'm loving this mod. Good work and thanks!
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:16 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.05169 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
  • (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
  • (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