sifuhall
11-03-2009, 12:51 PM
I'm working on an application that will integrate with vBulletin and I need a set of fresh eyes and ideas to help.
I have code that will create a thread in vBulletin from a PHP page and it works well enough when I test it by itself.
However, when I add it as the contents of a function inside a different class I get the following error:
Error: Registry object is not an object in /home/bushido/public_html/lf/forum/includes/class_dm.php on line177
Here is my code:
private function makeThread() {
// get current dir
$mycurdir = getcwd();
// change to forum dir
chdir($_SERVER['DOCUMENT_ROOT'] . '/forum');
// include vBulletin files to create post
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/global.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/class_dm.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/class_dm_threadpost.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/functions_databuild.php');
$forumid = 10;
$userid = 1;
$thread_title = 'New Thread Title';
$thread_body = 'testing new thread body test';
$thread_allow_smile = '1';
$thread_visible = '1';
$thread_ip = '1.1.1.1';
$user_name = 'admin';
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_SILENT, 'threadpost');
$threaddm->do_set('forumid', $forumid);
$threaddm->do_set('postuserid', $userid);
$threaddm->do_set('userid', $userid);
$threaddm->do_set('username', $user_name);
$threaddm->do_set('title', $thread_title);
$threaddm->do_set('pagetext', $thread_body);
$threaddm->do_set('allowsmilie', $thread_allow_smile);
$threaddm->do_set('visible', $thread_visible);
$threaddm->do_set('ipaddress', $thread_ip);
$threadid = $threaddm->save();
// rebuild cache
build_thread_counters($threadid);
build_forum_counters($forumid);
unset($threaddm);
// return to previous dir
chdir($mycurdir);
}
Adding echo statements I have found the error occurs on the line including the datamanager_init.
Any ideas on what I can try to address this?
I have code that will create a thread in vBulletin from a PHP page and it works well enough when I test it by itself.
However, when I add it as the contents of a function inside a different class I get the following error:
Error: Registry object is not an object in /home/bushido/public_html/lf/forum/includes/class_dm.php on line177
Here is my code:
private function makeThread() {
// get current dir
$mycurdir = getcwd();
// change to forum dir
chdir($_SERVER['DOCUMENT_ROOT'] . '/forum');
// include vBulletin files to create post
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/global.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/class_dm.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/class_dm_threadpost.php');
require_once($_SERVER['DOCUMENT_ROOT'] . '/forum/includes/functions_databuild.php');
$forumid = 10;
$userid = 1;
$thread_title = 'New Thread Title';
$thread_body = 'testing new thread body test';
$thread_allow_smile = '1';
$thread_visible = '1';
$thread_ip = '1.1.1.1';
$user_name = 'admin';
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_SILENT, 'threadpost');
$threaddm->do_set('forumid', $forumid);
$threaddm->do_set('postuserid', $userid);
$threaddm->do_set('userid', $userid);
$threaddm->do_set('username', $user_name);
$threaddm->do_set('title', $thread_title);
$threaddm->do_set('pagetext', $thread_body);
$threaddm->do_set('allowsmilie', $thread_allow_smile);
$threaddm->do_set('visible', $thread_visible);
$threaddm->do_set('ipaddress', $thread_ip);
$threadid = $threaddm->save();
// rebuild cache
build_thread_counters($threadid);
build_forum_counters($forumid);
unset($threaddm);
// return to previous dir
chdir($mycurdir);
}
Adding echo statements I have found the error occurs on the line including the datamanager_init.
Any ideas on what I can try to address this?