Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 09-07-2011, 05:54 AM
TeknoSounds TeknoSounds is offline
 
Join Date: Nov 2006
Location: TX
Posts: 435
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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() 
Reply With Quote
  #2  
Old 09-07-2011, 08:01 AM
souperman souperman is offline
 
Join Date: Mar 2011
Posts: 131
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

and what's the error?
Reply With Quote
  #3  
Old 09-07-2011, 10:02 AM
TeknoSounds TeknoSounds is offline
 
Join Date: Nov 2006
Location: TX
Posts: 435
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Whoops....

[Notice] Undefined variable: specialtemplates
Reply With Quote
  #4  
Old 09-07-2011, 12:28 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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).
Reply With Quote
  #5  
Old 09-09-2011, 03:18 AM
TeknoSounds TeknoSounds is offline
 
Join Date: Nov 2006
Location: TX
Posts: 435
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks 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.
Reply With Quote
  #6  
Old 09-09-2011, 03:39 AM
HMBeaty's Avatar
HMBeaty HMBeaty is offline
 
Join Date: Sep 2005
Posts: 4,141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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); 
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:06 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03831 seconds
  • Memory Usage 2,252KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_code
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete