vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB5 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=263)
-   -   Finding the right hook(s) for plugin(s) in vBulletin 5.2.0 (https://vborg.vbsupport.ru/showthread.php?t=322009)

robertw795 03-04-2016 01:08 PM

Finding the right hook(s) for plugin(s) in vBulletin 5.2.0
 
I am currently adding advertisements to a forum and I want to place an advertisement after every 5 posts in a thread. To do this I have to write a custom plug-in.

I used to have a similar custom plug-in in a vBulletin 3.8.5 forum which I wanted to use as a reference. I noticed that the hooks have changed over the years. At this point my problem is that I don't know what hook I have to use for my plug-in, as the hooks of 3.8.5 don't correspond to those of 5.2.0 anymore.

I'd like to ask you which hook I have to use for my plug-in. And in general, where to find documentation about hooks and their functionality for future reference.

Where can I find this?

Thanks in advance. :)

Replicant 03-04-2016 05:35 PM

Hooks have just been re-implemented in vb5. There are only two in 5.2.0 and they are pretty much for testing. The hook system is in it infancy on vb5.

I would add a template hook in the conversation display templates to accomplish what you're trying to do. The only problem with that is the modification won't survivr an upgrade and will need to be re-added which is really not that big of a deal. I have several on my site that I do it on every upgrade.

robertw795 03-07-2016 08:15 AM

Quote:

Originally Posted by Replicant (Post 2566534)
I would add a template hook in the conversation display templates to accomplish what you're trying to do.

Hello,

Thanks for your reaction.
I've managed to display my plug-ins custom template below the reaction to a topic form using the conversation_below_entry hook location.

Now I want to display it inbetween the posts, so what I want to do is fetch the number of the posts in the topic, and place my custom template after every 5. Is it possible to write a custom hook location for this?

Replicant 03-07-2016 01:20 PM

From the VB5 manual

{vb:hook}
Code:

{vb:hook} is used for including templates hooks in current template.

Parameter Position        Parameter Name        Type        Required        Description
1        hook        string        Yes        The name of the template hook
Code:
{vb:hook test}

There is also {vb:php} available which provides for a limited amount of php functions in you template code.

Code:

{vb:php}
{vb:php} is used to run allowed php functions during the execution of a template.

Parameter Position        Parameter Name        Type        Required        Description
1        function name        string        Yes        The name of the function
2...∞        string[, ...]        compiable code        No        Arguments of the function
Code:
{vb:set test, {vb:php implode, ',', {vb:raw variable}}}
PHP Equivalent:
<?php

$test = implode(',', $variable);
Allowed functions:
implode()
explode()
array_merge()
array_intersect()
array_intersect_key()
array_keys()
array_push()
array_pop()
array_shift()
array_unshift()
array_unique()
array()
current()
str_repeat()
str_pad()
strip_tags()
strtolower()
strtoupper()
trim()
substr()
vbstrtolower()

For more info on the VB5 template syntax, go here.

This is too funny. -->> {vb:php}

robertw795 03-08-2016 07:03 AM

Thanks, I've got all the information I need now.


All times are GMT. The time now is 05:53 AM.

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.01046 seconds
  • Memory Usage 1,725KB
  • 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
  • (2)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)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