vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB5 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=263)
-   -   Incorrect calculation of statistics (https://vborg.vbsupport.ru/showthread.php?t=328874)

denverwork 09-09-2021 09:00 AM

Incorrect calculation of statistics
 
Faced with the problem that the data for statistics are calculated incorrectly by cron.
For example, new threads.
core/includes/cron/stats.php:
PHP Code:

...
// new threads
$newtopics vB::getDbAssertor()->getRow('vBForum:getStarterStats', array('timestamp' => $timestamp));
... 

core/packages/vbforum/db/mysql/querydefs.php:
PHP Code:

...
        
'getStarterStats' => array(vB_dB_Query::QUERYTYPE_KEY => vB_dB_Query::QUERY_SELECT,
            
'query_string' => "
                SELECT COUNT(*) AS count
                FROM {TABLE_PREFIX}node
                WHERE (starter=nodeid) AND publishdate > {timestamp}
        "
),
... 

This data is calculated by the script and written to the table stats, which is run by cron.
When calculating the data in this case, not only new posts are included, but also private messages.

But if you start manually recalculating statistics in the admin panel, then the logic is as follows,
core/admincp/misc.php:
PHP Code:

// new threads
$newthreads $vbulletin->db->query_first('SELECT COUNT(nodeid) AS total FROM ' TABLE_PREFIX 'node AS node INNER JOIN ' TABLE_PREFIX 'closure AS cl ON cl.parent = ' $forumChannel ' WHERE node.nodeid = node.starter AND cl.child = node.nodeid AND node.publishdate >= ' $timestamp ' AND node.publishdate < ' . ($timestamp 86400)); 


Why such a difference can be in the code? And how to fix it correctly so as not to make changes to the core?


All times are GMT. The time now is 12:52 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.01624 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
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (1)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