X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fstats-functions.php;h=149e6820f27625f693398d028a52d53d1b07813a;hb=5ab0d021f3e96722af5d96d2b9036430200c06cb;hp=61392cbfff3c4e8e29ca7fc359d671bbafebd274;hpb=c3b4eaf29946349ff058691db2dcb615a5379bb2;p=mailer.git diff --git a/inc/stats-functions.php b/inc/stats-functions.php index 61392cbfff..149e6820f2 100644 --- a/inc/stats-functions.php +++ b/inc/stats-functions.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -43,7 +43,7 @@ if (!defined('__SECURITY')) { // Init stats system function initStatsSystem () { // Is stats cache loaded? - if ((!isset($GLOBALS['stats_loaded'])) && (ifStatsAreEnabled())) { + if ((!isset($GLOBALS['stats_loaded'])) && (ifInternalStatsEnabled())) { // Init statistics array $GLOBALS['stats'] = array(); @@ -51,20 +51,23 @@ function initStatsSystem () { loadStatsTable(); // Stats are loaded! - $GLOBALS['stats_loaded'] = true; + $GLOBALS['stats_loaded'] = TRUE; } // END - if } -// Checks if we have a statistics entry +// Checks if a statistics entry has been set function isStatsEntrySet ($entry) { - // Do we have the entry? + // Is there the entry? return (isset($GLOBALS['stats'][$entry])); } // Increments a statistics entry function incrementStatsEntry ($entry, $amount=1) { - // Do we have stats enabled? - if (!ifStatsAreEnabled()) return; + // Is there stats enabled? + if ((!ifInternalStatsEnabled()) && ($entry != 'db_hits')) { + // Abort here + return; + } // END - if // Is it there? if (isStatsEntrySet($entry)) { @@ -72,7 +75,7 @@ function incrementStatsEntry ($entry, $amount=1) { $GLOBALS['stats'][$entry] += $amount; } else { // Write it - $GLOBALS['stats'][$entry] = $amount; + setStatsEntry($entry, $amount); } } @@ -99,9 +102,9 @@ function setStatsEntry ($entry, $value) { // Loads stats table function loadStatsTable () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!SQL_IS_LINK_UP()) return FALSE; - // Do we have it there for today? + // Is it there for today? if (!isStatsTableCreated()) { // Then create a default one createStatsTable(); @@ -125,41 +128,41 @@ function loadStatsTable () { // Checks if the the statistics table is created function isStatsTableCreated () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!SQL_IS_LINK_UP()) return FALSE; // Ask for it $result = SQL_QUERY_ESC("SHOW TABLES LIKE '{?_MYSQL_PREFIX?}_stats_%s'", array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__); - // Do we have a row? + // Is there a row? return SQL_NUMROWS($result); } // Create the dummy table function createStatsTable () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!SQL_IS_LINK_UP()) return FALSE; // Create it here - $result = SQL_QUERY_ESC("CREATE TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` ( + $result = SQL_QUERY_ESC("CREATE TEMPORARY TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` ( `stats_entry` VARCHAR(100) NOT NULL DEFAULT '', `stats_value` BIGINT(20) NOT NULL DEFAULT 0, PRIMARY KEY (`stats_entry`) -) TYPE = HEAP COMMENT = 'Temporary statistics table'", +) ENGINE = HEAP COMMENT = 'Temporary statistics table'", array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__); } // Write all entries to the table function writeStatsTable () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!SQL_IS_LINK_UP()) return FALSE; // Empty the table first SQL_QUERY_ESC("TRUNCATE `{?_MYSQL_PREFIX?}_stats_%s`", array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__); // Begin the SQL command - $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`,`stats_value`) VALUES ", + $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`, `stats_value`) VALUES ", generateDateTime(time(), '6')); // Add all entries to the final query @@ -174,9 +177,21 @@ function writeStatsTable () { // Filter for flushing statistics function FILTER_FLUSH_STATS () { // Now do we have stats? - if ((isset($GLOBALS['stats'])) && (!isInstallationPhase()) && (ifStatsAreEnabled())) { + if ((isset($GLOBALS['stats'])) && (!isInstallationPhase()) && (ifInternalStatsEnabled())) { // Write statistics to temporary table writeStatsTable(); + + // Count db/cache hits in database + updateConfiguration( + array( + 'db_hits', + 'cache_hits' + ), array( + getStatsEntry('db_hits'), + getStatsEntry('cache_hits') + ), + '+' + ); } // END - if }