View Single Post
  #1  
Old 06-03-2007, 05:20 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Confused about datamanagers

I have been looking at datamanagers and trying to write a custom one based upon Alan@CIT's article .

I have been looking at the simplest datamanager in vbulletin which seems to be class_dm_announcement.php and have the following question which i hope to have answered by someone as the following issue makes no sense to me...

In looking at the class file, the $validfields array is as follows:
PHP Code:
var $validfields = array(
    
'announcementid'     => array(TYPE_UINT,     REQ_INCR'return ($data > 0);'),
    
'forumid'            => array(TYPE_INT,      REQ_YESVF_METHOD),
    
'userid'             => array(TYPE_UINT,     REQ_YESVF_METHOD),
    
'title'              => array(TYPE_STR,      REQ_YES'return ($data != \'\');'),
    
'pagetext'           => array(TYPE_STR,      REQ_YES'return ($data != \'\');'),
    
'startdate'          => array(TYPE_UNIXTIMEREQ_YES),
    
'enddate'            => array(TYPE_UNIXTIMEREQ_YES),
    
'views'              => array(TYPE_UINT,     REQ_NO),
    
'allowhtml'          => array(TYPE_BOOL,     REQ_NO),
    
'allowbbcode'        => array(TYPE_BOOL,     REQ_NO),
    
'allowsmilies'       => array(TYPE_BOOL,     REQ_NO),
    
'announcementoptions' => array(TYPE_UINT,     REQ_NO)
); 
The table which is declared is
PHP Code:
var $table 'announcement'

And the fields in the table `announcement` are as follows:
Code:
announcementid
title
userid
startdate
enddate
pagetext
forumid
views
announcementoptions
Now, the thing that is confusing me is the following...

Since the class needs considers 'allowhtml', 'allowbbcode', and 'allowsmilies' valid fields, but since the fields do not exist within the announcement table, how does the class use these fields to get the data into the post table?

Also, how does the class know to utilize any other table than announcement?
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01031 seconds
  • Memory Usage 1,781KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete