2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 01/16/2004 *
4 * =================== Last change: 05/14/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-updates.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Check for updates *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Prueft nach Updates *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009 - 2011 by Mailer Developer Team *
20 * For more information visit: http://mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if ((!defined('__SECURITY')) || (!isAdmin())) {
43 // Add description as navigation point
44 addYouAreHereLink('admin', __FILE__);
47 $ONLINE['code'] = '???';
49 // Get response from our server in an array
50 $response = sendGetRequest('check-updates3.php');
52 if (empty($response[0]) && empty($response[1]) && empty($response[2]) && empty($response[3])) {
54 $response = array('', '', '');
56 // Analyse header for response code
57 if (isInStringIgnoreCase('200 OK', $response[0])) {
59 $response = removeHttpHeaderFromResponse($response);
61 // Which is the latest version on server?
63 'version' => trim(str_replace("\n", '', $response[0])),
64 'changed' => trim(str_replace("\n", '', $response[1])),
65 'revision' => trim(str_replace("\n", '', $response[2])),
69 // 404 / 403 error from server
70 $ONLINE['code'] = $response[0];
74 // Is a newer version available?
75 if (empty($ONLINE['version'])) {
77 loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CANNOT_CHECK_VERSION--} (' . $ONLINE['code'] . ')');
78 } elseif (($ONLINE['version'] != getFullVersion()) || ($ONLINE['revision'] > getCurrentRepositoryRevision())) {
79 // New full-version available (all previous released patches are included in this version!)
80 $ONLINE['changed'] = generateDateTime($ONLINE['changed'], 2);
83 loadTemplate('admin_update_download', false, $ONLINE);
84 } elseif ($ONLINE['revision'] < getCurrentRepositoryRevision()) {
85 // Installed revision is newer than on server
86 displayMessage('{--ADMIN_LOCAL_REVISION_IS_NEWER_THAN_UPDATE--}');
88 // You have the latest version!
89 displayMessage('{--ADMIN_NO_UPDATES_AVAILABLE--}');