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
  #322  
Old 05-22-2007, 04:36 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 CSGCarl View Post
Hey,

I'm still having a problem I've fixed other but...

Code:
								</table></td>\";
Error:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/-----/public_html/homepage.php on line 1016

And line 1016 is:


Code:
Code:
echo "Your not logged in so we display this";
I can't see whats wrong there.

If some one could help me out this would be great.


Regards,

Carl

This line here
Code:
</table></td>\";
needs to be
Code:
</table></td>";
The end " is part of the PHP statement and not the enclosed HTML so it should not be escaped, else you will get an error pointing to the next line of code that has another " in it.
(Escaping the " ment that you never ended that PHP statement correctly)
Reply With Quote
  #323  
Old 05-22-2007, 04:43 AM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Also, I recommend taking a few online tutorials on using HTML with PHP.
You really just need a basic level of experience in using them togeather and it all becomes clear.
Reply With Quote
  #324  
Old 05-22-2007, 10:26 AM
CSGCarl CSGCarl is offline
 
Join Date: Feb 2007
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

Ye I have sorted it all now, well on way with it all now
Reply With Quote
  #325  
Old 06-03-2007, 12:48 PM
consolegaming consolegaming is offline
 
Join Date: Jan 2007
Posts: 168
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there anyway to use this (i.e. including global to make logging in easy to sort out) without it auto banning banned users from our own pages?

The site I'd like to use this on will have a separate banning system on the site itself as forum bans shouldn't result in suspensions from the rest of the site. The two are very unrelated and as such shouldn't affect each other's bans.
Reply With Quote
  #326  
Old 06-04-2007, 01:35 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 consolegaming View Post
Is there anyway to use this (i.e. including global to make logging in easy to sort out) without it auto banning banned users from our own pages?

The site I'd like to use this on will have a separate banning system on the site itself as forum bans shouldn't result in suspensions from the rest of the site. The two are very unrelated and as such shouldn't affect each other's bans.
I havent tested it with a banned group, but it should not prevent them from accessing the pages this is used on.
Reply With Quote
  #327  
Old 06-05-2007, 09:36 PM
isnichwahr isnichwahr is offline
 
Join Date: Apr 2007
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi,

at first i have to say big thanks for this script, i need it very much and it looks pretty cool, but i have problem with it:

the script works fine in this way: i created an extra logintest.php with this contents:
require_once('/srv/www/htdocs/web0/html/v4/vb3/global.php');
require_once('/srv/www/htdocs/web0/html/v4/vb3/login_inc.php');

and in neu.php im including this logintest.php by:
<?php chdir("/srv/www/htdocs/web0/html/v4/vb3");
require("/srv/www/htdocs/web0/html/v4/vb3/logintest.php"); ?>

when i open the neu.php it works fine (when i delete the cookies at firefox options first),

but when i put the include code from neu.php into my index.php (same code!) i get:
Warnung: array_keys() [function.array-keys]: The first argument should be an array in /includes/functions.php (Zeile 4994)

Warnung: Empty regular expression in /includes/functions.php (Zeile 4994),

so some code of the board or loginscript collades with the code on my page. is there a possibility to fix this problem? i dont want to use frames/iframe or a little popup window to include the loginform, but i dont know how i can include it, without getting these errors, remember: neu.php alone works fine

many thanks, david
Reply With Quote
  #328  
Old 06-06-2007, 10:59 AM
Sean James's Avatar
Sean James Sean James is offline
 
Join Date: Apr 2004
Location: Sydney, Australia
Posts: 895
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great hack, thank you for your hard work

Added custom CSS, and change some of your code so it is W3C validated.

http://www.bluepearl-design.com/index.php
Reply With Quote
  #329  
Old 06-06-2007, 11:09 AM
Sean James's Avatar
Sean James Sean James is offline
 
Join Date: Apr 2004
Location: Sydney, Australia
Posts: 895
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Hakaslak View Post
What I use to get total number of members. Works for me. Posting it here because it seems to be something people really want. Dunno why. I script kiddied the code that Billspaintball used to get thread/post counts, and did a quickie Google search for how to count rows. and mashed them up. /shrugs

Demo: beta.awp-tech.com

Code:
// get total number of members
$getstats_user_count = $db->query_read('SELECT COUNT(*) FROM ' .TABLE_PREFIX . 'user');
while ($forum_user_count = $db->fetch_array($getstats_user_count))
{
	$totusers += $forum_user_count['COUNT(*)'];
}
$totusers = vb_number_format($totusers);
I am really NOT good at coding (I know no PHP/mySQL), so use at your own risk. If I made any mistakes, please let me know so I can correct it!

Hakaslak figures usage instructions would be nice:

#
#-----[ OPEN ]------------------------------------------
#
Code:
login_inc.php
#
#-----[ FIND ]------------------------------------------
#
Code:
$totposts = vb_number_format($totposts);
#
#-----[ AFTER, ADD ]------------------------------------------
#
Code:
// get total number of members
$getstats_user_count = $db->query_read('SELECT COUNT(*) FROM ' .TABLE_PREFIX . 'user');
while ($forum_user_count = $db->fetch_array($getstats_user_count))
{
	$totusers += $forum_user_count['COUNT(*)'];
}
$totusers = vb_number_format($totusers);
#
#-----[ FIND ]------------------------------------------
#
Code:
$vbphrase[posts]: $totposts<br />
#
#-----[ AFTER, ADD ]------------------------------------------
#
Code:
$vbphrase[members]: $totusers<br />
All done!
Thanks for that, worked perfectly
Reply With Quote
  #330  
Old 06-06-2007, 11:27 AM
Sean James's Avatar
Sean James Sean James is offline
 
Join Date: Apr 2004
Location: Sydney, Australia
Posts: 895
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Billspaintball View Post
Ok,
I have finally had enougth time to play around with this and find the cause and solution.

Cause - When redirected for expired password you are redirected to the directory that your login script is located in, not your forums root.

Fix - Edit phrase called
Code:
passwordexpired
Your current phrase should be
Code:
Your password is {1} days old, and has therefore expired.<br />
<br />
Please change your password using <a href="profile.php?{2}do=editpassword">this page</a>.
change it to

Code:
Your password is {1} days old, and has therefore expired.<br />
<br />
Please change your password using <a href="../forums/profile.php?{2}do=editpassword">this page</a>.
where ../forums/ is your forums directory.

Ive only tested this for expired passwords, not for expired vbplaza, but I would think you would have to edit the expiring vbplaza phrases in the same manner.
Sorry one last thing, i am trying to apply this to my forum but cannot find this phrase in my 'phrase manager'
Reply With Quote
  #331  
Old 06-06-2007, 12:09 PM
consolegaming consolegaming is offline
 
Join Date: Jan 2007
Posts: 168
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Billspaintball View Post
I havent tested it with a banned group, but it should not prevent them from accessing the pages this is used on.
I actually made my post because it did happen lol. We implemented it not even thinking about the issue and then about 5 minutes later we had many complaints from our users that they could no longer access the ladders (we're an online competition website i.e. ladders, and tournaments for online games). It was telling them they were banned and with their ban reason just like the forum bans would be I presume.

So we naturally had to revert back to our old pre-made solution which is just a custom script which just uses cookies and sends the login info to the login.php page when logging in. Though as some of our users have been having problems (particularly Mac Safari users) staying logged in we were looking for a more foolproof system which included sessions (as we presumed that was at least part of the issue).

Any help that could be given on the being banned situation would be greatly appreciated.
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 09:20 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.13475 seconds
  • Memory Usage 2,337KB
  • 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
  • (13)bbcode_code
  • (5)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