|| 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;
}
// Add description as navigation point
ADD_DESCR("guest", __FILE__);
+// @TODO Rewrite all constants
define('value', "value");
define('lang', "lang");
define('rows', "rows");
define('user_confirmed' , round(GET_TOTAL_DATA("CONFIRMED" , "user_data", "userid", "status", true)));
define('user_unconfirmed', round(GET_TOTAL_DATA("UNCONFIRMED", "user_data", "userid", "status", true)));
define('user_locked' , round(GET_TOTAL_DATA("LOCKED" , "user_data", "userid", "status", true)));
-define('user_count' , (user_confirmed + user_unconfirmed + user_locked));
+define('user_count' , (constant('user_confirmed') + constant('user_unconfirmed') + constant('user_locked')));
// Start of this exchange
define('__MT_START', MAKE_DATETIME(getConfig('mt_start'), "3"));
// Project timestamp when number of members are reached
$PROJECTED = 0;
-if (user_count > 0) {
- $PROJECTED = round((time() - getConfig('mt_start')) / user_count * getConfig('mt_stage') + getConfig('mt_start'));
+if (constant('user_count')> 0) {
+ // @TODO Find a better formular than this one
+ $PROJECTED = round((time() - getConfig('mt_start')) / constant('user_count') * getConfig('mt_stage') + getConfig('mt_start'));
}
-$YEAR = date('Y', $PROJECTED); $MONTH = date("m", $PROJECTED); $DAY = date("d", $PROJECTED);
-$TEST = mktime(0, 0, 0, $MONTH, $DAY, $YEAR);
+// Generate timestamp
+$TEST = MAKE_TIME(0, 0, 0, $PROJECTED);
+
if ($TEST > time()) {
define('__MT_PROJECTED', MAKE_DATETIME($PROJECTED, "3"));
} else {
- define('__MT_PROJECTED', USER_PROJECTION_UNKNOWN);
+ define('__MT_PROJECTED', getMessage('USER_PROJECTION_UNKNOWN'));
}
// User who can receive mails