]> git.mxchange.org Git - mailer.git/blobdiff - inc/wrapper-functions.php
isExtensionOlder() is no longer required
[mailer.git] / inc / wrapper-functions.php
index dbc24d16796050d6e84cd70f73d72a078014ead9..c8b651cf2196a4f1cf76eb087267ddf136b43ac8 100644 (file)
@@ -46,19 +46,19 @@ function readFromFile ($FQFN) {
        if (!isFileReadable($FQFN)) {
                // This should not happen
                reportBug(__FUNCTION__, __LINE__, 'File ' . basename($FQFN) . ' is not readable!');
-       } elseif (!isset($GLOBALS['file_content'][$FQFN])) {
-               // Load the file
-               if (function_exists('file_get_contents')) {
-                       // Use new function
-                       $GLOBALS['file_content'][$FQFN] = file_get_contents($FQFN);
-               } else {
-                       // Fall-back to implode-file chain
-                       $GLOBALS['file_content'][$FQFN] = implode('', file($FQFN));
-               }
        } // END - if
 
+       // Load the file
+       if (function_exists('file_get_contents')) {
+               // Use new function
+               $fileContent = file_get_contents($FQFN);
+       } else {
+               // Fall-back to implode-file chain
+               $fileContent = implode('', file($FQFN));
+       }
+
        // Return the content
-       return $GLOBALS['file_content'][$FQFN];
+       return $fileContent;
 }
 
 // Writes content to a file
@@ -66,7 +66,7 @@ function writeToFile ($FQFN, $content, $aquireLock = FALSE) {
        // Is the file writeable?
        if ((isFileReadable($FQFN)) && (!is_writeable($FQFN)) && (!changeMode($FQFN, 0644))) {
                // Not writeable!
-               logDebugMessage(__FUNCTION__, __LINE__, sprintf("File %s not writeable.", basename($FQFN)));
+               logDebugMessage(__FUNCTION__, __LINE__, sprintf("File %s not writeable or cannot change CHMOD to 0644.", basename($FQFN)));
 
                // Failed! :(
                return FALSE;
@@ -74,7 +74,6 @@ function writeToFile ($FQFN, $content, $aquireLock = FALSE) {
 
        // By default all is failed...
        $GLOBALS['file_readable'][$FQFN] = FALSE;
-       unset($GLOBALS['file_content'][$FQFN]);
        $return = FALSE;
 
        // Is the function there?
@@ -89,7 +88,8 @@ function writeToFile ($FQFN, $content, $aquireLock = FALSE) {
                }
        } else {
                // Write it with fopen
-               $fp = fopen($FQFN, 'w') or reportBug(__FUNCTION__, __LINE__, 'Cannot write to file ' . basename($FQFN) . '!');
+               $fp = fopen($FQFN, 'w')
+                       or reportBug(__FUNCTION__, __LINE__, 'Cannot write to file ' . basename($FQFN) . '!');
 
                // Aquire a lock?
                if ($aquireLock === TRUE) {
@@ -108,9 +108,6 @@ function writeToFile ($FQFN, $content, $aquireLock = FALSE) {
        if ($return !== FALSE) {
                // Mark it as readable
                $GLOBALS['file_readable'][$FQFN] = TRUE;
-
-               // Remember content in cache
-               $GLOBALS['file_content'][$FQFN] = $content;
        } // END - if
 
        // Return status
@@ -123,10 +120,7 @@ function clearOutputBuffer () {
        if (isset($GLOBALS[__FUNCTION__])) {
                // This function is called twice
                reportBug(__FUNCTION__, __LINE__, 'Double call of ' . __FUNCTION__ . ' may cause more trouble.');
-       } // END - if
-
-       // Trigger an error on failure
-       if ((ob_get_length() > 0) && (!ob_end_clean())) {
+       } elseif ((ob_get_length() > 0) && (!ob_end_clean())) {
                // Failed!
                reportBug(__FUNCTION__, __LINE__, 'Failed to clean output buffer.');
        } // END - if
@@ -172,7 +166,7 @@ function merge_array ($array1, $array2, $keepIndex = FALSE) {
 
        // Maintain index of array2?
        if ($keepIndex === TRUE) {
-               // Keep index of array2, array_merge() rewrites $key=2 to $key=0 ! :(
+               // Keep index of array2, array_merge() rewrites e.g. $key=1 to $key=0, $key=2 to $key=1 ! :(
                foreach ($array2 as $key => $value) {
                        // Add it
                        $array1[$key] = $value;
@@ -214,12 +208,12 @@ function isDirectory ($FQFN) {
 }
 
 // "Getter" for the real remote IP number
-function detectRealIpAddress () {
+function detectRealIpAddress ($alwaysReal = FALSE) {
        // Get remote ip from environment
        $remoteAddr = determineRealRemoteAddress();
 
        // Is removeip installed?
-       if (isExtensionActive('removeip')) {
+       if ((isExtensionActive('removeip')) && ($alwaysReal === FALSE)) {
                // Then anonymize it
                $remoteAddr = getAnonymousRemoteAddress($remoteAddr);
        } // END - if
@@ -229,12 +223,12 @@ function detectRealIpAddress () {
 }
 
 // "Getter" for remote IP number
-function detectRemoteAddr () {
+function detectRemoteAddr ($alwaysReal = FALSE) {
        // Get remote ip from environment
        $remoteAddr = determineRealRemoteAddress(TRUE);
 
        // Is removeip installed?
-       if (isExtensionActive('removeip')) {
+       if ((isExtensionActive('removeip')) && ($alwaysReal === FALSE)) {
                // Then anonymize it
                $remoteAddr = getAnonymousRemoteAddress($remoteAddr);
        } // END - if
@@ -244,12 +238,12 @@ function detectRemoteAddr () {
 }
 
 // "Getter" for remote hostname
-function detectRemoteHostname () {
+function detectRemoteHostname ($alwaysReal = FALSE) {
        // Get remote ip from environment
        $remoteHost = getenv('REMOTE_HOST');
 
        // Is removeip installed?
-       if (isExtensionActive('removeip')) {
+       if ((isExtensionActive('removeip')) && ($alwaysReal === FALSE)) {
                // Then anonymize it
                $remoteHost = getAnonymousRemoteHost($remoteHost);
        } // END - if
@@ -274,12 +268,12 @@ function detectUserAgent ($alwaysReal = FALSE) {
 }
 
 // "Getter" for referer
-function detectReferer () {
+function detectReferer ($alwaysReal = FALSE) {
        // Get remote ip from environment
        $referer = getenv('HTTP_REFERER');
 
        // Is removeip installed?
-       if (isExtensionActive('removeip')) {
+       if ((isExtensionActive('removeip')) && ($alwaysReal === TRUE)) {
                // Then anonymize it
                $referer = getAnonymousReferer($referer);
        } // END - if
@@ -762,35 +756,35 @@ function redirectToDereferedUrl ($url) {
 }
 
 // Wrapper function for checking if extension is installed and newer or same version
-function isExtensionInstalledAndNewer ($ext_name, $version) {
+function isExtensionInstalledAndNewer ($ext_name, $ext_ver) {
        // Is an cache entry found?
-       if (!isset($GLOBALS[__FUNCTION__][$ext_name][$version])) {
+       if (!isset($GLOBALS[__FUNCTION__][$ext_name][$ext_ver])) {
                // Determine it
-               $GLOBALS[__FUNCTION__][$ext_name][$version] = ((isExtensionInstalled($ext_name)) && (getExtensionVersion($ext_name) >= $version));
+               $GLOBALS[__FUNCTION__][$ext_name][$ext_ver] = ((isExtensionInstalled($ext_name)) && (version_compare(getExtensionVersion($ext_name), $ext_ver, '>=') === TRUE));
        } else {
                // Cache hits should be incremented twice
                incrementStatsEntry('cache_hits', 2);
        }
 
        // Return it
-       //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=>' . $version . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$version]));
-       return $GLOBALS[__FUNCTION__][$ext_name][$version];
+       //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=>' . $ext_ver . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$ext_ver]));
+       return $GLOBALS[__FUNCTION__][$ext_name][$ext_ver];
 }
 
 // Wrapper function for checking if extension is installed and older than given version
-function isExtensionInstalledAndOlder ($ext_name, $version) {
+function isExtensionInstalledAndOlder ($ext_name, $ext_ver) {
        // Is an cache entry found?
-       if (!isset($GLOBALS[__FUNCTION__][$ext_name][$version])) {
+       if (!isset($GLOBALS[__FUNCTION__][$ext_name][$ext_ver])) {
                // Determine it
-               $GLOBALS[__FUNCTION__][$ext_name][$version] = ((isExtensionInstalled($ext_name)) && (isExtensionOlder($ext_name, $version)));
+               $GLOBALS[__FUNCTION__][$ext_name][$ext_ver] = ((isExtensionInstalled($ext_name)) && (version_compare(getExtensionVersion($ext_name), $ext_ver, '<') === TRUE));
        } else {
                // Cache hits should be incremented twice
                incrementStatsEntry('cache_hits', 2);
        }
 
        // Return it
-       //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '&lt;' . $version . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$version]));
-       return $GLOBALS[__FUNCTION__][$ext_name][$version];
+       //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '&lt;' . $ext_ver . ':' . intval($GLOBALS[__FUNCTION__][$ext_name][$ext_ver]));
+       return $GLOBALS[__FUNCTION__][$ext_name][$ext_ver];
 }
 
 // Set username