X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-updates.php;h=94306fe016f9bf61a4b2ac214dd55ba52eed94c1;hp=a2d5dbc4620fb340bebdd2f8816abb519ef09b1a;hb=5bdeaf8b452206598b6c6cd4f941145b11a0eccc;hpb=9b27fd714bd5db5ca84ec1bd019c7614441f504b diff --git a/inc/modules/admin/what-updates.php b/inc/modules/admin/what-updates.php index a2d5dbc462..94306fe016 100644 --- a/inc/modules/admin/what-updates.php +++ b/inc/modules/admin/what-updates.php @@ -32,26 +32,26 @@ ************************************************************************/ // 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 = MXCHANGE_OPEN("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 { // Analyse header for response code - if (ereg("200 OK", $response[0])) { + if (eregi("200 OK", $response[0])) { // Found, kill header $pos = 0; foreach($response as $k => $v) { @@ -71,8 +71,9 @@ if (empty($response[0]) && empty($response[1]) && empty($response[2])) { // 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 @@ -82,18 +83,18 @@ if (empty($response[0]) && empty($response[1]) && empty($response[2])) { '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]); @@ -122,42 +123,15 @@ if (empty($response[0]) && empty($response[1]) && empty($response[2])) { // Is a newer version available? if (empty($ONLINE['version'])) { // Disconnected? - LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")"); -} elseif ($ONLINE['version'] != FULL_VERSION) { + LOAD_TEMPLATE("admin_settings_saved", false, "
".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")
"); +} 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);