Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 12-10-2015, 10:40 AM
InPhaseVB InPhaseVB is offline
 
Join Date: Dec 2015
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Check if logged in PHP script

vBulletin 5.1.9

Hello I have a number of external pages written in PHP that need to check that a user is logged into vBulletin to allow access to these pages. After much searching I have a script that can check if the user has vb cookies but it is not always the case that cookies are placed on the browser when logged in.

/*--------- PHP Code ---------*/
$vbpath = '/home/ourperfo/public_html';

define('CSRF_PROTECTION', false);
require_once($vbpath . '/includes/vb5/autoloader.php');
error_reporting(E_ALL);
vB5_Autoloader::register($vbpath);
vB5_Frontend_Application::init('config.php');
$userid = vB5_Cookie::get('userid', vB5_Cookie::TYPE_UINT);
$hash = vB5_Cookie::get('password', vB5_Cookie::TYPE_STRING);

if ($userid > 0 AND !empty($hash))
{
echo "logged in";
}
else
{
echo "NOT logged in";
}
/*--------- PHP Code END ---------*/

So what I was wondering if there was a script to check if a user is logged in on the browser I could use. Thanks.
Reply With Quote
  #2  
Old 12-10-2015, 08:38 PM
Replicant's Avatar
Replicant Replicant is offline
 
Join Date: Sep 2014
Location: Phoenix, Az. USA
Posts: 485
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The userid and password cookies are not set when one logs in if they haven't clicked the remember me button. So, using the script you have above, if the cookie check fails, then provide a login prompt. I'm assuming this script is based on David Groves' external login tutorial so that part should be trivial. Remove the remember me option and hardcode remember in the login script. This will force the cookies to be set and you will be off and running.
Reply With Quote
  #3  
Old 01-23-2016, 04:04 PM
ChristianAlfred ChristianAlfred is offline
 
Join Date: Nov 2007
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This was great. If you could extract username it would be nice.
Reply With Quote
  #4  
Old 01-23-2016, 06:21 PM
Replicant's Avatar
Replicant Replicant is offline
 
Join Date: Sep 2014
Location: Phoenix, Az. USA
Posts: 485
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can use this in the php code if you have already determined the userid in your script which only returns a username.
Code:
vB_Api_User::fetchUserName($userid)
Or, you can use if you don't which returns a fairly large array with tons of user info.
Code:
vB_Api_User::fetchCurrentUserinfo()
Either of these can also be called via AJAX in javascript so it can also it can be implemented on cloud also.
[forum root]/ajax/api/user/fetchUserName?userid=3 using pageData['userid'] to get the userid
[forum root]/ajax/api/user/fetchUserinfo if you want more data than just a user name.
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:15 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.03803 seconds
  • Memory Usage 2,184KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete