vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Creating a thread outside of vBulletin (https://vborg.vbsupport.ru/showthread.php?t=227315)

sifuhall 11-03-2009 12:51 PM

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?

Blaine0002 11-03-2009 01:23 PM

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

sifuhall 11-03-2009 05:52 PM

Thanks! global vbulletin was the answer.


All times are GMT. The time now is 10:02 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.01214 seconds
  • Memory Usage 1,719KB
  • 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
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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