]> git.mxchange.org Git - mailer.git/commitdiff
More fixes for new installer and script in general :(
authorRoland Häder <roland@mxchange.org>
Thu, 27 Dec 2012 04:11:37 +0000 (04:11 +0000)
committerRoland Häder <roland@mxchange.org>
Thu, 27 Dec 2012 04:11:37 +0000 (04:11 +0000)
22 files changed:
inc/ajax/ajax_installer.php
inc/db/lib-mysql3.php
inc/filter-functions.php
inc/filters.php
inc/functions.php
inc/install-functions.php
inc/install/install_page_finalize.php
inc/language/de.php
inc/loader/load-
inc/loader/load-admins.php
inc/loader/load-config.php
inc/loader/load-extension.php
inc/loader/load-filter.php
inc/loader/load-imprint.php
inc/loader/load-modules.php
inc/loader/load-payments.php
inc/loader/load-refdepths.php
inc/loader/load-refsystem.php
inc/loader/load-themes.php
inc/mysql-connect.php
inc/sql-functions.php
inc/wrapper-functions.php

index 1fedf138f03ac6fb463ccae4ab03854486501340..055d00270adb4890f715c3dcc112cb4113991b5b 100644 (file)
@@ -52,6 +52,9 @@ function establishAjaxInstallerDatabaseLink () {
                reportBug(__FUNCTION__, __LINE__, 'Required session data for this step not found.');
        } // END - if
 
+       // Remove any previous flag
+       unsetSqlLinkUp(__FUNCTION__, __LINE__);
+
        // Establish link
        $linkResource = SQL_CONNECT(getSession('mysql_host'), getSession('mysql_login'), getSession('mysql_password1'), __FUNCTION__, __LINE__);
 
@@ -628,9 +631,6 @@ function doAjaxInstallerStepInstallExtensions () {
                        reportBug(__FUNCTION__, __LINE__, 'Cannot load/register extension ' . $ext_name . '.');
                } // END - if
        } // END - foreach
-
-       // Close SQL link
-       SQL_CLOSE(__FUNCTION__, __LINE__);
 }
 
 // Call-back function to write local configuration file
index e577551244475eff1a4dda43238c663e3089198a..d7a7fd3872ea7f8138fb851a8c0be9aace892320 100644 (file)
@@ -75,7 +75,10 @@ function SQL_QUERY ($sqlString, $F, $L, $enableCodes = TRUE) {
                $GLOBALS[__FUNCTION__][$sqlString] = $sqlStringModified;
                $GLOBALS['last_sql']               = $sqlStringModified;
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Stored cache: ' . $sqlStringModified);
-       }  else {
+       } elseif (!SQL_IS_LINK_UP()) {
+               // Link went down while using cached SQL
+               reportBug(__FUNCTION__, __LINE__, 'Link went down while using cached SQL: sqlString=' . $sqlString . ',F=' . basename($F) . ',L=' . $L . ',enableCodes=' . intval($enableCodes));
+       } else {
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cache used: ' . $sqlString);
 
                // Use cache (to save a lot function calls
@@ -169,7 +172,7 @@ function SQL_AFFECTEDROWS() {
 
 // SQL fetch row
 function SQL_FETCHROW ($resource) {
-       // Is a result resource set?
+       // Is $resource valid?
        if ((!is_resource($resource)) || (!SQL_IS_LINK_UP())) return FALSE;
 
        // Fetch the data and return it
@@ -178,10 +181,10 @@ function SQL_FETCHROW ($resource) {
 
 // SQL fetch array
 function SQL_FETCHARRAY ($resource) {
-       // Is a result resource set?
+       // Is $resource valid?
        if ((!is_resource($resource)) || (!SQL_IS_LINK_UP())) return FALSE;
 
-       // Load row from database
+       // Load row as array from database
        $row = mysql_fetch_assoc($resource);
 
        // Return only arrays here
@@ -219,10 +222,11 @@ function SQL_CONNECT ($host, $login, $password, $F, $L) {
                 * SQL_IS_LINK_UP() will only return 'true' if there is really a
                 * working database link.
                 */
-               SQL_SET_LINK($linkResource);
+               SQL_SET_LINK(__FUNCTION__, __LINE__, $linkResource);
        } // END - if
 
        // Return the resource
+       //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'linkResource[]=' . gettype($linkResource));
        return $linkResource;
 }
 
@@ -232,23 +236,27 @@ function SQL_SELECT_DB ($dbName, $F, $L) {
        if (!SQL_IS_LINK_UP()) return FALSE;
 
        // Return the result
+       //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'Selecting database ' . $dbName);
        return mysql_select_db($dbName, SQL_GET_LINK()) or SQL_ERROR($F, $L,  mysql_error());
 }
 
 // SQL close link
 function SQL_CLOSE ($F, $L) {
+       // Is the link up?
        if (!SQL_IS_LINK_UP()) {
                // Skip double close
+               //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'Called but no link is open.');
                return FALSE;
        } // END - if
 
        // Close database link and forget the link
-       $close = mysql_close(SQL_GET_LINK()) or SQL_ERROR($F, $L, mysql_error());
+       $close = mysql_close(SQL_GET_LINK()) or SQL_ERROR($F . ':' . __FUNCTION__, $L . ':' . __LINE__, mysql_error());
 
-       // Close link
-       SQL_SET_LINK(NULL);
+       // Close link in this layer
+       unsetSqlLinkUp(__FUNCTION__, __LINE__);
 
        // Return the result
+       //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'close[' . gettype($close) . ']=' . intval($close));
        return $close;
 }
 
index c75f48417eda2ff8170a372b6b188a324921d019..0f50b2e02724a88a0384d63b7fe830836233b6fc 100644 (file)
@@ -217,7 +217,7 @@ function registerFilter ($F, $L, $filterName, $filterFunction, $silentAbort = TR
        $filterFunction = 'FILTER_' . strtoupper($filterFunction);
 
        // Debug message with FILTER_ prefix
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',F=' . basename($F) . ',L=' . $L . ' - ENTERED!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',isDryRun=' . intval($isDryRun) . ',F=' . basename($F) . ',L=' . $L . ' - ENTERED!');
 
        // Is that filter already there?
        if ((isset($GLOBALS['cache_array']['filter']['chains'][$filterName][$filterFunction])) && ($force === FALSE)) {
@@ -236,7 +236,7 @@ function registerFilter ($F, $L, $filterName, $filterFunction, $silentAbort = TR
                // Is the function there?
                if (!function_exists($filterFunction)) {
                        // Then abort here
-                       addFatalMessage(__FUNCTION__, __LINE__, sprintf("Filter function %s could not be added to filter chain %s. F=%s,L=%s,force=%d", $filterFunction, $filterName, basename($F), $L, intval($force)));
+                       logDebugMessage(__FUNCTION__, __LINE__, sprintf("Filter function %s could not be added to filter chain %s. F=%s,L=%s,force=%d", $filterFunction, $filterName, basename($F), $L, intval($force)));
                        return FALSE;
                } // END - if
 
@@ -246,7 +246,10 @@ function registerFilter ($F, $L, $filterName, $filterFunction, $silentAbort = TR
                $GLOBALS['cache_array']['filter']['counter'][$filterName][$filterFunction] = '0';
        } // END - if
 
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',F=' . basename($F) . ',L=' . $L . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ENTRY: filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',isDryRun=' . intval($isDryRun) . ',F=' . basename($F) . ',L=' . $L . ' - EXIT!');
+
+       // Worked
+       return TRUE;
 }
 
 // "Unregisters" a filter from the given chain
@@ -261,7 +264,7 @@ function unregisterFilter ($F, $L, $filterName, $filterFunction, $force = FALSE,
        // Is that filter there?
        if ((!isset($GLOBALS['cache_array']['filter']['chains'][$filterName][$filterFunction])) && ($force === FALSE)) {
                // Not found, so abort here
-               addFatalMessage(__FUNCTION__, __LINE__, sprintf(getMessage('FILTER_FAILED_NOT_REMOVED'), $filterFunction, $filterName));
+               logDebugMessage(__FUNCTION__, __LINE__, sprintf('Filter function %s cannot be unregistered from filter %s.', $filterFunction, $filterName));
                return FALSE;
        } // END - if
 
@@ -273,6 +276,9 @@ function unregisterFilter ($F, $L, $filterName, $filterFunction, $force = FALSE,
        } // END - if
 
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'F=' . $F . ',L=' . $L . ',filterName=' . $filterName . ',filterFunction=' . $filterFunction . ',force=' . intval($force) . ',isDryRun=' . intval($isDryRun) . ' - EXIT!');
+
+       // Worked
+       return TRUE;
 }
 
 // "Runs" the given filters, filterData is optional and can be any type of data
@@ -309,7 +315,7 @@ function runFilterChain ($filterName, $filterData = NULL) {
                        } // END - if
 
                        // Call the filter chain
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $filterName . '/' . $filterFunction . ',[]=' . gettype($returnValue));
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $filterName . '/' . $filterFunction . ',[]=' . gettype($returnValue) . ' - CALLING!');
                        $returnValue = call_user_func_array($filterFunction, array($returnValue));
 
                        // Update usage counter
index 8c885c5006a71d1b1ad2825f8b5270cb8b796f38..aeb102d24d49971166299bafed1632ca4863db09 100644 (file)
@@ -51,11 +51,12 @@ function FILTER_FLUSH_FILTERS () {
                reportBug(__FUNCTION__, __LINE__, 'No database link is up. Cannot flush filters.');
        } elseif ((isInstallationPhase()) && (!SQL_IS_LINK_UP())) {
                // If the link is not up in installation phase, skip flushing filters
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot flush filters: No link is up.');
                return;
        }
 
        // Is the extension ext-sql_patches updated?
-       if ((!isExtensionInstalled('sql_patches')) || (isExtensionInstalledAndOlder('sql_patches', '0.5.9'))) {
+       if (((!isExtensionInstalled('sql_patches')) || (isExtensionInstalledAndOlder('sql_patches', '0.5.9'))) && (!isInstallationPhase())) {
                // Log only in debug mode
                if (isDebugModeEnabled()) {
                        logDebugMessage(__FUNCTION__, __LINE__, 'Cannot flush filters, ext-sql_patches might be missing. isExtensionInstalled()=' . intval(isExtensionInstalled('sql_patches')) . ',isExtensionInstalledAndOlder()=' . intval(isExtensionInstalledAndOlder('sql_patches', '0.5.9')));
@@ -78,12 +79,12 @@ function FILTER_FLUSH_FILTERS () {
                // Walk through all filters
                foreach ($filterArray as $filterFunction => $active) {
                        // Is this filter loaded?
-                       //* DEBUG: */ debugOutput('FOUND:'.$filterName.'/'.$filterFunction.'='.$active);
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'FOUND:'.$filterName.'/'.$filterFunction.'='.$active);
                        if (((!isset($GLOBALS['cache_array']['filter']['loaded'][$filterName][$filterFunction])) && ($active != 'R')) || ($active == 'A')) {
                                // Is this filter already in database?
                                if (countSumTotalData($filterFunction, 'filters', 'filter_name', 'filter_function', TRUE, sprintf(" AND `filter_name`='%s'", SQL_ESCAPE($filterName))) == 0) {
                                        // Add this filter (all filters are active by default)
-                                       //* DEBUG: */ debugOutput('ADD:'.$filterName.'/'.$filterFunction);
+                                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ADD:'.$filterName.'/'.$filterFunction);
                                        $insertSQL .= sprintf("('%s','%s','Y'),", $filterName, $filterFunction);
                                        $inserted++;
                                } elseif (isDebugModeEnabled()) {
@@ -92,13 +93,16 @@ function FILTER_FLUSH_FILTERS () {
                                }
                        } elseif ($active == 'R') {
                                // Remove this filter
-                               //* DEBUG: */ debugOutput('REMOVE:'.$filterName.'/'.$filterFunction);
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'REMOVE:'.$filterName.'/'.$filterFunction);
                                $removeSQL .= sprintf(" (`filter_name`='%s' AND `filter_function`='%s') OR", $filterName, $filterFunction);
                                $removed++;
                        }
                } // END - foreach
        } // END - foreach
 
+       // Debug message
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'inserted=' . $inserted . ',removed=' . $removed . ' - AFTER COLLECTION');
+
        // Something has been added?
        if ($inserted > 0) {
                // Finish SQL command and add it
@@ -153,21 +157,6 @@ function FILTER_CALL_HANDLER_LOGIN_FAILTURES ($filterData) {
        return $content;
 }
 
-// Filter for redirecting to logout if ext-sql_patches has been installed
-function FILTER_REDIRECT_TO_LOGOUT_SQL_PATCHES () {
-       // Remove this filter
-       unregisterFilter(__FUNCTION__, __LINE__, 'shutdown', __FUNCTION__);
-
-       // Is the element set?
-       if (isset($GLOBALS['ext_load_mode'])) {
-               // Redirect here
-               redirectToUrl('modules.php?module=admin&amp;logout=1&amp;' . $GLOBALS['ext_load_mode'] . '=sql_patches');
-       } // END - if
-
-       // This should not happen!
-       logDebugMessage(__FUNCTION__, __LINE__, 'Cannot auto-logout because no extension load-mode has been set.');
-}
-
 // Filter for auto-activation of a extension
 function FILTER_AUTO_ACTIVATE_EXTENSION ($filterData) {
        // Debug message
index f5aa6344ab45c0058035f7a6b872f92b2c14aa40..faecd19e7d1811d8ed10f2eacb03232503f0e332 100644 (file)
@@ -70,15 +70,17 @@ function addFatalMessage ($F, $L, $message, $extra = '') {
 // Getter for total fatal message count
 function getTotalFatalErrors () {
        // Init count
-       $count = '0';
+       $count = 0;
 
        // Is there at least the first entry?
        if (!empty($GLOBALS['fatal_messages'][0])) {
                // Get total count
                $count = count($GLOBALS['fatal_messages']);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count=' . $count . ' - FROM ARRAY');
        } // END - if
 
        // Return value
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count=' . $count . ' - EXIT!');
        return $count;
 }
 
@@ -1298,7 +1300,7 @@ function logDebugMessage ($funcFile, $line, $message, $force=true) {
                $message = str_replace(array(chr(13), PHP_EOL), array('', ''), $message);
 
                // Log this message away
-               appendLineToFile(getPath() . getCachePath() . 'debug.log', generateDateTime(time(), '4') . '|' . getModule(FALSE) . '|' . basename($funcFile) . '|' . $line . '|' . $message);
+               appendLineToFile(getPath() . getCachePath() . 'debug.log', generateDateTime(time(), '4') . '|' . getModule(FALSE) . ':' . getExtraModule() . '|' . basename($funcFile) . '|' . $line . '|' . $message);
        } // END - if
 }
 
@@ -1624,8 +1626,8 @@ function doShutdown () {
        // Call the filter chain 'shutdown'
        runFilterChain('shutdown', NULL);
 
-       // Check if not in installation phase and the link is up
-       if ((!isInstallationPhase()) && (SQL_IS_LINK_UP())) {
+       // Check if link is up
+       if (SQL_IS_LINK_UP()) {
                // Close link
                SQL_CLOSE(__FUNCTION__, __LINE__);
        } elseif (!isInstallationPhase()) {
index f6d75436b9fe615da6f8e0d9e2f853a4b0e6f051..b8db7c8dd1cee281654ce3784e01ea229ae87a00 100644 (file)
@@ -651,11 +651,14 @@ function isInstallerPostDatabaseConfigValid ($currentTab) {
                return FALSE;
        } // END - if
 
+       // Remove any previous flag
+       unsetSqlLinkUp(__FUNCTION__, __LINE__);
+
        // Try to connect to the database
-       $linkResource = SQL_CONNECT(postRequestElement('mysql_host'), postRequestElement('mysql_login'), postRequestElement('mysql_password1'), __FUNCTION__, __LINE__);
+       SQL_CONNECT(postRequestElement('mysql_host'), postRequestElement('mysql_login'), postRequestElement('mysql_password1'), __FUNCTION__, __LINE__);
 
        // Is the link up
-       if (!is_resource($linkResource)) {
+       if (!SQL_IS_LINK_UP()) {
                // Cannot connect to database
                $GLOBALS['installer_post_error'][$currentTab] = '{--INSTALLER_POST_DATABASE_CONNECT_ERROR--}';
                array_push($GLOBALS['installer_failed_fields'][$currentTab], 'mysql_login', 'mysql_password1', 'mysql_password2');
index 572dcd2a9a1443b2347777dbf8a2376d76e3d1e0..8e432c95d9a772fcef34d60dfad9033b66ac8457 100644 (file)
@@ -46,7 +46,7 @@ if ((isPostRequestElementSet('finalize')) && (!isInstalled())) {
        initSqls();
 
        // Remove any existing "cache"
-       unset($GLOBALS['is_sql_link_up']);
+       unsetSqlLinkUp(__FILE__, __LINE__);
 
        // Connect to database server
        SQL_CONNECT($GLOBALS['install_mysql']['host'], $GLOBALS['install_mysql']['login'], $GLOBALS['install_mysql']['password1'], __FILE__, __LINE__);
index ac297af6a6c64dfdd3aed33d179c1bf71c7a8180..88c39bd99a371dbf54433ba598ce023cc14150ce 100644 (file)
@@ -1190,7 +1190,6 @@ addMessages(array(
        'FILTER_FAILED_ALREADY_INIT' => "Filter-System ist bereits initialisiert.",
        'FILTER_FAILED_ALREADY_ADDED' => "Die Filterfunktion <span class=\"data\">%s</span> ist bereits der Filterkette <span class=\"data\">%s</span> hinzugef&uuml;gt.",
        'FILTER_FAILED_NO_FILTER_FOUND' => "Die Filterkette <span class=\"data\">%s</span> konnte nicht gefunden werden.",
-       'FILTER_FAILED_NOT_REMOVED' => "Die Filterfunktion <span class=\"data\">%s</span> konnte nicht aus der Filterkette <span class=\"data\">%s</span> entfernt werden, da sie nicht existiert.",
 
        // Status changes
        'ADMIN_STATUS_CHANGED' => "Es wurden <span class=\"data\">%s</span> von <span class=\"data\">%s</span> Eintr&auml;gen ge&auml;ndert.",
index a01d875336dca2acd4962f4fadb976ebdaf70956..eca6dfd929a548ec618a165ff61f6a9c183332d5 100644 (file)
@@ -47,7 +47,7 @@ if (!defined('__SECURITY')) {
 if (($GLOBALS['cache_instance']->loadCacheFile('foo')) && ($GLOBALS['cache_instance']->extensionVersionMatches('foo'))) {
        // Load cache
        $GLOBALS['cache_array']['foo'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file
        $GLOBALS['cache_instance']->init();
 
index c34f9585bed3616ce8d942263334b8de87321a47..e3b5663ed209ef87de256bac418460ccfbfd0406 100644 (file)
@@ -81,7 +81,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('admin')) && ($GLOBALS['cache_ins
                $GLOBALS['cache_instance']->removeCacheFile();
                unset($GLOBALS['cache_array']['admin']);
        }
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file
        $GLOBALS['cache_instance']->init();
 
@@ -152,7 +152,7 @@ if (isExtensionInstalledAndNewer('admins', '0.3')) {
                        // This may drive a lot messages to the logfile
                        //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'No entry found in admin_acls to rewrite.');
                }
-       } elseif (isHtmlOutputMode()) {
+       } elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
                // Create cache file here
                $GLOBALS['cache_instance']->init();
 
index d62984bb4168822908b074444c7af28affa132a4..e6bb7580a5f9a0828bb7cd60bd52a59b17d56d44 100644 (file)
@@ -58,7 +58,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('config')) && ($GLOBALS['cache_in
 
        // Remove dummy array
        unset($config);
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index bc5932f25274a80a954907c8be78b21efa60702e..791e6476169f219810f2aeda5661a8b27d78f92f 100644 (file)
@@ -132,7 +132,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('extension')) && ($GLOBALS['cache
 
        // Remove array and mark cache as loaded
        unset($EXT_POOL);
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index b10cb34ab1edae078119e8277e424452803fe059..7789ef963b1c167b1b86850a26de825a062476e6 100644 (file)
@@ -50,7 +50,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('filter')) && ($GLOBALS['cache_in
 
        // Prepare the array here
        prepareFilterArray();
-} elseif ((isHtmlOutputMode()) && (isExtensionInstalled('sql_patches'))) {
+} elseif (((isHtmlOutputMode()) || (isRawOutputMode())) && (isExtensionInstalledAndNewer('sql_patches', '0.5.9'))) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index d904fd9cf60f10186424e033bd9f56a9a80a29c0..ab2f389025d3a3dc8f7982b30b0cd4e0e8b856a5 100644 (file)
@@ -50,7 +50,7 @@ if (!defined('__SECURITY')) {
 if (($GLOBALS['cache_instance']->loadCacheFile('imprint')) && ($GLOBALS['cache_instance']->extensionVersionMatches('imprint'))) {
        // Load cache
        $GLOBALS['cache_array']['imprint'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file
        $GLOBALS['cache_instance']->init();
 
index 03fd6c9bd36fac15eeec3b1b70eee3921d244be1..382bf528592de7490d48465efc0ee847f90f2345 100644 (file)
@@ -87,7 +87,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('modules')) && ($GLOBALS['cache_i
                } // END - foreach
        } // END - foreach
        unset($modArray);
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index b4a9375b2fc8fbce310329f0712b5ca6c7505c68..8383a50411153213c49726143b317fc1bb293f23 100644 (file)
@@ -66,7 +66,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('payments')) && ($GLOBALS['cache_
        // Set the array back and remove temporary
        $GLOBALS['cache_array']['payments'] = $paymentsData;
        unset($paymentsData);
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file
        $GLOBALS['cache_instance']->init();
 
index 876372eb3fab816923714c0809ed1694c6c24743..82522aad10987d64637a609bce54d8023ac69bda 100644 (file)
@@ -47,7 +47,7 @@ if (!defined('__SECURITY')) {
 if (($GLOBALS['cache_instance']->loadCacheFile('refdepths')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
        // Load referral system from cache
        $GLOBALS['cache_array']['refdepths'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index ccfb5aa8215f62f78a02225ab69e39fe7d9794ba..9be26d680796282728aca384f0d59e6c3e29c44b 100644 (file)
@@ -47,7 +47,7 @@ if (!defined('__SECURITY')) {
 if (($GLOBALS['cache_instance']->loadCacheFile('refsystem')) && ($GLOBALS['cache_instance']->extensionVersionMatches('sql_patches'))) {
        // Load referral system from cache
        $GLOBALS['cache_array']['refsystem'] = $GLOBALS['cache_instance']->getArrayFromCache();
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index c482fc53e8696524b9f96aebe9aca654f8df2e75..3613f7232db82ea4d61665d4667d67f72218664c 100644 (file)
@@ -70,7 +70,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('themes')) && ($GLOBALS['cache_in
 
        // Remove dummy array
        unset($cache);
-} elseif (isHtmlOutputMode()) {
+} elseif ((isHtmlOutputMode()) || (isRawOutputMode())) {
        // Create cache file here
        $GLOBALS['cache_instance']->init();
 
index e25d40dfc7aeb7f31643bc116e777d2ae3ffb1fe..fd68e77b913ebfef04439eaa1b479facf35b4e1b 100644 (file)
@@ -131,6 +131,9 @@ if ((!isInstalling()) && (!isInstallationPhase())) {
        // CFG: DATABASE-TYPE
        setConfigEntry('_DB_TYPE', 'mysql3');
 
+       // Set link as down
+       unsetSqlLinkUp(__FILE__, __LINE__);
+
        // Load database layer here
        loadIncludeOnce('inc/db/lib.php');
 
index 671a8667445390d641f61131c58e8ec28ee93023..b08d51ca5c8e0a9013c2049d38f810bac2acf026 100644 (file)
@@ -218,18 +218,28 @@ function getInsertSqlFromArray ($array, $tableName) {
        return $SQL;
 }
 
+// Function to unset __is_sql_link_up
+function unsetSqlLinkUp ($F, $L) {
+       // Unset it
+       //* DEBUG: */ logDebugMessage($F, $L, __FUNCTION__ . ': Called!');
+       SQL_SET_LINK($F, $L, NULL);
+}
+
 // Initializes the SQL link by bringing it up if set
 function initSqlLink () {
+       // "Unset" the link
+       unsetSqlLinkUp(__FUNCTION__, __LINE__);
+
        // Do this only if link is down
        assert(!SQL_IS_LINK_UP());
 
        // Is the configuration data set?
        if ((!empty($GLOBALS['mysql']['host'])) && (!empty($GLOBALS['mysql']['login'])) && (!empty($GLOBALS['mysql']['dbase']))) {
                // Remove cache
-               unset($GLOBALS['is_sql_link_up']);
+               unsetSqlLinkUp(__FUNCTION__, __LINE__);
 
                // Connect to DB
-               SQL_CONNECT($GLOBALS['mysql']['host'], $GLOBALS['mysql']['login'], $GLOBALS['mysql']['password'], __FILE__, __LINE__);
+               SQL_CONNECT($GLOBALS['mysql']['host'], $GLOBALS['mysql']['login'], $GLOBALS['mysql']['password'], __FUNCTION__, __LINE__);
 
                // Is the link valid?
                if (SQL_IS_LINK_UP()) {
@@ -237,7 +247,7 @@ function initSqlLink () {
                        enableExitOnError();
 
                        // Is it a valid resource?
-                       if (SQL_SELECT_DB($GLOBALS['mysql']['dbase'], __FILE__, __LINE__) === TRUE) {
+                       if (SQL_SELECT_DB($GLOBALS['mysql']['dbase'], __FUNCTION__, __LINE__) === TRUE) {
                                // Set database name (required for ext-optimize and ifSqlTableExists())
                                setConfigEntry('__DB_NAME', $GLOBALS['mysql']['dbase']);
 
@@ -248,15 +258,15 @@ function initSqlLink () {
                                loadIncludeOnce('inc/load_cache.php');
                        } else {
                                // Wrong database?
-                               reportBug(__FILE__, __LINE__, 'Wrong database selected.');
+                               reportBug(__FUNCTION__, __LINE__, 'Wrong database selected.');
                        }
                } else {
                        // No link to database!
-                       reportBug(__FILE__, __LINE__, 'Database link is not yet up.');
+                       reportBug(__FUNCTION__, __LINE__, 'Database link is not yet up.');
                }
        } else {
                // Maybe you forgot to enter your database login?
-               reportBug(__FILE__, __LINE__, 'Database login is missing.');
+               reportBug(__FUNCTION__, __LINE__, 'Database login is missing.');
        }
 }
 
@@ -268,7 +278,7 @@ function importSqlDump ($path, $dumpName, $sqlPool) {
        // Is the file readable?
        if (!isFileReadable($FQFN)) {
                // Not found, which is bad
-               reportBug(__FILE__, __LINE__, sprintf("SQL dump %s/%s.sql is not readable.", $path, $dumpName));
+               reportBug(__FUNCTION__, __LINE__, sprintf("SQL dump %s/%s.sql is not readable.", $path, $dumpName));
        } // END - if
 
        // Then read it
@@ -283,7 +293,7 @@ function SQL_QUERY_ESC ($sqlString, $data, $F, $L, $run = TRUE, $strip = TRUE, $
        // Link is there?
        if ((!SQL_IS_LINK_UP()) || (!is_array($data))) {
                // Link is down or data is not an array
-               /* DEBUG: */ logDebugMessage($F, $L, 'SQL_IS_LINK_UP()=' . intval(SQL_IS_LINK_UP()) . ',data[]=' . gettype($data) . ',sqlString=' . $sqlString . ': ABORTING!');
+               //* DEBUG: */ logDebugMessage($F, $L, 'SQL_IS_LINK_UP()=' . intval(SQL_IS_LINK_UP()) . ',data[]=' . gettype($data) . ',sqlString=' . $sqlString . ': ABORTING!');
                return FALSE;
        } // END - if
 
@@ -473,43 +483,49 @@ function SQL_GET_LINK () {
        $link = NULL;
 
        // Is it in the globals?
-       if (isset($GLOBALS['sql_link'])) {
+       if (isset($GLOBALS['__sql_link'])) {
                // Then take it
-               $link = $GLOBALS['sql_link'];
+               $link = $GLOBALS['__sql_link'];
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'link[]=' . gettype($link) . ' - FROM GLOBALS!');
        } // END - if
 
        // Return it
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'link[]=' . gettype($link) . ' - EXIT!');
        return $link;
 }
 
 // Setter for link
-function SQL_SET_LINK ($link) {
+function SQL_SET_LINK ($F, $L, $link) {
+       //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'link[]=' . gettype($link) . ' - ENTERED!');
        // Is this a resource or null?
        if ((ifFatalErrorsDetected()) && (isInstallationPhase())) {
                // This may happen in installation phase
+               //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, 'Some fatal errors detected in installation phase.');
                return;
        } elseif ((!is_resource($link)) && (!is_null($link))) {
                // This should never happen!
-               reportBug(__FUNCTION__, __LINE__, sprintf("Type of link is not resource or null, type=%s", gettype($link)));
+               reportBug($F . ':' . __FUNCTION__, $L . ':' . __LINE__, sprintf("Type of link is not resource or null, type=%s", gettype($link)));
        } // END - if
 
        // Set it
-       $GLOBALS['sql_link'] = $link;
+       $GLOBALS['__sql_link'] = $link;
 
        // Re-init cache
-       $GLOBALS['is_sql_link_up'] = is_resource($link);
+       $GLOBALS['__is_sql_link_up'] = is_resource($link);
+       //* DEBUG: */ logDebugMessage($F . ':' . __FUNCTION__, $L . ':' . __LINE__, '__is_sql_link_up=' . intval($GLOBALS['__is_sql_link_up']) . ' - EXIT!');
 }
 
 // Checks if the link is up
 function SQL_IS_LINK_UP () {
        // Is there cached this?
-       if (!isset($GLOBALS['is_sql_link_up'])) {
-               // Determine it
-               $GLOBALS['is_sql_link_up'] = is_resource(SQL_GET_LINK());
+       if (!isset($GLOBALS['__is_sql_link_up'])) {
+               // Something bad went wrong
+               reportBug(__FUNCTION__, __LINE__, 'Called before SQL_SET_LINK() was called!');
        } // END - if
 
        // Return the result
-       return $GLOBALS['is_sql_link_up'];
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, '__is_sql_link_up=' . intval($GLOBALS['__is_sql_link_up']) . ' - EXIT!');
+       return $GLOBALS['__is_sql_link_up'];
 }
 
 // Wrapper function to make code more readable
@@ -568,7 +584,7 @@ function ifSqlTableExists ($tableName) {
        if (!isset($GLOBALS[__FUNCTION__][$tableName])) {
                // Check if the table is there
                $result = SQL_QUERY_ESC("SHOW TABLES FROM `{?__DB_NAME?}` WHERE `Tables_in_{?__DB_NAME?}`='{?_MYSQL_PREFIX?}_%s'",
-                       array($tableName), __FILE__, __LINE__);
+                       array($tableName), __FUNCTION__, __LINE__);
 
                // Is a link there?
                if (!is_resource($result)) {
index fe5834dcd714c9193771088455116752f3d19e7a..60fccd2839885a52905aa0d3061e090bb1ade3ec 100644 (file)
@@ -673,6 +673,27 @@ function setModule ($newModule) {
        $GLOBALS['__module'] = strtolower($newModule);
 }
 
+// Wrapper to get extra module names
+function getExtraModule () {
+       // Default is 'NULL'
+       $extra = 'NULL';
+
+       // Is 'tab/step' set?
+       if (isPostRequestElementSet('tab')) {
+               // Use this
+               $extra = 'tab=' . postRequestElement('tab');
+       } elseif (isPostRequestElementSet('step')) {
+               // Use this
+               $extra = 'step=' . postRequestElement('step');
+       } elseif ((isActionSet()) && (isWhatSet())) {
+               // Use 'action/what'
+               $extra = 'action=' . getAction() . ':what=' . getWhat();
+       }
+
+       // Return it
+       return $extra;
+}
+
 // Checks whether module is set and optionally aborts on miss
 function isModuleSet ($strict = FALSE) {
        // Check for it