************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
}
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+ADD_DESCR("admin", __FILE__);
// Init array
$ONLINE['code'] = "???";
// Get response from our server in an array
-$response = GET_URL("check-updates2.php");
+$response = GET_URL("check-updates3.php");
-if (empty($response[0]) && empty($response[1]) && empty($response[2])) {
+if (empty($response[0]) && empty($response[1]) && empty($response[2]) && empty($response[3])) {
// Error!
$response = array("", "", "");
} else {
// Which is the latest version on server?
$ONLINE = array(
- 'version' => str_replace("\n", "", $response[0]),
- 'changed' => str_replace("\n", "", $response[1])
+ 'version' => str_replace("\n", "", $response[0]),
+ 'changed' => str_replace("\n", "", $response[1]),
+ 'revision' => str_replace("\n", "", $response[2]),
);
// Array for available patches
'ctime' => array()
);
- if (($response[2] != "[EOF]") && ($ONLINE['version'] == FULL_VERSION)) {
+ if (($response[3] != "[EOF]") && ($ONLINE['version'] == FULL_VERSION)) {
// We have found new patches (newer than FULL_VERSION)
- $max = str_replace("\n", "", $response[sizeof($response) - 2]); $TOTAL_SIZE = "0";
+ $max = str_replace("\n", "", $response[sizeof($response) - 2]); $TOTAL_SIZE = 0;
// Maximum of available pacthes extracted (above). Now we can get all informations
for ($idx = 0; $idx < $max; $idx++) {
// List only newer patches
- $TEST = substr(str_replace("\n", "", $response[$idx * 5 + 2]), 0, strlen($_CONFIG['patch_level']));
+ $TEST = substr(str_replace("\n", "", $response[$idx * 5 + 2]), 0, strlen(getConfig('patch_level')));
// I have removed the addional test for the stored timemark in database or you cannot find
// new updates on my server when you haven't installed it before I upload a patch... :-(
- if (bigintval($TEST) > bigintval($_CONFIG['patch_level'])) {
+ if (bigintval($TEST) > bigintval(getConfig('patch_level'))) {
// Copy every data from the response array
$PATCHES['fname'][] = str_replace("\n", "", $response[$idx * 5 + 2]);
$PATCHES['fsize'][] = str_replace("\n", "", $response[$idx * 5 + 3]);
if (empty($ONLINE['version'])) {
// Disconnected?
LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_failed\">".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")</FONT>");
-} elseif ($ONLINE['version'] != FULL_VERSION) {
+} elseif (($ONLINE['version'] != FULL_VERSION) || ($ONLINE['revision'] != CURR_SVN_REVISION)) {
// New full-version available (all previous released patches are included in this version!)
define('__ONLINE_VERSION', $ONLINE['version']);
define('__ONLINE_CHANGE' , MAKE_DATETIME($ONLINE['changed'], "2"));
+ define('__ONLINE_REVISION', $ONLINE['revision']);
// Load template
LOAD_TEMPLATE("admin_update_download");
-} elseif (sizeof($PATCHES['fname']) > 0) {
- // Some patches are available
- $OUT = ""; $SW = "2";
- foreach ($PATCHES['fname'] as $idx => $file) {
- $SIZE = TRANSLATE_COMMA(round($PATCHES['fsize'][$idx]/102.4)/10);
- $content = array(
- 'sw' => $SW,
- 'patch_url' => SERVER_URL."/patches/".$file,
- 'patch_title' => str_replace("_", " ", str_replace(".zip", "", $file)),
- 'patch_ctime' => MAKE_DATETIME($PATCHES['ctime'][$idx], "2"),
- 'patch_size' => $SIZE,
- 'patch_desc' => COMPILE_CODE($PATCHES['descr'][$idx]),
- );
- // Evaluate descrition code
- $eval = "\$content['patch_desc'] = \"".$content['patch_desc']."\";";
- eval($eval);
-
- // Load template, switch color and count total size up
- $OUT .= LOAD_TEMPLATE("admin_patches_row", true, $content);
- $SW = 3 - $SW;
- }
- define('__PATCH_ROWS', $OUT);
-
- // Total size
- define('__TOTAL_SIZE', TRANSLATE_COMMA($TOTAL_SIZE / 1024));
-
- // Load main template
- LOAD_TEMPLATE("admin_patches");
} else {
// You have the latest version!
LOAD_TEMPLATE("admin_settings_saved", false, NO_UPDATES_AVAILABLE);