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, 2010 by Mailer Developer Team *
20 * For more information visit: http://www.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])) {
60 foreach ($response as $k => $v) {
63 // Header ends here (+1)
69 for($i = $pos; $i < count($response); $i++) {
70 $response2[] = trim($response[$i]);
72 $response = $response2; unset($response2);
75 // Which is the latest version on server?
77 'version' => trim(str_replace("\n", '', $response[0])),
78 'changed' => trim(str_replace("\n", '', $response[1])),
79 'revision' => trim(str_replace("\n", '', $response[2])),
83 // 404 / 403 error from server
84 $ONLINE['code'] = $response[0];
88 // Is a newer version available?
89 if (empty($ONLINE['version'])) {
91 loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CANNOT_CHECK_VERSION--} (' . $ONLINE['code'] . ')');
92 } elseif (($ONLINE['version'] != getFullVersion()) || ($ONLINE['revision'] > getCurrentRepositoryRevision())) {
93 // New full-version available (all previous released patches are included in this version!)
94 $ONLINE['changed'] = generateDateTime($ONLINE['changed'], 2);
97 loadTemplate('admin_update_download', false, $ONLINE);
98 } elseif ($ONLINE['revision'] < getCurrentRepositoryRevision()) {
99 // Installed revision is newer than on server
100 loadTemplate('admin_settings_saved', false, '{--ADMIN_LOCAL_REVISION_IS_NEWER_THAN_UPDATE--}');
102 // You have the latest version!
103 loadTemplate('admin_settings_saved', false, '{--ADMIN_NO_UPDATES_AVAILABLE--}');