X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fstats-functions.php;h=b4fd58326db00066c8d41ddd3f656c3b5b65d60a;hp=931e40b22b27c6e0d6f4db05d26964c6751822aa;hb=6dcb879ba3abb21843503cacc65d1fe0848eb90f;hpb=5a8c537bc2633402ca515964c9a3a2674f37edc2 diff --git a/inc/stats-functions.php b/inc/stats-functions.php index 931e40b22b..b4fd58326d 100644 --- a/inc/stats-functions.php +++ b/inc/stats-functions.php @@ -10,15 +10,9 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Auto-Loeschung von veralteten Mail-Links * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $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 - 2016 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 +38,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 +46,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 (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 +70,7 @@ function incrementStatsEntry ($entry, $amount=1) { $GLOBALS['stats'][$entry] += $amount; } else { // Write it - $GLOBALS['stats'][$entry] = $amount; + setStatsEntry($entry, $amount); } } @@ -100,66 +97,68 @@ function setStatsEntry ($entry, $value) { // Loads stats table function loadStatsTable () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!isSqlLinkUp()) 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 = sqlQueryEscaped("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)) { + while ($row = sqlFetchArray($result)) { $GLOBALS['stats'][$row['stats_entry']] = $row['stats_value']; } // END - while // Free the result - SQL_FREERESULT($result); + sqlFreeResult($result); } // Checks if the the statistics table is created function isStatsTableCreated () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!isSqlLinkUp()) return FALSE; // Ask for it - $result = SQL_QUERY_ESC("SHOW TABLES LIKE '{?_MYSQL_PREFIX?}_stats_%s'", - array(date('Ymd', time())), __FUNCTION__, __LINE__); + $result = sqlQueryEscaped("SHOW TABLES LIKE '{?_MYSQL_PREFIX?}_stats_%s'", + array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__); - // Do we have a row? - return SQL_NUMROWS($result); + // Is there a row? + return sqlNumRows($result); } // Create the dummy table function createStatsTable () { // Check if the link is up - if (!SQL_IS_LINK_UP()) return false; + if (!isSqlLinkUp()) return FALSE; // Create it here - $result = SQL_QUERY_ESC("CREATE TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` ( + $result = sqlQueryEscaped("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 (!isSqlLinkUp()) return FALSE; // Empty the table first - SQL_QUERY_ESC("TRUNCATE `{?_MYSQL_PREFIX?}_stats_%s`", - array(date('Ymd', time())), __FUNCTION__, __LINE__); + sqlQueryEscaped('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 ", - 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) { @@ -167,15 +166,27 @@ function writeStatsTable () { } // END - foreach // Finalize it and run it - SQL_QUERY(substr($sql, 0, -1), __FUNCTION__, __LINE__); + sqlQuery(substr($sql, 0, -1), __FUNCTION__, __LINE__); } // 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'])) && (!isInstaller()) && (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 }