vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   which hook do I use to create a plugin for this? (https://vborg.vbsupport.ru/showthread.php?t=260637)

zeroality 03-19-2011 12:45 AM

which hook do I use to create a plugin for this?
 
I found this:
Code:

$word = array(
'google',
'yahoo'
);

$link = array(
'<a href="http://google.com">google</a>',
'<a href="http://yahoo.com">yahoo</a>'
);


$this->post['message'] = str_replace($word, $link, $this->post['message']);

from a 3.5.x modification that does exactly what I wanted to do on my forums. I wanted to replace a word with another (a bunch of them actually) in existing posts.

Just not sure which hook I should use when creating a new plugin. I've never done a custom plugin for 4.x before. Thanks!

Lynne 03-19-2011 04:05 AM

You are trying to change something in the postbit? So try the postbit_display_complete hook location.

zeroality 03-23-2011 03:11 AM

Yup, works like a charm. But now I'm wondering - if I input an array of say 156 words and set replacements for all of them, what kind of impact would that have on the forums?

Would that translate to 156 extra queries per page load, or only extra queries in the instance of an actual replacement?

Lynne 03-23-2011 03:14 AM

Not extra queries, no, just a lot of php time dealing with the string. It may be better to make changes to the text when it is being saved, rather than waiting until it is being output to change it.

MoMan 03-23-2011 03:40 AM

String replacements generally don't add much performance overhead - I've written a mod that does something similar to this, but decided to make the code global (a preg_replace on $output) as it only took about 0.0005s to do 9 matches. Mind you this is on a dedicated server- not much is able to put a dent in it apart from vbseo's crr's, which really hurt if you have too many.

zeroality 03-23-2011 04:46 AM

Right. Thanks.


All times are GMT. The time now is 07:11 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01037 seconds
  • Memory Usage 1,716KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete