vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   [solved] update forum counters on hook newpost_process (https://vborg.vbsupport.ru/showthread.php?t=314987)

omardealo 10-20-2014 12:59 PM

[solved] update forum counters on hook newpost_process
 
hello ,

i Create plugin on hook : newpost_process
it job move threads to another forumid when user posted duplicate thread Content.

PHP Code:

if(//Condition)
{
$dataman->set('forumid'$vbulletin->options['search_duplicate_thread_forumid']); 


every thing is okay , but now i needed to update forum counters .
I tried a lot :

PHP Code:

// update counters 
require_once(DIR '/includes/functions_databuild.php'); 
build_forum_counters($vbulletin->options['search_duplicate_thread_forumid']);  
build_forum_counters($foruminfo['forumid']); 
build_forum_counters($forum['forumid']); 

In the end I think it does not work except in the hook : newpost_complete
after threads greated already .

is anyway to make update to forum counters on hook : newpost_process
Or another way to update the forum counters when this condition is true !

kh99 10-20-2014 01:06 PM

I think maybe it only works in newpost_complete because when newpost_process is called, the new post has not been saved yet. Maybe you can do something like, in newpost_process:

Code:

if(//Condition)
{
$dataman->set('forumid', $vbulletin->options['search_duplicate_thread_forumid']); 
$update_counters = 1;

else
  $update_counters = 0;


then in newpost_complete,

Code:

if ($update_counters)
{
// forum counter build code here
}


omardealo 10-20-2014 01:27 PM

Quote:

Originally Posted by kh99 (Post 2519508)
I think maybe it only works in newpost_complete because when newpost_process is called, the new post has not been saved yet. Maybe you can do something like, in newpost_process:

Code:

if(//Condition)
{
$dataman->set('forumid', $vbulletin->options['search_duplicate_thread_forumid']); 
$update_counters = 1;

else
  $update_counters = 0;


then in newpost_complete,

Code:

if ($update_counters)
{
// forum counter build code here
}


yeah that's What I understood it in the end, after many trying .
Your idea completely succeeded
Thank you to my brother :up:


All times are GMT. The time now is 05:26 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.00992 seconds
  • Memory Usage 1,724KB
  • 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
  • (4)bbcode_code_printable
  • (2)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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