X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fstats-functions.php;h=c3f607114228cf869f5afaeb84391cfa5327a5b5;hp=931e40b22b27c6e0d6f4db05d26964c6751822aa;hb=596c8ab32594401ca84abfbfe35513ddfff31bec;hpb=5a8c537bc2633402ca515964c9a3a2674f37edc2 diff --git a/inc/stats-functions.php b/inc/stats-functions.php index 931e40b22b..c3f6071142 100644 --- a/inc/stats-functions.php +++ b/inc/stats-functions.php @@ -14,11 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * 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 * @@ -44,7 +43,7 @@ if (!defined('__SECURITY')) { // Init stats system function initStatsSystem () { // Is stats cache loaded? - if ((!isset($GLOBALS['stats_loaded'])) && (getConfig('STATS_ENABLED') == 'Y')) { + if ((!isset($GLOBALS['stats_loaded'])) && (ifInternalStatsEnabled())) { // Init statistics array $GLOBALS['stats'] = array(); @@ -52,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 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 (getConfig('STATS_ENABLED') != 'Y') return; + // Is there stats enabled? + if ((!ifInternalStatsEnabled()) && ($entry != 'db_hits')) { + // Abort here + return; + } // END - if // Is it there? if (isStatsEntrySet($entry)) { @@ -73,7 +75,7 @@ function incrementStatsEntry ($entry, $amount=1) { $GLOBALS['stats'][$entry] += $amount; } else { // Write it - $GLOBALS['stats'][$entry] = $amount; + setStatsEntry($entry, $amount); } } @@ -100,17 +102,19 @@ 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(); } // END - if // Load it from database - $result = SQL_QUERY_ESC("SELECT `stats_entry`,`stats_value` FROM `{?_MYSQL_PREFIX?}_stats_%s` ORDER BY `stats_entry` ASC", - array(date('Ymd', time())), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `stats_entry`, `stats_value` FROM `{?_MYSQL_PREFIX?}_stats_%s` ORDER BY `stats_entry` ASC", + array( + generateDateTime(time(), '6') + ), __FUNCTION__, __LINE__); // Read all rows while ($row = SQL_FETCHARRAY($result)) { @@ -124,42 +128,42 @@ 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(date('Ymd', time())), __FUNCTION__, __LINE__); + 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'", - array(date('Ymd', time())), __FUNCTION__, __LINE__); +) 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(date('Ymd', time())), __FUNCTION__, __LINE__); + array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__); // Begin the SQL command - $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`,`stats_value`) VALUES ", - date('Ymd', time())); + $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`, `stats_value`) VALUES ", + generateDateTime(time(), '6')); // Add all entries to the final query foreach ($GLOBALS['stats'] as $entry => $value) { @@ -173,9 +177,21 @@ function writeStatsTable () { // Filter for flushing statistics function FILTER_FLUSH_STATS () { // Now do we have stats? - if ((isset($GLOBALS['stats'])) && (!isInstallationPhase()) && (getConfig('STATS_ENABLED') == 'Y')) { + 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 }