X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-updates.php;h=96de642c722512410e7f0db9eacd441f255c8f22;hb=eb301334eb0960dd060cc0d59e6021260a41f835;hp=c2c31ac2ebc9d2fc88de4323f2e423a7ca92dcd5;hpb=c3e061c0d6fc0ee8778ebaebf1c05cf2bf126703;p=mailer.git diff --git a/inc/modules/admin/what-updates.php b/inc/modules/admin/what-updates.php index c2c31ac2eb..96de642c72 100644 --- a/inc/modules/admin/what-updates.php +++ b/inc/modules/admin/what-updates.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Prueft nach Updates * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $Date:: $ * + * $Tag:: 0.2.1-FINAL $ * + * $Author:: $ * + * Needs to be in all Files and every File needs "svn propset * + * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,43 +37,37 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); +} // END - if + // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); +addMenuDescription('admin', __FILE__); // Init array -$ONLINE['code'] = "???"; +$ONLINE['code'] = '???'; // Get response from our server in an array -$response = MXCHANGE_OPEN("check-updates2.php"); -if (empty($response[0]) && empty($response[1]) && empty($response[2])) -{ +$response = sendGetRequest('check-updates3.php'); + +if (empty($response[0]) && empty($response[1]) && empty($response[2]) && empty($response[3])) { // Error! - $response = array("", "", ""); -} - else -{ + $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) - { + foreach($response as $k => $v) { $v = trim($v); - if (empty($v)) - { + if (empty($v)) { // Header ends here (+1) $pos = $k + 1; break; } } + $response2 = array(); - for($i = $pos; $i < count($response); $i++) - { + for($i = $pos; $i < count($response); $i++) { $response2[] = trim($response[$i]); } $response = $response2; unset($response2); @@ -76,111 +75,31 @@ 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]), + 'code' => '200 OK' ); - - // Array for available patches - $PATCHES = array( - 'fname' => array(), - 'fsize' => array(), - 'ctime' => array() - ); - - if (($response[2] != "[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"; - - // 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'])); - - // 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'])) - { - // 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]); - $PATCHES['ctime'][] = str_replace("\n", "", $response[$idx * 5 + 4]); - switch (GET_LANGUAGE()) - { - case "de": $PATCHES['descr'][] = str_replace("\n", "", $response[$idx * 5 + 5]); break; // Load german description - default : $PATCHES['descr'][] = str_replace("\n", "", $response[$idx * 5 + 6]); break; // Load english description as default - } - - // Add patch's size to total - $TOTAL_SIZE += $PATCHES['fsize'][$idx]; - } - } - array_pk_sort($PATCHES, array("ctime", "fname")); - - // All done here! - $ONLINE['code'] = "200 OK"; - } - } - else - { + } else { // 404 / 403 error from server $ONLINE['code'] = $response[0]; } } -OPEN_TABLE("100%", "admin_content", "center"); // Is a newer version available? -if (empty($ONLINE['version'])) -{ +if (empty($ONLINE['version'])) { // Disconnected? - LOAD_TEMPLATE("admin_settings_saved", false, "".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")"); -} - elseif ($ONLINE['version'] != FULL_VERSION) -{ + loadTemplate('admin_settings_saved', false, "