]> git.mxchange.org Git - mailer.git/blobdiff - inc/wrapper-functions.php
Possible work-around added to prevent fatal error if no admins-functions.php is loaded
[mailer.git] / inc / wrapper-functions.php
index 6803dfc37810eee46a9a9f38a5763230f3fb4365..bed3c34916a04f6bd33c80a21738e181de978602 100644 (file)
@@ -125,11 +125,11 @@ function loadInclude ($INC) {
 function loadIncludeOnce ($INC) {
        // Is it not loaded?
        if (!isset($GLOBALS['load_once'][$INC])) {
+               // Mark it as loaded
+               $GLOBALS['load_once'][$INC] = "loaded";
+
                // Then try to load it
                loadInclude($INC);
-
-               // And mark it as loaded
-               $GLOBALS['load_once'][$INC] = "loaded";
        } // END - if
 }
 
@@ -278,7 +278,28 @@ function isInstalling () {
 
 // Check wether this script is installed
 function isInstalled () {
-       return (getConfig('MXCHANGE_INSTALLED') == 'Y');
+       return (
+       (
+       // New config file found and loaded
+       getConfig('MXCHANGE_INSTALLED') == 'Y'
+       ) || (
+       // Fall-back!
+       isIncludeReadable('inc/config.php')
+       ) || (
+       (
+       // New config file found, but not yet read
+       isIncludeReadable('inc/cache/config-local.php')
+       ) && (
+       (
+       // Only new config file is found
+       !isIncludeReadable('inc/config.php')
+       ) || (
+       // Is installation mode
+       isInstalling()
+       )
+       )
+       )
+       );
 }
 
 // Check wether an admin is registered
@@ -358,7 +379,7 @@ function sendHeader ($header) {
 // @TODO Do some more sanity check here
 function changeMode ($FQFN, $mode) {
        // Is the file/directory there?
-       if ((!isFile($FQFN)) && (!isDirectory($FQFN))) {
+       if ((!isFileReadable($FQFN)) && (!isDirectory($FQFN))) {
                // Neither, so abort here
                debug_report_bug('Cannot chmod() on ' . basename($FQFN) . '.');
        } // END - if
@@ -367,10 +388,28 @@ function changeMode ($FQFN, $mode) {
        chmod($FQFN, $mode);
 }
 
+// Wrapper for unlink()
+function removeFile ($FQFN) {
+       // Is the file there?
+       if (isFileReadable($FQFN)) {
+               // Yes, so remove it
+               return unlink($FQFN);
+       } // END - if
+
+       // All fine if no file was removed. If we change this to 'false' or rewrite
+       // above if() block it would be to restrictive.
+       return true;
+}
+
 // Wrapper for $_POST['sel']
 function countPostSelection () {
        return countSelection(REQUEST_POST('sel'));
 }
 
+// Checks wether the config-local.php is loaded
+function isConfigLocalLoaded () {
+       return ((isset($GLOBALS['config_local_loaded'])) && ($GLOBALS['config_local_loaded'] === true));
+}
+
 // [EOF]
 ?>