vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   External Data Manager Problem (https://vborg.vbsupport.ru/showthread.php?t=196177)

thewitt 11-13-2008 02:35 PM

External Data Manager Problem
 
I am trying to use the Data Manager to update the user's groups from another application - specifically from an AEC Micro Integration within Joomla if it matters.

I have a stand alone piece of code that works great

PHP Code:

<?php
$forumpath 
'/var/www/vhosts/mydomain.com/httpdocs/forums';
$username 'Test User';
$usergroupid 2;
$displaygroupid 13;
$membergroupids '13,14';

define('SKIP_USERINFO'1);
define('SKIP_SESSIONCREATE'1);
define('THIS_SCRIPT'__FILE__);

$cwd getcwd();
chdir($forumpath);

require_once(
'./global.php');
require_once(
'./includes/init.php'); // includes class_core.php
require_once('./includes/class_dm.php'); // for class_dm_user.php
require_once('./includes/class_dm_user.php'); // for user functions
require_once('./includes/functions.php'); // vbsetcookie etc.

$userinfo fetch_userinfo_from_username($username);

global 
$vbulletin;
$userdata =& datamanager_init('User'$vbulletinERRTYPE_ARRAY);
$userdata->set_existing($userinfo);

$userdata->setr('usergroupid',$usergroupid);
$userdata->setr('membergroupids',$membergroupids);
$userdata->save();  
$userdata->setr('displaygroupid',$displaygroupid);
$userdata->save();  

chdir($cwd);

function 
fetch_userinfo_from_username($username$option=0$languageid=0)
{
   global 
$vbulletin$db;
   
$result $db->query("SELECT * FROM "
      
TABLE_PREFIX "user WHERE username = '".$username."'");
    
$useridq $db->fetch_array($result);  
   if (!
$useridq) return $useridq;
   
$userid $useridq['userid'];
   return 
fetch_userinfo($userid$option$languageid);
}
?>

As soon as I try to drop it into the external application, I get the following error:

PHP Code:

PHP Fatal errorCall to a member function on a non-object in /var/www/vhosts/clubmakersguild.org/httpdocs/forums/includes/functions.php on line 5305 

Any ideas?

It really has to be environmental since the code snippet works outside of the external application, but I'm having issues running it down.

I've seen similar questions posted in several other threads with no answers - is this one of those questions that has no solution or it is simply that the question has not been seen by someone who understands the internals enough to comment?

Thanks,

-t

thewitt 11-14-2008 02:49 PM

It's a shame this part of vBulletin is not better supported. Integration into other systems with utilities like the Data Manager are so powerful if they are well documented and supported - but they are just frustrating when something as basic as this cannot be supported.

It seems that the "supported" method is to set up a separate script that will do the work using the data manager and then "call" this script with CURL and pass parameters in the URL.

Though this "hack" works, it's clearly not a clean method of multiple system integration.

I'll deploy a solution to my immediate problem using this method as I have to get onto real value added work, however if anyone has any bright ideas on where to look to actually perform a clean inter-system integration with the Data Manager, please feel free to post.

I'll keep monitoring this thread and I'm sure that the others who have reported this same issue will appreciate any ideas as well.

-t

nessur 04-23-2009 06:22 PM

You know, that's about where I stand today, as well.

If I try to take any part of that code and wrap it into a function, even a function defined on a .php file inside the VBulletin root, it starts to fail.

I really don't want to CURL my own application, so I'm going to keep hacking.


All times are GMT. The time now is 01:09 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.01101 seconds
  • Memory Usage 1,732KB
  • 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
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete