Thread: Statistics Modifications - Dream's Forum Statistics
View Single Post
  #280  
Old 12-03-2007, 07:25 PM
doogie1775 doogie1775 is offline
 
Join Date: Oct 2007
Posts: 30
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TomasDR View Post
I found the problem with Monthly registrations stats.

The section in statistics.php that computes the year(s) is incorrect:
PHP Code:
  // calc year to get registrations from
  
$year $today['year'];
  if (
$howmany $today['month']) {
   
$year--;
  }
  
$year $year floor(($howmany $today['month']) / 12);
 
  
// calc month since to get registrarions from
  
$month $today['month'] - ($howmany 1);
  if (
$month 1) {
   
$month 12 + ($month 12);
  } 
The statement on line 1293 is incorrect.

PHP Code:
$year $year floor(($howmany $today['month']) / 12); 
As mentioned in other posts this just started happening. It's because the default results number is 10 & November is the 11th month. What happens is if the results # is lower then the current month the PHP function "floor" rounds down but it's rounding down a negative number and then when you subtract a negative # you are adding, so it's getting registration stats for the year 2008!

$year = $year - floor(($howmany - $today['month']) / 12)
$year = $year - floor((10 - 11) / 12)
$year = $year - floor((-1) / 12)
$year = $year - floor(-0.0833)
$year = $year - -1
$year = 2007 - -1
$year = 2008

A simple fix is to use the "intval" function rather then "floor", which just returns the integer which is what was being attempted with the "floor" function and when the result is (-0.0833) it will return 0 which will work.

PHP Code:
  // calc year to get registrations from
  
$year $today['year'];
  if (
$howmany $today['month']) {
   
$year--;
  }
   
$year $year intval(($howmany $today['month']) / 12);
 
  
// calc month since to get registrarions from
  
$month $today['month'] - ($howmany 1);
  if (
$month 1) {
   
$month 12 + ($month 12);
  } 
This worked perfectly!!!! Thanks a MILLION Tomas
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01095 seconds
  • Memory Usage 1,805KB
  • 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
  • (3)bbcode_php
  • (1)bbcode_quote
  • (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