View Single Post
  #5  
Old 09-05-2008, 03:38 PM
mooreaa mooreaa is offline
 
Join Date: Aug 2008
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Though I'd share what I came up with. Not sure what I might be able to trim from this function yet, but this will load a post data based on a $postid. It also needs to have a valid $vbulletin and $thread variable... so still trying to figure out how to load those when using this function completely outside of VB.

PHP Code:
function load_post_data$postid )
{
    global 
$thread;
    global 
$post;
    global 
$forum;
    global 
$vbulletin;
    global 
$db;
    
    
    
// *********************************************************************************
    // get forum info
    
$foruminfo fetch_foruminfo($thread['forumid']);

    
//create postbit factory
    
$postbit_factory =& new vB_Postbit_Factory();
    
$postbit_factory->registry =& $vbulletin;
    
$postbit_factory->forum =& $foruminfo;
    
$postbit_factory->thread =& $thread;
    
$postbit_factory->cache = array();
    
$postbit_factory->bbcode_parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
    
    
// READ POST DATA FROM VBULLETIN DB
    
    
$postids "post.postid IN (0" $postid ")";
    
$postorder 'DESC';
    
    
$posts $db->query_read("
        SELECT
            post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
            user.*, userfield.*, usertextfield.*,
            editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
            editlog.reason AS edit_reason, editlog.hashistory,
            postparsed.pagetext_html, postparsed.hasimages,
            IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
        FROM " 
TABLE_PREFIX "post AS post
        LEFT JOIN " 
TABLE_PREFIX "user AS user ON(user.userid = post.userid)
        LEFT JOIN " 
TABLE_PREFIX "userfield AS userfield ON(userfield.userid = user.userid)
        LEFT JOIN " 
TABLE_PREFIX "usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
        
        LEFT JOIN " 
TABLE_PREFIX "editlog AS editlog ON(editlog.postid = post.postid)
        LEFT JOIN " 
TABLE_PREFIX "postparsed AS postparsed ON(postparsed.postid = post.postid AND postparsed.styleid = " intval(STYLEID) . " AND postparsed.languageid = " intval(LANGUAGEID) . ")
        LEFT JOIN " 
TABLE_PREFIX "sigparsed AS sigparsed ON(sigparsed.userid = user.userid AND sigparsed.styleid = " intval(STYLEID) . " AND sigparsed.languageid = " intval(LANGUAGEID) . ")
        LEFT JOIN " 
TABLE_PREFIX "sigpic AS sigpic ON(sigpic.userid = post.userid)
        
        WHERE 
$postids
        ORDER BY post.dateline 
$postorder
    "
);
    
    
$post $db->fetch_array($posts);
    
    
// FINISHED READING DATA FROM VB DB
    
    
$fetchtype 'post';
    
    
$postbit_obj =& $postbit_factory->fetch_postbit($fetchtype);
    
    if (
$fetchtype == 'post')
    {
        
$postbit_obj->highlight =& $replacewords;
    }
    
    
$postbit_obj->cachable $post_cachable;

    
$post['islastshown'] = ($post['postid'] == $lastpostid);
    
$post['attachments'] =& $postattach["$post[postid]"];

    
$parsed_postcache = array('text' => '''images' => 1'skip' => false);

    
$postbits .= $postbit_obj->construct_postbit($post);

    return 
$post;

Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02151 seconds
  • Memory Usage 1,810KB
  • 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_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