-<?php\r
-/************************************************************************\r
- * MXChange v0.2.1 Start: 01/16/2004 *\r
- * ================ Last change: 05/14/2004 *\r
- * *\r
- * -------------------------------------------------------------------- *\r
- * File : what-updates.php *\r
- * -------------------------------------------------------------------- *\r
- * Short description : Check for updates *\r
- * -------------------------------------------------------------------- *\r
- * Kurzbeschreibung : Prueft nach Updates *\r
- * -------------------------------------------------------------------- *\r
- * *\r
- * -------------------------------------------------------------------- *\r
- * Copyright (c) 2003 - 2008 by Roland Haeder *\r
- * For more information visit: http://www.mxchange.org *\r
- * *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or *\r
- * (at your option) any later version. *\r
- * *\r
- * This program is distributed in the hope that it will be useful, *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *\r
- * GNU General Public License for more details. *\r
- * *\r
- * You should have received a copy of the GNU General Public License *\r
- * along with this program; if not, write to the Free Software *\r
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *\r
- * MA 02110-1301 USA *\r
- ************************************************************************/\r
-\r
-// Some security stuff...\r
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
-{\r
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";\r
- require($INC);\r
-}\r
-// Add description as navigation point\r
-ADD_DESCR("admin", basename(__FILE__));\r
-\r
-// Init array\r
-$ONLINE['code'] = "???";\r
-\r
-// Get response from our server in an array\r
-$response = MXCHANGE_OPEN("check-updates2.php");\r
-if (empty($response[0]) && empty($response[1]) && empty($response[2]))\r
-{\r
- // Error!\r
- $response = array("", "", "");\r
-}\r
- else\r
-{\r
- // Analyse header for response code\r
- if (ereg("200 OK", $response[0]))\r
- {\r
- // Found, kill header\r
- $pos = 0;\r
- foreach($response as $k=>$v)\r
- {\r
- $v = trim($v);\r
- if (empty($v))\r
- {\r
- // Header ends here (+1)\r
- $pos = $k + 1; break;\r
- }\r
- }\r
- $response2 = array();\r
- for($i = $pos; $i < count($response); $i++)\r
- {\r
- $response2[] = trim($response[$i]);\r
- }\r
- $response = $response2; unset($response2);\r
- unset($pos);\r
-\r
- // Which is the latest version on server?\r
- $ONLINE = array(\r
- 'version' => str_replace("\n", "", $response[0]),\r
- 'changed' => str_replace("\n", "", $response[1])\r
- );\r
-\r
- // Array for available patches\r
- $PATCHES = array(\r
- 'fname' => array(),\r
- 'fsize' => array(),\r
- 'ctime' => array()\r
- );\r
-\r
- if (($response[2] != "[EOF]") && ($ONLINE['version'] == FULL_VERSION))\r
- {\r
- // We have found new patches (newer than FULL_VERSION)\r
- $max = str_replace("\n", "", $response[sizeof($response) - 2]); $TOTAL_SIZE = "0";\r
-\r
- // Maximum of available pacthes extracted (above). Now we can get all informations\r
- for ($idx = 0; $idx < $max; $idx++)\r
- {\r
- // List only newer patches\r
- $TEST = substr(str_replace("\n", "", $response[$idx * 5 + 2]), 0, strlen($CONFIG['patch_level']));\r
-\r
- // I have removed the addional test for the stored timemark in database or you cannot find\r
- // new updates on my server when you haven't installed it before I upload a patch... :-(\r
- if (bigintval($TEST) > bigintval($CONFIG['patch_level']))\r
- {\r
- // Copy every data from the response array\r
- $PATCHES['fname'][] = str_replace("\n", "", $response[$idx * 5 + 2]);\r
- $PATCHES['fsize'][] = str_replace("\n", "", $response[$idx * 5 + 3]);\r
- $PATCHES['ctime'][] = str_replace("\n", "", $response[$idx * 5 + 4]);\r
- switch (GET_LANGUAGE())\r
- {\r
- case "de": $PATCHES['descr'][] = str_replace("\n", "", $response[$idx * 5 + 5]); break; // Load german description\r
- default : $PATCHES['descr'][] = str_replace("\n", "", $response[$idx * 5 + 6]); break; // Load english description as default\r
- }\r
-\r
- // Add patch's size to total\r
- $TOTAL_SIZE += $PATCHES['fsize'][$idx];\r
- }\r
- }\r
- array_pk_sort($PATCHES, array("ctime", "fname"));\r
-\r
- // All done here!\r
- $ONLINE['code'] = "200 OK";\r
- }\r
- }\r
- else\r
- {\r
- // 404 / 403 error from server\r
- $ONLINE['code'] = $response[0];\r
- }\r
-}\r
-\r
-OPEN_TABLE("100%", "admin_content", "center");\r
-// Is a newer version available?\r
-if (empty($ONLINE['version']))\r
-{\r
- // Disconnected?\r
- LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_failed\">".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")</FONT>");\r
-}\r
- elseif ($ONLINE['version'] != FULL_VERSION)\r
-{\r
- // New full-version available (all previous released patches are included in this version!)\r
- define('__ONLINE_VERSION', $ONLINE['version']);\r
- define('__ONLINE_CHANGE' , MAKE_DATETIME($ONLINE['changed'], "2"));\r
-\r
- // Load template\r
- LOAD_TEMPLATE("admin_update_download");\r
-}\r
- elseif (sizeof($PATCHES['fname']) > 0)\r
-{\r
- // Some patches are available\r
- $OUT = ""; $SW = "2";\r
- foreach ($PATCHES['fname'] as $idx=>$file)\r
- {\r
- $SIZE = TRANSLATE_COMMA(round($PATCHES['fsize'][$idx]/102.4)/10);\r
- $content = array(\r
- 'sw' => $SW,\r
- 'patch_url' => SERVER_URL."/patches/".$file,\r
- 'patch_title' => str_replace("_", " ", str_replace(".zip", "", $file)),\r
- 'patch_ctime' => MAKE_DATETIME($PATCHES['ctime'][$idx], "2"),\r
- 'patch_size' => $SIZE,\r
- 'patch_desc' => COMPILE_CODE($PATCHES['descr'][$idx]),\r
- );\r
- // Evaluate descrition code\r
- $eval = "\$content['patch_desc'] = \"".$content['patch_desc']."\";";\r
- eval($eval);\r
-\r
- // Load template, switch color and count total size up\r
- $OUT .= LOAD_TEMPLATE("admin_patches_row", true, $content);\r
- $SW = 3 - $SW;\r
- }\r
- define('__PATCH_ROWS', $OUT);\r
-\r
- // Total size\r
- define('__TOTAL_SIZE', TRANSLATE_COMMA($TOTAL_SIZE / 1024));\r
-\r
- // Load main template\r
- LOAD_TEMPLATE("admin_patches");\r
-}\r
- else\r
-{\r
- // You have the latest version!\r
- LOAD_TEMPLATE("admin_settings_saved", false, NO_UPDATES_AVAILABLE);\r
-}\r
-CLOSE_TABLE();\r
-//\r
-?>\r
+<?php
+/************************************************************************
+ * MXChange v0.2.1 Start: 01/16/2004 *
+ * ================ Last change: 05/14/2004 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : what-updates.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Check for updates *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Prueft nach Updates *
+ * -------------------------------------------------------------------- *
+ * *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder *
+ * For more information visit: http://www.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 *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// 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);
+}
+// Add description as navigation point
+ADD_DESCR("admin", basename(__FILE__));
+
+// Init array
+$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]))
+{
+ // Error!
+ $response = array("", "", "");
+}
+ else
+{
+ // Analyse header for response code
+ if (ereg("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);
+
+ // Which is the latest version on server?
+ $ONLINE = array(
+ 'version' => str_replace("\n", "", $response[0]),
+ 'changed' => str_replace("\n", "", $response[1])
+ );
+
+ // 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
+ {
+ // 404 / 403 error from server
+ $ONLINE['code'] = $response[0];
+ }
+}
+
+OPEN_TABLE("100%", "admin_content", "center");
+// Is a newer version available?
+if (empty($ONLINE['version']))
+{
+ // Disconnected?
+ LOAD_TEMPLATE("admin_settings_saved", false, "<FONT class=\"admin_failed\">".ADMIN_CANNOT_CHECK_VERSION." (".$ONLINE['code'].")</FONT>");
+}
+ elseif ($ONLINE['version'] != FULL_VERSION)
+{
+ // 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"));
+
+ // 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);
+}
+CLOSE_TABLE();
+//
+?>