Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-07-2006, 12:39 PM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default $vbulletin->$userinfo ?

Hi,

I'm working on a vb-powered comment system for my site, and I'm quite done - just one last problem I don't get solved (probably a real dumb one...)

I already checked whether the user is logged in. Now, a new thread is to be created. For this I'm using code from the "How to create a thread"-thread. As long as I define a variable for the userid, it works like a charm. But when I try to read the userid of the currently logged in user, something goes wrong. Here's the relevant part of the code I'm using:

PHP Code:
    // Start of vB
    
define('SKIP_SESSIONCREATE'1);
    
define('DIE_QUIETLY'1);
    
define('THIS_SCRIPT''buchtipp_3');
    
    
// Change working directory but remeber old one
    
$cwd getcwd();
    
chdir($_SERVER['DOCUMENT_ROOT'].'/forum');

    
// Include files
    
require_once('./global.php');
    require_once(
'./includes/class_dm.php');
    require_once(
'./includes/class_dm_threadpost.php');

    
// Initialize thread/first post class
    
$threaddm = new vB_DataManager_Thread_FirstPost($vbulletinERRTYPE_STANDARD);
    
//****Here something goes wrong...****

    // variables
    
$userid $vbulletin->$userinfo['userid'];
    
$forumid="44";
    
$postuserid $vbulletin->$userinfo['userid'];
    
$username $vbulletin->$userinfo['username'];
    
$allowsmilie '1';
    
$visible '1';
    
$views '1';
    
$dateline TIMENOW;
    
    
$threaddm->do_set('forumid'$forumid);
    
$threaddm->do_set('postuserid'$postuserid);
    
$threaddm->do_set('userid'$userid);
    
$threaddm->do_set('views'$views);
    
$threaddm->do_set('username'$username);
    
$threaddm->do_set('pagetext'$pagetext);
    
$threaddm->do_set('title'$title);
    
$threaddm->do_set('allowsmilie'$allowsmilie);
    
$threaddm->do_set('visible'$visible);
    
$threaddm->do_set('dateline'$dateline);
    
$threaddm->pre_save();
    if (
count($threaddm->errors) > 0)
    {
            
// Do some error work
    
}
    else
    {
        
$tid $threaddm->save();
        require_once(
'./includes/functions_databuild.php'); 
        
build_forum_counters($forumid);
        
define('IN_SCRIPT''1');
        include 

    }
    
    
//  Change working directory back    
    
chdir($cwd); 
Clues anybody? Thank you!
Sven
Reply With Quote
  #2  
Old 04-07-2006, 01:17 PM
Delphiprogrammi Delphiprogrammi is offline
 
Join Date: Feb 2004
Location: Landen(Belgium)
Posts: 1,335
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cellarius
Hi,

I'm working on a vb-powered comment system for my site, and I'm quite done - just one last problem I don't get solved (probably a real dumb one...)

I already checked whether the user is logged in. Now, a new thread is to be created. For this I'm using code from the "How to create a thread"-thread. As long as I define a variable for the userid, it works like a charm. But when I try to read the userid of the currently logged in user, something goes wrong. Here's the relevant part of the code I'm using:

PHP Code:
    // Start of vB
    
define('SKIP_SESSIONCREATE'1);
    
define('DIE_QUIETLY'1);
    
define('THIS_SCRIPT''buchtipp_3');
    
    
// Change working directory but remeber old one
    
$cwd getcwd();
    
chdir($_SERVER['DOCUMENT_ROOT'].'/forum');

    
// Include files
    
require_once('./global.php');
    require_once(
'./includes/class_dm.php');
    require_once(
'./includes/class_dm_threadpost.php');

    
// Initialize thread/first post class
    
$threaddm = new vB_DataManager_Thread_FirstPost($vbulletinERRTYPE_STANDARD);
    
//****Here something goes wrong...****

    // variables
    
$userid $vbulletin->$userinfo['userid'];
    
$forumid="44";
    
$postuserid $vbulletin->$userinfo['userid'];
    
$username $vbulletin->$userinfo['username'];
    
$allowsmilie '1';
    
$visible '1';
    
$views '1';
    
$dateline TIMENOW;
    
    
$threaddm->do_set('forumid'$forumid);
    
$threaddm->do_set('postuserid'$postuserid);
    
$threaddm->do_set('userid'$userid);
    
$threaddm->do_set('views'$views);
    
$threaddm->do_set('username'$username);
    
$threaddm->do_set('pagetext'$pagetext);
    
$threaddm->do_set('title'$title);
    
$threaddm->do_set('allowsmilie'$allowsmilie);
    
$threaddm->do_set('visible'$visible);
    
$threaddm->do_set('dateline'$dateline);
    
$threaddm->pre_save();
    if (
count($threaddm->errors) > 0)
    {
            
// Do some error work
    
}
    else
    {
        
$tid $threaddm->save();
        require_once(
'./includes/functions_databuild.php'); 
        
build_forum_counters($forumid);
        
define('IN_SCRIPT''1');
        include 

    }
    
    
//  Change working directory back    
    
chdir($cwd); 
Clues anybody? Thank you!
Sven
yeah wrong code you are using a class so this

PHP Code:
$userid $vbulletin->$userinfo['userid'];
$postuserid $vbulletin->$userinfo['userid'];
$username $vbulletin->$userinfo['username']; 
should be
PHP Code:
$userid=$vbulletin->userinfo['userid'];
$postuserid $vbulletin->userinfo['userid']; // $threadinfo['postuserid'] ;
$username $vbulletin->userinfo['username']; 
Reply With Quote
  #3  
Old 07-03-2006, 10:47 PM
jake7338 jake7338 is offline
 
Join Date: Jun 2006
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am new to Vbulletin...

Can you show me how you "checked to see if the user was logged in"

I am allowing a form to be submitted by the user and posted to an html table. I have all that working with html and php but would like to check to make sure they are logged in to VBulletin before they submit the data and also capture thier login name for the post.

Thanks,
--jake
Reply With Quote
  #4  
Old 07-03-2006, 10:54 PM
Blaine0002's Avatar
Blaine0002 Blaine0002 is offline
 
Join Date: Jul 2003
Location: Wisconsin.
Posts: 1,350
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
if($vbulletin->userinfo['userid']==0){

for if they are not logged in

PHP Code:
if($vbulletin->userinfo['userid']!==0){

if they arelogged in
Reply With Quote
  #5  
Old 07-03-2006, 11:10 PM
Gio~Logist's Avatar
Gio~Logist Gio~Logist is offline
 
Join Date: Jun 2004
Location: San Francisco
Posts: 2,575
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Or you can use:
PHP Code:
if(!$vbulletin->userinfo['userid']){
// They are not logged in
} else {
// They are logged in

Reply With Quote
  #6  
Old 07-04-2006, 03:16 AM
jake7338 jake7338 is offline
 
Join Date: Jun 2006
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
<?PHP
// Include files 
   
require_once('./global.php');


if(!
$vbulletin->userinfo['userid']){
// They are not logged in

require("notoktoaddvendorform.html");
// echo "Please login so you can add reccomended vendors.";

} else {
// They are logged in

require("oktoaddvendorform.html");

}  

?>
Below is the error i am getting. What do i have to do to access the $vbulletin->userinfo['userid'] variable? Thanks for the code snipet, very helpful!! --jake


Unable to add cookies, header already sent.
File: /htdocs/forums/services.php
Line: 5
Reply With Quote
  #7  
Old 07-04-2006, 01:03 PM
Blaine0002's Avatar
Blaine0002 Blaine0002 is offline
 
Join Date: Jul 2003
Location: Wisconsin.
Posts: 1,350
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gio~logist
Or you can use:
PHP Code:
if(!$vbulletin->userinfo['userid']){
// They are not logged in
} else {
// They are logged in

gah :P
yes, thats much more efficiant. i am a noob :banana:

as for the error, shouldnt you be including the html files not requiring them?
Reply With Quote
  #8  
Old 07-05-2006, 05:36 AM
jake7338 jake7338 is offline
 
Join Date: Jun 2006
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am using the code above to test whether someone is logged in or not. When a user is NOT logged in i get this error:

Unable to add cookies, header already sent.
File: /htdocs/forums/services.php
Line: 5


If the user is already logged in, its works perfectly!!
The problem is with this line. Why can't you use this line if a user is not logged in?

include("global.php");

I need help!! I have vb 3.6 beta 3.

Thanks,
--jake
Reply With Quote
  #9  
Old 07-05-2006, 06:12 AM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If this is just to display different html then it would be more efficient to do it as a template conditional using $bbuserinfo[userid].
Reply With Quote
  #10  
Old 07-05-2006, 05:22 PM
jake7338 jake7338 is offline
 
Join Date: Jun 2006
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can you tell me how to use $bbuserinfo as a template conditional? I have to explore other ways of figureing out whether someone is logged in or not. The previously discussed method does not work. Really its just that require_once('global.php'); statement that does not work if you are not logged in.

Does your method need the global.php ??

Thanks, still need help,
--jake

Its not just to display html differently, its to allow access to my custome code if they are logged in.
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:12 AM.


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.05488 seconds
  • Memory Usage 2,313KB
  • 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
  • (9)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete