Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 11-03-2009, 12:51 PM
sifuhall sifuhall is offline
 
Join Date: Nov 2001
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Creating a thread outside of vBulletin

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:

Quote:
Error: Registry object is not an object in /home/bushido/public_html/lf/forum/includes/class_dm.php on line177
Here is my code:

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?
Reply With Quote
  #2  
Old 11-03-2009, 01:23 PM
Blaine0002's Avatar
Blaine0002 Blaine0002 is offline
 
Join Date: Jul 2003
Location: Wisconsin.
Posts: 1,350
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I stole this from a thread by andreas located here:https://vborg.vbsupport.ru/showthrea...reate+New+User

Quote:
Important Notice
It is assumed that you are using this code from 'within' vBulletin, eg with the vBulletin backend loaded.
If this is not the case, you must include smth. like the following code in global context:
PHP Code:
define('VB_AREA', 'External');
define('SKIP_SESSIONCREATE', 1);
define('SKIP_USERINFO', 1);
define('CWD', '/path/to/vbulletin');
require_once(CWD . '/includes/init.php');
Keep in mind that if you are using the a/m Datamanager-Code within a function or method you must global $vbulletin.
the thread is about making new users but you should follow the same guidelines
Reply With Quote
  #3  
Old 11-03-2009, 05:52 PM
sifuhall sifuhall is offline
 
Join Date: Nov 2001
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks! global vbulletin was the answer.
Reply With Quote
Reply


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 07:21 PM.


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.10772 seconds
  • Memory Usage 2,185KB
  • Queries Executed 13 (?)
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
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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_postinfo_query
  • fetch_postinfo
  • 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