diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php
index e1166e96c3d..f524508e708 100644
--- a/htdocs/admin/tools/update.php
+++ b/htdocs/admin/tools/update.php
@@ -23,6 +23,7 @@
*/
require '../../main.inc.php';
+include_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
include_once DOL_DOCUMENT_ROOT . '/core/lib/geturl.lib.php';
@@ -172,30 +173,22 @@ $result = getURLContent('http://sourceforge.net/projects/dolibarr/rss');
$sfurl = simplexml_load_string($result['content']);
if ($sfurl)
{
- $title=$sfurl->channel[0]->item[0]->title;
-
- function word_limiter($text, $limit = 30, $chars = '0123456789.')
- {
- if (strlen( $text ) > $limit)
- {
- $words = str_word_count($text, 2, $chars);
- $words = array_reverse($words, TRUE);
- foreach($words as $length => $word) {
- if ($length + strlen( $word ) >= $limit)
- {
- array_shift($words);
- } else {
- break;
- }
- }
- $words = array_reverse($words);
- $text = implode(" ", $words) . '';
- }
- return $text;
- }
-
- $str = $title;
- print $langs->trans("LastStableVersion").' : '. word_limiter( $str ).'
';
+ $i=0;
+ $version='0.0';
+ while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000)
+ {
+ $title=$sfurl->channel[0]->item[$i]->title;
+ if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg))
+ {
+ $newversion=$reg[1];
+ $newversionarray=explode('.',$newversion);
+ $versionarray=explode('.',$version);
+ //var_dump($newversionarray);var_dump($versionarray);
+ if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion;
+ }
+ $i++;
+ }
+ print $langs->trans("LastStableVersion").' : '. ($version?$version:$langs->trans("Unknown")) .'
';
}
else
{