Continued a bit:
[mailer.git] / inc / config-functions.php
index 4fd2eca37677c6b8d744826991310a860f85e0fe..825faea0d883e6fa11593a19de0ac1919229ae31 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Konfigurationsfunktionen                         *
  * -------------------------------------------------------------------- *
- * $Revision::                                                        $ *
- * $Date::                                                            $ *
- * $Tag:: 0.2.1-FINAL                                                 $ *
- * $Author::                                                          $ *
- * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * 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 *
@@ -58,6 +53,7 @@ function initConfig () {
                // 'DEBUG_HOURLY'        => 'N',
                // 'DEBUG_DAILY'         => 'N',
                // 'DEBUG_MONTHLY'       => 'N',
+               // 'DEBUG_YEARLY'        => 'N',
                // 'DEBUG_WEEKLY'        => 'N',
                // 'DEBUG_REGEX'         => 'N',
                // 'ADMIN_REGISTERED'    => 'N',
@@ -75,7 +71,7 @@ function getConfig ($configEntry) {
        // Is the entry there?
        if (!isConfigEntrySet($configEntry)) {
                // Raise an error of missing entries
-               reportBug(__FUNCTION__, __LINE__, sprintf("Configuration entry <span class=\"data\">%s</span> is missing.", $configEntry));
+               reportBug(__FUNCTION__, __LINE__, sprintf('Configuration entry <span class="data">%s</span> is missing.', $configEntry));
        } // END - if
 
        // Return it
@@ -286,11 +282,11 @@ function updateOldConfigFile () {
 }
 
 // Update config entries
-function updateConfiguration ($entries, $values, $updateMode = '', $config = '0') {
+function updateConfiguration ($entries, $values, $updateMode = '', $config = '0', $force = FALSE) {
        // Do not update config in CSS mode
-       if ((isCssOutputMode()) || (isRawOutputMode()) || (isInstallationPhase())) {
+       if (($force === FALSE) && ((isCssOutputMode()) || (isRawOutputMode()) || (isInstaller()))) {
                // This logger line may be very noisy
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not updating configuration. entries[]=' . gettype($entries) . ',values[]=' . gettype($values) . ',updateMode=' . $updateMode . ',config=' . $config . ',isCssOutputMode()=' . intval(isCssOutputMode()) . ',isRawOutputMode()=' . intval(isRawOutputMode()) . ',isInstallationPhase()=' . intval(isInstallationPhase()));
+               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not updating configuration. entries[]=' . gettype($entries) . ',values[]=' . gettype($values) . ',updateMode=' . $updateMode . ',config=' . $config . ',isCssOutputMode()=' . intval(isCssOutputMode()) . ',isRawOutputMode()=' . intval(isRawOutputMode()) . ',isInstaller()=' . intval(isInstaller()));
                return;
        } // END - if
 
@@ -304,7 +300,7 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
                        // Update mode set?
                        if (!empty($updateMode)) {
                                // Update entry
-                               $SQL .= sprintf("`%s`=`%s`%s%s,", $entry, $entry, $updateMode, (float) $values[$idx]);
+                               $SQL .= sprintf('`%s`=`%s`%s%01.5f,', $entry, $entry, $updateMode, (float) $values[$idx]);
                        } else {
                                // Check if string or number but no array
                                if (is_array($values[$idx])) {
@@ -312,7 +308,8 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
                                        reportBug(__FUNCTION__, __LINE__, 'values[' . $idx . '] should not be an array! Content=<pre>'.print_r($values[$idx], TRUE).'</pre>');
                                } elseif ($values[$idx] == 'UNIX_TIMESTAMP()') {
                                        // Function UNIX_TIMESTAMP() detected
-                                       $SQL .= sprintf("`%s`=UNIX_TIMESTAMP(),", $entry);
+                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Function UNIX_TIMESAMP() detected: entry=' . $entry);
+                                       $SQL .= sprintf('`%s`=UNIX_TIMESTAMP(),', $entry);
 
                                        // Set timestamp in array as well
                                        setConfigEntry($entry, time());
@@ -325,15 +322,17 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 
                                        // Update mode set
                                        // @TODO Call setConfigEntry() somehow
-                                       $SQL .= $entries = sprintf("`%s`=`%s`%s%s", $entry, $entry, $updateMode, (float) $values[$idx]);
+                                       $SQL .= $entries = sprintf('`%s`=`%s`%s%01.5f', $entry, $entry, $updateMode, (float) $values[$idx]);
                                } elseif (($values[$idx] + 0) === $values[$idx]) {
                                        // Number detected
-                                       $SQL .= sprintf("`%s`=%s,", $entry, (float) $values[$idx]);
+                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Number detected: entry=' . $entry . ',values[' . $idx . '/' . gettype($values[$idx]) . ']=' . $values[$idx]);
+                                       $SQL .= sprintf('`%s`=%01.5f,', $entry, (float) $values[$idx]);
 
                                        // Set it in config as well
                                        setConfigEntry($entry, $values[$idx]);
                                } else {
                                        // String detected
+                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Regular value detected: entry=' . $entry . ',values[' . $idx . '/' . gettype($values[$idx]) . ']=' . $values[$idx]);
                                        $SQL .= sprintf("`%s`='%s',", $entry, sqlEscapeString($values[$idx]));
 
                                        // Set it in config as well
@@ -348,26 +347,29 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
                // Is the value zero?
                if ($values == '0') {
                        // Then skip it
-                       continue;
+                       return;
                } // END - if
 
                // Update mode set
                // @TODO Call setConfigEntry() somehow
-               $SQL = sprintf("`%s`=`%s`%s%s", $entries, $entries, $updateMode, (float) $values);
-       } elseif (($values + 0) === $values) {
-               // Number detected
-               $SQL = sprintf("`%s`=%s", $entries, (float) $values);
-
-               // Set it in config first
-               setConfigEntry($entries, (float) $values);
+               $SQL = sprintf('`%s`=`%s`%s%01.5f', $entries, $entries, $updateMode, (float) $values);
        } elseif ($values == 'UNIX_TIMESTAMP()') {
                // Function UNIX_TIMESTAMP() detected
-               $SQL = sprintf("`%s`=UNIX_TIMESTAMP()", $entries);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Function UNIX_TIMESAMP() detected: entries=' . $entries);
+               $SQL = sprintf('`%s`=UNIX_TIMESTAMP()', $entries);
 
                // Set timestamp in array as well
                setConfigEntry($entries, time());
+       } elseif (($values + 0) === $values) {
+               // Number detected
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Number detected: entries=' . $entries . ',values[' . gettype($values) . ']=' . $values);
+               $SQL = sprintf('`%s`=%01.5f', $entries, (float) $values);
+
+               // Set it in config first
+               setConfigEntry($entries, (float) $values);
        } else {
                // Regular entry to update
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Regular value detected: entries=' . $entries . ',values[' . gettype($values) . ']=' . $values);
                $SQL = sprintf("`%s`='%s'", $entries, sqlEscapeString($values));
 
                // Set it in config as well
@@ -376,9 +378,9 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 
        // Run database update
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQL=' . $SQL);
-       sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_config` SET ".$SQL." WHERE `config`=%s LIMIT 1",
+       sqlQueryEscaped('UPDATE `{?_MYSQL_PREFIX?}_config` SET ' . $SQL . ' WHERE `config`=%s LIMIT 1',
                        array(bigintval($config)), __FUNCTION__, __LINE__);
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQL=' . $SQL . ',affectedRows=' . SQL_AFFECTEDROWS());
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SQL=' . $SQL . ',affectedRows=' . sqlAffectedRows());
 
        // Rebuild cache
        rebuildCache('config', 'config');
@@ -387,7 +389,7 @@ function updateConfiguration ($entries, $values, $updateMode = '', $config = '0'
 // Filter for loading configuration
 function FILTER_LOAD_CONFIGURATION ($no = '0') {
        // Is installation phase?
-       if (isInstallationPhase()) {
+       if (isInstaller()) {
                // Then don't load any configuration
                return;
        } // END - if
@@ -406,7 +408,7 @@ function FILTER_LOAD_CONFIGURATION ($no = '0') {
                incrementStatsEntry('cache_hits');
        } elseif ((!isExtensionActive('cache')) || (!isset($GLOBALS['cache_array']['config'][$no]))) {
                // Load config from DB
-               $result_config = sqlQueryEscaped("SELECT * FROM `{?_MYSQL_PREFIX?}_config` WHERE `config`='%s' LIMIT 1",
+               $result_config = sqlQueryEscaped('SELECT * FROM `{?_MYSQL_PREFIX?}_config` WHERE `config`=%s LIMIT 1',
                        array(bigintval($no)), __FUNCTION__, __LINE__);
 
                // Is the config there?