Rewritten 'page=finalize' in installer, integrated stelzi's rev. 904 (more comments)
[mailer.git] / inc / functions.php
index 43eac3f8f32b186d6cd30fa824356e62343c4d9b..a3fb34dbd052fe4cebac2cd731de20cf6bdc6af2 100644 (file)
@@ -2627,6 +2627,7 @@ function getActualVersion ($type = 'Revision') {
 }
 
 // Repares an array we are looking for
+// The returned Array is needed twice (in getAkt_vers() and in getActualVersion() in the old .revision-fallback) so I puted it in an extra function to not polute the global namespace
 function getSearchFor () {
        // Add Revision, Date, Tag and Author
        $searchFor = array('Revision', 'Date', 'Tag', 'Author');
@@ -2637,47 +2638,53 @@ function getSearchFor () {
 
 function getAkt_vers () {
        // Init variables
-       $next_dir = "";
+       $next_dir = ""; // Directory to start with search
        $last_changed = array(
                'path_name' => "",
                'time'      => 0
        );
-       $akt_vers = array();
-       $res = 0;
+       $akt_vers = array(); // Init return array
+       $res = 0; // Init value for counting the founded keywords
 
        // Searches all Files and there date of the last modifikation and puts the newest File in $last_changed.
-       searchDirsRecursive($next_dir, $last_changed);
+       searchDirsRecursive($next_dir, $last_changed); // @TODO small change to API to $last_changed = searchDirsRecursive($next_dir, $time);
 
        // Get file
        $last_file = READ_FILE($last_changed['path_name']);
+
+       // Get all the keywords to search for
        $searchFor = getSearchFor();
 
-       // @TODO What does this loop/regex do? Document it, please.
+       // This foreach loops the $searchFor-Tags (array('Revision', 'Date', 'Tag', 'Author') --> could easaly extended in the future)
        foreach ($searchFor as $search) {
+               //Searches for "$search-tag:VALUE$" or "$search-tag::VALUE$"(the stylish keywordversion ;-)) in the lates modified file
                $res += preg_match('@\$'.$search.'(:|::) (.*) \$@U', $last_file, $t);
+               // This trimms the search-result and puts it in the $akt_vers-return array
                if (isset($t[2])) $akt_vers[$search] = trim($t[2]);
        } // END - foreach
 
+       // at least 3 keyword-Tags are needed for propper values
        if ($res && $res >= 3) {
-               // Prepare content
-               preg_match('@(....)-(..)-(..) (..):(..):(..)@', $akt_vers['Date'], $match_d);
+               // Prepare content witch need special treadment
 
                // Prepare timestamp for date
+               preg_match('@(....)-(..)-(..) (..):(..):(..)@', $akt_vers['Date'], $match_d);
                $akt_vers['Date'] = mktime($match_d[4], $match_d[5], $match_d[6], $match_d[2], $match_d[3], $match_d[1]);
 
-               // Add Tag if the author is set and is not quix0r (lead coder)
+               // Add author to the Tag if the author is set and is not quix0r (lead coder)
                if ((isset($akt_vers['Author'])) && ($akt_vers['Author'] != "quix0r")) {
                        $akt_vers['Tag'] .= '-'.strtoupper($akt_vers['Author']);
                } // END - if
        } else {
-               // No valid Data from the last modificated file so read the Revision from the Server. Fallback-solution!! Could be removed I think.
+               // No valid Data from the last modificated file so read the Revision from the Server. Fallback-solution!! Should not be removed I think.
                $version = GET_URL("check-updates3.php");
 
                // Prepare content
-               $akt_vers['Revision'] = trim($version[10]);
-               $akt_vers['Date']     = trim($version[9]);
-               $akt_vers['Tag']      = trim($version[8]);
-               $akt_vers['Author']   = "quix0r";
+               // Only sets not setted or not proper values to the Online-Server-Fallback-Solution
+               if (!isset($akt_vers['Revision']) || $akt_vers['Revision'] == '') $akt_vers['Revision'] = trim($version[10]);
+               if (!isset($akt_vers['Date'])     || $akt_vers['Date']     == '') $akt_vers['Date']     = trim($version[9]);
+               if (!isset($akt_vers['Tag'])      || $akt_vers['Tag']      == '') $akt_vers['Tag']      = trim($version[8]);
+               if (!isset($akt_vers['Author'])   || $akt_vers['Author']   == '') $akt_vers['Author']   = "quix0r";
        }
 
        // Return prepared array
@@ -3097,6 +3104,7 @@ function DEBUG_LOG ($funcFile, $line, $message, $force=true) {
 
 // Reads a directory with PHP files in and gets only files back
 function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir = true) {
+       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "baseDir={$baseDir},prefix={$prefix} - Entered!");
        // Init includes
        $INCs = array();
 
@@ -3110,7 +3118,7 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir
                $FQFN = constant('PATH') . $INC;
 
                // Is this a valid reset file?
-               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>):baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}<br />\n";
+               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}");
                if (((FILE_READABLE($FQFN)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) || (($includeDirs) && (isDirectory($FQFN)))) {
                        // Remove both for extension name
                        $extName = substr($baseFile, strlen($prefix), -4);
@@ -3121,11 +3129,11 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir
                        // Is the extension valid and active?
                        if (($extId > 0) && (EXT_IS_ACTIVE($extName))) {
                                // Then add this file
-                               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>): Extension entry ".$baseFile." added.<br />\n";
+                               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " Extension entry ".$baseFile." added.");
                                $INCs[] = $INC;
                        } elseif ($extId == 0) {
                                // Add non-extension files as well
-                               //* DEBUG: */ print __FUNCTION__."(<font color=\"#0000aa\">".__LINE__."</font>): Regular entry ".$baseFile." added.<br />\n";
+                               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " Regular entry ".$baseFile." added.");
                                if ($addBaseDir) {
                                        $INCs[] = $INC;
                                } else {
@@ -3142,6 +3150,7 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir
        asort($INCs);
 
        // Return array with include files
+       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " - Left!");
        return $INCs;
 }