Thread: Miscellaneous Hacks - WoW Character BBCode
View Single Post
  #172  
Old 06-24-2008, 04:40 PM
sweede's Avatar
sweede sweede is offline
 
Join Date: Jan 2007
Posts: 391
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You would be correct.

Much of it was hard coded and copy-pasted from the original hack.

I have been slowly re-writing the entire thing though, it's just taking longer than i have anticipated. Much of it is due to handling the amount of information (over 130 individual stat items) returned from the wowarmory.com's character XML file and finding an easily customizable way to display that information on a per class, or even talent spec, basis.

For what you want to do though (Multiple servers + characters per postbit) , I won't include features like that because it would be impossible to write code to support the many ways you would be able to get that information to the hook.

I would instead have methods/functions available (such as GetCharacterURL($server,$char,$locale) that you would call in your own hook with your own processing of the custom profile field.

so for example, you would have a profile field that people would enter character/realm info like
US|Vek'nilash|Azaril
US|Vek'nilash|Offended
US|Uldaman|Azaril

and your code in the postbit_start hook would look like
PHP Code:
// process profile field.
$postbit_array split("\n"$post[field6] );
foreach(
$postbit_array as $line)
{
 
$line_array split("|",$line);
 list(
$locale$realm$char) = $line_array;
 
$URL .= GetCharacterURL($char,$realm,$locale) . "\n";
}

// replace hook in postbit cache
$find '$postbit_left';
$replace $URL;
$template $template_cache['postbit'];

$template str_replace($find$replace$template); 
Of course that's all pseudo code and you'll have to write it accordingly, but that's the general idea of what would need to be done.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01171 seconds
  • Memory Usage 1,776KB
  • 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