vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   $vbulletin->$userinfo ? (https://vborg.vbsupport.ru/showthread.php?t=112388)

cellarius 04-07-2006 12:39 PM

$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

Delphiprogrammi 04-07-2006 01:17 PM

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']; 


jake7338 07-03-2006 10:47 PM

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

Blaine0002 07-03-2006 10:54 PM

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

Gio~Logist 07-03-2006 11:10 PM

Or you can use:
PHP Code:

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



jake7338 07-04-2006 03:16 AM

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

Blaine0002 07-04-2006 01:03 PM

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?

jake7338 07-05-2006 05:36 AM

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

Code Monkey 07-05-2006 06:12 AM

If this is just to display different html then it would be more efficient to do it as a template conditional using $bbuserinfo[userid].

jake7338 07-05-2006 05:22 PM

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.


All times are GMT. The time now is 07:52 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.01197 seconds
  • Memory Usage 1,799KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (9)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete