1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-02 20:57:26 +02:00

update-check is more reliable - using version_compare();

This commit is contained in:
CaMer0n
2006-12-08 21:37:09 +00:00
parent f6eca3a6e5
commit f345113271

View File

@@ -1,4 +1,4 @@
// $Id: admin_update.sc,v 1.1 2006-12-08 08:10:25 e107coders Exp $ // $Id: admin_update.sc,v 1.2 2006-12-08 21:37:09 e107coders Exp $
global $e107cache,$ns; global $e107cache,$ns;
if (is_readable(e_ADMIN."ver.php")) if (is_readable(e_ADMIN."ver.php"))
@@ -9,9 +9,9 @@
$feed = "http://sourceforge.net/export/rss2_projfiles.php?group_id=63748"; $feed = "http://sourceforge.net/export/rss2_projfiles.php?group_id=63748";
$e107cache->CachePageMD5 = md5($e107info['e107_version']); $e107cache->CachePageMD5 = md5($e107info['e107_version']);
if($cacheData = $e107cache->retrieve("xfeed",3600, TRUE)) if($cacheData = $e107cache->retrieve("updatecheck",3600, TRUE))
{ {
return $cacheData; return $ns -> tablerender(LAN_NEWVERSION, $cacheData);
} }
require_once(e_HANDLER."xml_class.php"); require_once(e_HANDLER."xml_class.php");
@@ -24,30 +24,24 @@
$rss = new MagpieRSS( $rawData ); $rss = new MagpieRSS( $rawData );
} }
$current_vrs = floatval(str_replace(".","",$e107info['e107_version'])); list($cur_version,$tag) = explode(" ",$e107info['e107_version']);
foreach($rss->items as $val) foreach($rss->items as $val)
{ {
$search = array((strstr($val['title'],"(")),"e107","released"," v"); $search = array((strstr($val['title'],"(")),"e107","released"," v");
$version = trim(str_replace($search,"",$val['title'])); $version = trim(str_replace($search,"",$val['title']));
$numb = str_replace(".","",$version);
$vrs = floatval($numb);
if(($vrs > $current_vrs) && $vrs < 400) if(version_compare($version,$cur_version,">"))
{ {
$ftext .= "<a rel='external' href='".$val['link']."' >e107 v".$version."</a><br />\n"; $ftext .= "<a rel='external' href='".$val['link']."' >e107 v".$version."</a><br />\n";
}
break; break;
} }
}
if($ftext){ $e107cache->set("updatecheck", $ftext, TRUE);
$text = $ftext; if($ftext)
}
$e107cache->set("xfeed", $text, TRUE);
if($text)
{ {
return $ns -> tablerender(LAN_NEWVERSION, $text); return $ns -> tablerender(LAN_NEWVERSION, $ftext);
} }