TeknoSounds
09-07-2011, 05:54 AM
Greetings,
I have a script that's trying to create a new thread from a page outside vBulletin.
The error I'm getting is from global.php on line 20 when its storing $specialtemplates in bootstrap: [Notice] Undefined variable: specialtemplates
Source
11 \*================================================ ======================*/
12
13 error_reporting(E_ALL & ~E_NOTICE);
14
15 require('./includes/class_bootstrap.php');
16
17 define('VB_AREA', 'Forum');
18
19 $bootstrap = new vB_Bootstrap_Forum();
20 $bootstrap->datastore_entries = $specialtemplates;
21 $bootstrap->cache_templates = vB_Bootstrap::fetch_required_template_list(
22 empty($_REQUEST['do']) ? '' : $_REQUEST['do'],
23 $actiontemplates, $globaltemplates
24 );
25
26 $bootstrap->bootstrap();
Here is the code that's calling it:
//Create New VB Thread from Event Info
public function CreateNewVBThread($date, $name, $venue, $city, $state) {
$forumdir = "/mysite.com/messageboard";
$currentdir = getcwd();
chdir($forumdir);
require_once($forumdir . '/global.php');
require_once($forumdir . '/includes/class_dm.php');
require_once($forumdir . '/includes/class_dm_threadpost.php');
require_once($forumdir . '/includes/functions_databuild.php');
//Variables
$postip = "127.0.0.1";
$userid = 243;
$username = 'Events Announcer';
$title = ($date . ' - ' . $name . ' @ ' . $venue . ' - ' . $city . ', ' . $state);
$threadinfo = array();
//Determine City/Forum
if ($state = "TX") {
switch ($city) {
case "Austin":
$forumid = 70;
break;
case "Dallas":
$forumid = 77;
break;
case "Houston":
$forumid = 78;
break;
case "San Antonio":
$forumid = 79;
break;
default:
$forumid = 80;
break;
}
}
else {
$forumid = 81;
}
//Connect to VB DB
DB::connect($databaseVB);
//Create new thread given info below
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_ARRAY, 'threadpost');
$foruminfo = fetch_foruminfo($forumid);
$threaddm->set_info('forum', $foruminfo);
$threaddm->set_info('thread', $threadinfo);
$threaddm->setr('forumid', $forumid);
$threaddm->setr('userid', $userid);
$threaddm->setr('title', $title);
$threaddm->set('username', $username);
$threaddm->set('pagetext', 'This is a test');
$threaddm->set('allowsmilie', 1);
$threaddm->set('visible', 1);
$threaddm->set('ipaddress', $postip);
$threaddm->set('dateline', TIMENOW);
$threaddm->pre_save();
if(count($threaddm->errors) < 1)
{
$threadid = $threaddm->save();
unset($threaddm);
build_thread_counters($threadid);
}
else
{
print "Error making new thread! " . $threaddm->errors[0] . $threaddm->errors[1] . $threaddm->errors[2] ;
}
build_forum_counters($forumid);
//Reconnect to SS DB & change back working directories
chdir($currentdir);
DB::connect($databaseConfig);
} //end CreateNewVBThread()
I have a script that's trying to create a new thread from a page outside vBulletin.
The error I'm getting is from global.php on line 20 when its storing $specialtemplates in bootstrap: [Notice] Undefined variable: specialtemplates
Source
11 \*================================================ ======================*/
12
13 error_reporting(E_ALL & ~E_NOTICE);
14
15 require('./includes/class_bootstrap.php');
16
17 define('VB_AREA', 'Forum');
18
19 $bootstrap = new vB_Bootstrap_Forum();
20 $bootstrap->datastore_entries = $specialtemplates;
21 $bootstrap->cache_templates = vB_Bootstrap::fetch_required_template_list(
22 empty($_REQUEST['do']) ? '' : $_REQUEST['do'],
23 $actiontemplates, $globaltemplates
24 );
25
26 $bootstrap->bootstrap();
Here is the code that's calling it:
//Create New VB Thread from Event Info
public function CreateNewVBThread($date, $name, $venue, $city, $state) {
$forumdir = "/mysite.com/messageboard";
$currentdir = getcwd();
chdir($forumdir);
require_once($forumdir . '/global.php');
require_once($forumdir . '/includes/class_dm.php');
require_once($forumdir . '/includes/class_dm_threadpost.php');
require_once($forumdir . '/includes/functions_databuild.php');
//Variables
$postip = "127.0.0.1";
$userid = 243;
$username = 'Events Announcer';
$title = ($date . ' - ' . $name . ' @ ' . $venue . ' - ' . $city . ', ' . $state);
$threadinfo = array();
//Determine City/Forum
if ($state = "TX") {
switch ($city) {
case "Austin":
$forumid = 70;
break;
case "Dallas":
$forumid = 77;
break;
case "Houston":
$forumid = 78;
break;
case "San Antonio":
$forumid = 79;
break;
default:
$forumid = 80;
break;
}
}
else {
$forumid = 81;
}
//Connect to VB DB
DB::connect($databaseVB);
//Create new thread given info below
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_ARRAY, 'threadpost');
$foruminfo = fetch_foruminfo($forumid);
$threaddm->set_info('forum', $foruminfo);
$threaddm->set_info('thread', $threadinfo);
$threaddm->setr('forumid', $forumid);
$threaddm->setr('userid', $userid);
$threaddm->setr('title', $title);
$threaddm->set('username', $username);
$threaddm->set('pagetext', 'This is a test');
$threaddm->set('allowsmilie', 1);
$threaddm->set('visible', 1);
$threaddm->set('ipaddress', $postip);
$threaddm->set('dateline', TIMENOW);
$threaddm->pre_save();
if(count($threaddm->errors) < 1)
{
$threadid = $threaddm->save();
unset($threaddm);
build_thread_counters($threadid);
}
else
{
print "Error making new thread! " . $threaddm->errors[0] . $threaddm->errors[1] . $threaddm->errors[2] ;
}
build_forum_counters($forumid);
//Reconnect to SS DB & change back working directories
chdir($currentdir);
DB::connect($databaseConfig);
} //end CreateNewVBThread()