]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-updates.php
Fixes/rewrites for 'dublicate entry' bug
[mailer.git] / inc / modules / admin / what-updates.php
index a2d5dbc4620fb340bebdd2f8816abb519ef09b1a..5b5bddfacc25b1678bd3dbf34c3afa9612da6bd6 100644 (file)
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {
+if ((!defined('__SECURITY')) || (!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__));
+ADD_DESCR("admin", __FILE__);
 
 // Init array
 $ONLINE['code'] = "???";
 
 // Get response from our server in an array
-$response = MXCHANGE_OPEN("check-updates2.php");
+$response = GET_URL("check-updates3.php");
 
-if (empty($response[0]) && empty($response[1]) && empty($response[2])) {
+if (empty($response[0]) && empty($response[1]) && empty($response[2]) && empty($response[3])) {
        // Error!
        $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) {
@@ -71,8 +71,9 @@ 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]),
                );
 
                // Array for available patches
@@ -82,18 +83,18 @@ if (empty($response[0]) && empty($response[1]) && empty($response[2])) {
                        'ctime' => array()
                );
 
-               if (($response[2] != "[EOF]") && ($ONLINE['version'] == FULL_VERSION)) {
+               if (($response[3] != "[EOF]") && ($ONLINE['version'] == constant('FULL_VERSION'))) {
                        // We have found new patches (newer than FULL_VERSION)
-                       $max = str_replace("\n", "", $response[sizeof($response) - 2]); $TOTAL_SIZE = "0";
+                       $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']));
+                               $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) > bigintval($_CONFIG['patch_level'])) {
+                               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]);
@@ -122,45 +123,18 @@ if (empty($response[0]) && empty($response[1]) && empty($response[2])) {
 // 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) {
+       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'))) {
        // 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']);
 
        // 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);
+       LOAD_TEMPLATE("admin_settings_saved", false, getMessage('NO_UPDATES_AVAILABLE'));
 }
 
 //