]> git.mxchange.org Git - mailer.git/blobdiff - inc/stats-functions.php
Continued a bit:
[mailer.git] / inc / stats-functions.php
index 1e4b5dac22d7634abdd1ca86203bf1db3209ce2f..b4fd58326db00066c8d41ddd3f656c3b5b65d60a 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 10/25/2009 *
- * ===============                              Last change: 10/25/2009 *
+ * Mailer v0.2.1-FINAL                                Start: 10/25/2009 *
+ * ===================                          Last change: 10/25/2009 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : stats-functions.php                              *
  * -------------------------------------------------------------------- *
  * 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,14 +70,14 @@ function incrementStatsEntry ($entry, $amount=1) {
                $GLOBALS['stats'][$entry] += $amount;
        } else {
                // Write it
-               $GLOBALS['stats'][$entry] = $amount;
+               setStatsEntry($entry, $amount);
        }
 }
 
 // Getter for stats
 function getStatsEntry ($entry) {
        // Default is zero
-       $stats = 0;
+       $stats = '0';
 
        // Is it there?
        if (isStatsEntrySet($entry)) {
@@ -99,71 +96,97 @@ function setStatsEntry ($entry, $value) {
 
 // Loads stats table
 function loadStatsTable () {
-       // Do we have it there for today?
+       // Check if the link is up
+       if (!isSqlLinkUp()) return FALSE;
+
+       // 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 (!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 (!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 (!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("INSERT 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) {
+       foreach ($GLOBALS['stats'] as $entry => $value) {
                $sql .= sprintf("('%s', %s),", $entry, bigintval($value));
        } // 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'])) && (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
 }