vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Attempting Create Thread outside of vB using Data Manager, error with bootstrap (https://vborg.vbsupport.ru/showthread.php?t=269820)

TeknoSounds 09-07-2011 05:54 AM

Attempting Create Thread outside of vB using Data Manager, error with bootstrap
 
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

Code:

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:
PHP Code:

        //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'$vbulletinERRTYPE_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() 


souperman 09-07-2011 08:01 AM

and what's the error?

TeknoSounds 09-07-2011 10:02 AM

Whoops....

[Notice] Undefined variable: specialtemplates

kh99 09-07-2011 12:28 PM

You can get rid of those by defining the variable:

PHP Code:

$specialtemplates = array(); 


before including global.php. (It looks like you'll get the same message for $actiontemplates and $globaltemplates, and maybe some others).

Those variables control which templates and datastore values are cached. You can look at som of the vb scripts to see how they're used. (e.g. showthread.php).

TeknoSounds 09-09-2011 03:18 AM

Thanks :D That worked!

Now having an issue with the code no seeming to execute, at least it isn't making a thread, nothing in the database, no errors appear via the page or in the error_log. Unsure whats going on at this point. I just don't think my function is getting called. I think.

HMBeaty 09-09-2011 03:39 AM

Hopefully this helps you out a bit ;)

This is from one of my modifications (Staff Application) where it creates the threads

PHP Code:

                require_once(DIR '/includes/functions_newpost.php');

                
$forumid $vbulletin->options['usml_staffapp_forumid'];
                
$user_id $vbulletin->userinfo['userid'];
                
$username $vbulletin->userinfo['username'];
                
$target_foruminfo fetch_foruminfo($forumid);
                
$newpost = array(
                    
'userid'        => $user_id,
                    
'username'      => $username,
                    
'message'       => $postappmsg,
                    
'title'         => $subject,
                    
'poststarttime' => TIMENOW,
                    
'emailupdate'   => 0
                
);

                
build_new_post('thread'$target_foruminfo, array(), array(), $newpost$errors);

                if (
sizeof($errors) > 0) { $error_info construct_errors($errors); }

                require_once(
DIR '/includes/functions_databuild.php');
                
build_forum_counters($forumid); 



All times are GMT. The time now is 04:05 PM.

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.01033 seconds
  • Memory Usage 1,775KB
  • 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
  • (1)bbcode_code_printable
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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