View Single Post
  #6  
Old 04-19-2005, 03:34 PM
Telkman Telkman is offline
 
Join Date: Jul 2003
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not got the time to do a full hack for this, but hopefully this quick example will get you started...

This example is only changing showthread.php, if you wanted to make the same changes to showpost.php, announcement.php and others that use the postbit, it's easy enough. I'm trying to keep this as simple as possible, so this is just a replace in showthread.php rather than a $post[...] value. It will add one additional query, which could probably be avoided, but again, I'm in a hurry and trying to keep it simple.

In showthread.php:

PHP Code:
Find both occurences of:
    
$postbits .= construct_postbit($post$template); 

PHP Code:
Add below each:
    
$acs[$post[userid]] = intval($post[userid]); 

PHP Code:
Then find:
            
$postbit construct_postbit($post$template); 
PHP Code:
Add below:
            
$acs[$post[userid]] = intval($post[userid]); 
PHP Code:
Then find:
    eval(
'print_output("' fetch_template('SHOWTHREAD') . '");');
}
// === /GAS step 615 === 

PHP Code:
Add above:
    
$acs2 implode(","array_values($acs));
    
$act $DB_site->query("SELECT COUNT(threadid) AS threads, postuserid AS userid FROM " TABLE_PREFIX "thread WHERE postuserid IN ($acs2) AND forumid IN (" $GAS_setting['forums'] . ") GROUP BY postuserid");
    while (
$act2 $DB_site->fetch_array($act))
    {
        
$search[] = "ac[$act2[userid]]";
        
$replace[] = vb_number_format($act2[threads]);
        unset(
$acs[$act2[userid]]);
    }
    foreach (
$acs as $acid)
    {
        
$search[] = "ac[$acid]";
        
$replace[] = 0;
    }
    
$postbits str_replace($search$replace$postbits); 

In your postbit template you would then need:
PHP Code:
<if condition="THIS_SCRIPT == 'showthread'"><div><a href="search.php?$session[sessionurl]do=process&amp;showposts=0&amp;starteronly=1&amp;exactname=1&amp;searchuser=$post[username]&amp;forumchoice=*****">Articles Writtenac[$post[userid]]</a></div></if> 
Replace ***** with the article forumid. If you need more than one forumid, use forumchoice[]=*****&amp;forumchoice[]=***** etc for each forumid. This could be generated from $GAS_setting['forums'] fairly easily if you wanted to.

Having reread it, it doesn't make a huge deal of sense, but hopefully you can find your way though it if it's of use to you.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01129 seconds
  • Memory Usage 1,805KB
  • 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
  • (7)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