Rewrites/fixes for handling config entries in SQLs
[mailer.git] / inc / stats-functions.php
index 598ca9b5a4e23a510db68224606e8e824de14faa..79cc70549b335fac7581673e44d509583efabf57 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                              *
@@ -18,6 +18,7 @@
  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -99,6 +100,9 @@ function setStatsEntry ($entry, $value) {
 
 // Loads stats table
 function loadStatsTable () {
+       // Check if the link is up
+       if (!SQL_IS_LINK_UP()) return false;
+
        // Do we have it there for today?
        if (!isStatsTableCreated()) {
                // Then create a default one
@@ -120,6 +124,9 @@ 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;
+
        // Ask for it
        $result = SQL_QUERY_ESC("SHOW TABLES LIKE '{?_MYSQL_PREFIX?}_stats_%s'",
                array(date('Ymd', time())), __FUNCTION__, __LINE__);
@@ -130,6 +137,9 @@ function isStatsTableCreated () {
 
 // Create the dummy table
 function createStatsTable () {
+       // Check if the link is up
+       if (!SQL_IS_LINK_UP()) return false;
+
        // Create it here
        $result = SQL_QUERY_ESC("CREATE TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` (
 `stats_entry` VARCHAR(100) NOT NULL DEFAULT '',
@@ -141,16 +151,19 @@ PRIMARY KEY (`stats_entry`)
 
 // Write all entries to the table
 function writeStatsTable () {
+       // Check if the link is up
+       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__);
 
        // Begin the SQL command
-       $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`,`stats_value`) VALUES ",
+       $sql = sprintf("REPLACE INTO `{?_MYSQL_PREFIX?}_stats_%s` (`stats_entry`,`stats_value`) VALUES ",
                date('Ymd', time()));
 
        // 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
 
@@ -161,7 +174,7 @@ function writeStatsTable () {
 // 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'])) && (!isInstallationPhase()) && (getConfig('STATS_ENABLED') == 'Y')) {
                // Write statistics to temporary table
                writeStatsTable();
        } // END - if