Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 03-30-2007, 09:02 PM
budlight budlight is offline
 
Join Date: Mar 2007
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Datamanager inside a class

Hi I'm trying to write a class to use the Datamanager. This will actually be part of a plugin to my existing system. So far all plugins are defined as classes. I have this code so far:
PHP Code:
<?php
 define
('SKIP_SESSIONCREATE'1);
 
define('DIE_QUIETLY'1);
 
define('THIS_SCRIPT''test');
 
define('CWD'$_SERVER['DOCUMENT_ROOT'].'/4um');
 require_once(
$_SERVER['DOCUMENT_ROOT'].'/4um/global.php');
 
class 
externalVB {
  public 
$vB_forumid    =    12;
  public 
$vB_postuserid 1;
  public 
$vB_userid 1;
  public 
$vB_username 'Budlight';
  public 
$vB_pagetext 'test';
  public 
$vB_title    =    'hello';
  public 
$vB_allowsmilie    =    '1';
  public 
$vB_visible    =    '1';
  
     function 
__construct() {
  }

     function    
create_new_thread($vB_username)    {
     
     
     global 
$vbulletin;

     
$vB_threaddm =& datamanager_init('Thread_FirstPost'$vbulletinERRTYPE_STANDARD'threadpost');
     
#$vB_threaddm = new vB_DataManager_Thread_FirstPost($vbulletin, ERRTYPE_STANDARD);

 
     
$vB_threaddm->do_set('forumid',    $this->vB_forumid);
     
$vB_threaddm->do_set('postuserid'$this->vB_postuserid);
     
$vB_threaddm->do_set('userid'$this->vB_userid);
     
$vB_threaddm->do_set('username'$this->vB_username);
     
$vB_threaddm->do_set('pagetext'$this->vB_pagetext);
     
$vB_threaddm->do_set('title',    $this->vB_title);
     
$vB_threaddm->do_set('allowsmilie',    $this->vB_allowsmilie);
     
$vB_threaddm->do_set('visible',    $this->vB_visible);

  
$vB_result$vB_threaddm->save();
 

    return 
$vB_result;
    }
}


if(!empty(
$_GET["addThread"])) {
$a = new externalVB();    
echo 
$a->create_new_thread('Budlight');
}
                
            

?>

However I can't figure out how to move the require_once to be called in the constructor of the class. It really has to be this way but once I do it I get:
Code:
Warning: array_keys() [function.array-keys]: The first argument should be an array in /includes/functions.php on line 3699

Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 3699

Fatal error: Call to a member function query_read_slave() on a non-object in /home/cyclecha/public_html/4um/includes/functions.php on line 2772
Like shown though with the require outside the class, it works fine.
Reply With Quote
  #2  
Old 03-31-2007, 11:11 AM
nico_swd's Avatar
nico_swd nico_swd is offline
 
Join Date: Dec 2005
Location: Spain
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Before PHP 5, the constructor needs to have the same name as the class itself.

Try adding this function.

PHP Code:
function externalVB()
{
     
$this->__construct();

And then place the required_once in the __construct() function.
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:50 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.03877 seconds
  • Memory Usage 2,179KB
  • 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
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)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