thewitt
11-13-2008, 02:35 PM
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
$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', $vbulletin, ERRTYPE_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 Fatal error: Call 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
I have a stand alone piece of code that works great
<?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', $vbulletin, ERRTYPE_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 Fatal error: Call 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