* Kurzbeschreibung : Viele Nicht-MySQL-Funktionen (auch Dateizugriff) *
* -------------------------------------------------------------------- *
* $Revision:: 856 $ *
- * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. Mär 2009) $ *
+ * $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
- * $Author:: stelzi $ *
+ * $Author:: $ *
* Needs to be in all Files and every File needs "svn propset *
* svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
|| count($GLOBALS['cache_array']['revision']) < 3
|| !$GLOBALS['cache_instance']->loadCacheFile("revision")) $new = true;
- if ($new){
-
+ // Is the cache file outdated/invalid?
+ if ($new === true){
$GLOBALS['cache_instance']->destroyCacheFile(); // @TODO isn't it better to do $GLOBALS['cache_instance']->destroyCacheFile('revision')?
// @TODO shouldn't do the unset and the reloading $GLOBALS['cache_instance']->destroyCacheFile() Or a new methode like forceCacheReload('revision')?
unset($GLOBALS['cache_array']['revision']);
+
// Reload load_cach-revison.php
- LOAD_INC('inc/loader/load_cache-revision.php');
- }
+ LOAD_INC("inc/loader/load_cache-revision.php");
+ } // END - if
+ // Return found value
return $GLOBALS['cache_array']['revision'][$type][0];
} else {
- // old Version without ext-cache aktive (depricated ?)
+ // Old Version without ext-cache active (deprecated ?)
// FQFN of revision file
$FQFN = sprintf("%sinc/cache/.revision", constant('PATH'));
// Check if $_GET['check_revision_data'] is setted (switch for manually rewrite the .revision-File)
- if (isset($_GET['check_revision_data']) && $_GET['check_revision_data'] == 'yes') {
+ if ((isset($_GET['check_revision_data'])) && ($_GET['check_revision_data'] == 'yes')) {
+ // Has changed!
$new = true;
-
} else {
// Check for revision file
if (!FILE_READABLE($FQFN)) {
// Revision file found
$ins_vers = explode("\n", READ_FILE($FQFN));
+ // Get array for mapping information
+ $mapper = array_flip(getSearchFor());
+ //* DEBUG: */ print("<pre>".print_r($mapper, true).print_r($ins_vers, true)."</pre>");
+
// Is the content valid?
- if ((!is_array($ins_vers)) || (count($ins_vers) <= 0) || (!isset($ins_vers[$type])) || (trim($ins_vers[$type]) == '') || ($ins_vers[0]) == "new") {
+ if ((!is_array($ins_vers)) || (count($ins_vers) <= 0) || (!isset($ins_vers[$mapper[$type]])) || (trim($ins_vers[$mapper[$type]]) == "") || ($ins_vers[0]) == "new") {
// File needs update!
$new = true;
} else {
- // Revision-File has valid Data and isn't 'new' so return the Rev-Number
- $ttype = array_search ($type,array_keys(getSearchFor()));
- if ($ttype || $ttype != null) return trim($ins_vers[$ttype]);
- else return false;
+ // Return found value
+ return trim($ins_vers[$mapper[$type]]);
}
}
}
+
// Has it been updated?
if ($new === true) {
WRITE_FILE($FQFN, implode("\n", getAkt_vers()));
- }
+ } // END - if
}
}
+// Repares an array we are looking for
function getSearchFor () {
- $searchFor[] = 'Revision';
- $searchFor[] = 'Date';
- $searchFor[] = 'Tag';
- $searchFor[] = 'Author';
+ // Add Revision, Date, Tag and Author
+ $searchFor = array('Revision', 'Date', 'Tag', 'Author');
+ // Return the created array
return $searchFor;
}
function getAkt_vers () {
- $next_dir = '.';
- $last_changed['path_name'] = '';
- $last_changed['time'] = 0;
+ // Init variables
+ $next_dir = ".";
+ $last_changed = array(
+ 'path_name' => "",
+ 'time' => 0
+ );
$akt_vers = array();
- searchDirsRecoursive($next_dir, $last_changed); //Searches all Files and there date of the last modifikation and puts the newest File in $last_changed.
+ $res = 0;
+
+ // Searches all Files and there date of the last modifikation and puts the newest File in $last_changed.
+ searchDirsRecoursive($next_dir, $last_changed);
+
+ // Get file
$last_file = READ_FILE($last_changed['path_name']);
- $ergeb = 0;
$searchFor = getSearchFor();
+ // @TODO What does this loop/regex do? Document it, please.
foreach ($searchFor as $search) {
- $ergeb += preg_match('@\$'.$search.'(:|::) (.*) \$@U', $last_file, $t);
+ $res += preg_match('@\$'.$search.'(:|::) (.*) \$@U', $last_file, $t);
if (isset($t[2])) $akt_vers[$search] = trim($t[2]);
- }
+ } // END - foreach
- if ($ergeb && $ergeb >= 3) {
+ if ($res && $res >= 3) {
// Prepare content
- 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]);
- if (isset($akt_vers['Author']) && $akt_vers['Author'] != 'quix0r') $akt_vers['Tag'] .= '-'.strtoupper($akt_vers['Author']);
+ preg_match('@(....)-(..)-(..) (..):(..):(..)@', $akt_vers['Date'], $match_d);
+
+ // Prepare timestamp for date
+ $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)
+ 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. FallbackSolution!! Could be removed I think.
+ // No valid Data from the last modificated file so read the Revision from the Server. Fallback-solution!! Could 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['Date'] = trim($version[9]);
+ $akt_vers['Tag'] = trim($version[8]);
+ $akt_vers['Author'] = "quix0r";
}
+
+ // Return prepared array
return $akt_vers;
}
} // END - if
// Add output
- $debug .= ("Please report this error at <a href=\"http://bugs.mxchange.org\" rel=\"external\" target=\"_blank\">bugs.mxchange.org</a>:<pre>");
- $debug .= (debug_get_printable_backtrace());
- $debug .= ("</pre>Thank you for your help finding bugs.");
+ $debug .= "Please report this error at <a href=\"http://bugs.mxchange.org\" rel=\"external\" target=\"_blank\">bugs.mxchange.org</a>:<pre>";
+ $debug .= debug_get_printable_backtrace();
+ $debug .= "</pre>Thank you for finding bugs.";
// And abort here
+ // @TODO This cannot be rewritten to mxchange_die(), try to find a solution for this.
die($debug);
}