<?php
/************************************************************************
- * MXChange v0.2.1 Start: 01/16/2004 *
- * ================ Last change: 05/14/2004 *
+ * Mailer v0.2.1-FINAL Start: 01/16/2004 *
+ * =================== Last change: 05/14/2004 *
* *
* -------------------------------------------------------------------- *
* File : what-updates.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Prueft nach Updates *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!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", __FILE__);
+addYouAreHereLink('admin', __FILE__);
// Init array
-$ONLINE['code'] = "???";
+$ONLINE['code'] = '???';
// Get response from our server in an array
-$response = GET_URL("check-updates3.php");
+$response = sendHttpGetRequest('check-updates3.php');
if (empty($response[0]) && empty($response[1]) && empty($response[2]) && empty($response[3])) {
// Error!
- $response = array("", "", "");
+ $response = array('', '', '');
} else {
// Analyse header for response code
- if (eregi("200 OK", $response[0])) {
+ if (isInStringIgnoreCase('200 OK', $response[0])) {
// Found, kill header
- $pos = 0;
- foreach($response as $k => $v) {
- $v = trim($v);
- if (empty($v)) {
- // Header ends here (+1)
- $pos = $k + 1; break;
- }
- }
-
- $response2 = array();
- for($i = $pos; $i < count($response); $i++) {
- $response2[] = trim($response[$i]);
- }
- $response = $response2; unset($response2);
- unset($pos);
+ $response = removeHttpHeaderFromResponse($response);
// Which is the latest version on server?
$ONLINE = array(
- 'version' => str_replace("\n", "", $response[0]),
- 'changed' => str_replace("\n", "", $response[1]),
- 'revision' => str_replace("\n", "", $response[2]),
+ 'version' => trim(str_replace(PHP_EOL, '', $response[0])),
+ 'changed' => trim(str_replace(PHP_EOL, '', $response[1])),
+ 'revision' => trim(str_replace(PHP_EOL, '', $response[2])),
+ 'code' => '200 OK'
);
-
- // Array for available patches
- $PATCHES = array(
- 'fname' => array(),
- 'fsize' => array(),
- 'ctime' => array()
- );
-
- if (($response[3] != "[EOF]") && ($ONLINE['version'] == constant('FULL_VERSION'))) {
- // We have found new patches (newer than FULL_VERSION)
- $max = str_replace("\n", "", $response[count($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(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) > 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]);
- $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 {
// 404 / 403 error from server
$ONLINE['code'] = $response[0];
// Is a newer version available?
if (empty($ONLINE['version'])) {
// Disconnected?
- LOAD_TEMPLATE("admin_settings_saved", false, "<div class=\"admin_failed\">{--ADMIN_CANNOT_CHECK_VERSION--} (".$ONLINE['code'].")</div>");
-} elseif (($ONLINE['version'] != constant('FULL_VERSION')) || ($ONLINE['revision'] != constant('CURR_SVN_REVISION'))) {
+ displayErrorMessage('{--ADMIN_CANNOT_CHECK_VERSION--} (' . $ONLINE['code'] . ')');
+} elseif (($ONLINE['version'] != getFullVersion()) || ($ONLINE['revision'] > getCurrentRepositoryRevision())) {
// 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']);
+ $ONLINE['changed'] = generateDateTime($ONLINE['changed'], 2);
// Load template
- LOAD_TEMPLATE("admin_update_download");
+ loadTemplate('admin_update_download', FALSE, $ONLINE);
+} elseif ($ONLINE['revision'] < getCurrentRepositoryRevision()) {
+ // Installed revision is newer than on server
+ displayMessage('{--ADMIN_LOCAL_REVISION_IS_NEWER_THAN_UPDATE--}');
} else {
// You have the latest version!
- LOAD_TEMPLATE("admin_settings_saved", false, getMessage('NO_UPDATES_AVAILABLE'));
+ displayMessage('{--ADMIN_NO_UPDATES_AVAILABLE--}');
}
-//
+// [EOF]
?>