diff --git a/ChangeLog b/ChangeLog index 4c14ab83b..33b9f8033 100755 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ $Source$ as last byte. * lang/japanese: Update, thanks to Tadashi Jokagi - elf2000. * lang/czech: Update. + * scripts/setup.php: Added check for latest version and links to homepage + and donations page. 2005-11-29 Marc Delisle * tbl_change.php, libraries/tbl_replace_fields.inc.php: diff --git a/scripts/setup.php b/scripts/setup.php index 339961c71..2485ffa5d 100644 --- a/scripts/setup.php +++ b/scripts/setup.php @@ -235,6 +235,48 @@ echo '' . "\n"; '; + foreach($params as $key => $val) { + $ret .= ''; + } + $ret .= ''; + $ret .= ''; + $ret .= "\n"; + return $ret; +} + /** * Terminates script and ends HTML * @@ -1618,6 +1681,54 @@ switch ($action) { show_blah_form($cfg); break; */ + case 'versioncheck': // Check for latest available version + PMA_dl('curl'); + $url = 'http://phpmyadmin.net/home_page/version.php'; + $version = ''; + $f = @fopen($url, 'r'); + if ($f === FALSE) { + if (!function_exists('curl_init')) { + message('error', 'Neither URL wrappers nor CURL are available. Version check is not possible.'); + break; + } + } else { + $version = fread($f, 20); + fclose($f); + } + if (empty($version) && function_exists('curl_init')) { + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_HEADER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); + $version = curl_exec($ch); + curl_close($ch); + } + if (empty($version)) { + message('error', 'Reading of version failed. Maybe you\'re offline or server does not respond.'); + break; + } + + $version_upstream = version_to_int($version); + if ($version_upstream === FALSE) { + message('error', 'Got invalid version string from server.'); + break; + } + + $version_local = version_to_int(PMA_VERSION); + if ($version_local === FALSE) { + message('error', 'Unparsable version string.'); + break; + } + + if ($version_upstream > $version_local) { + message('notice', 'New version of phpMyAdmin is available, you should consider upgrade. New version is ' . htmlspecialchars($version)); + } else { + if ($version_local % 100 == 0) { + message('notice', 'You are using CVS version, run cvs update :-)'); + } else { + message('notice', 'No newer stable version is available.'); + } + } + break; case 'clear': // Actual clearing is done on beginning of this script case 'main': @@ -1716,5 +1827,11 @@ if (!$fail_dir) { echo get_action('clear', 'Clear'); echo '' . "\n\n"; +echo '
Other actions' . "\n"; +echo get_action('versioncheck', 'Check for latest version'); +echo get_url_action('http://www.phpmyadmin.net/', 'Go to homepage'); +echo get_url_action('https://sourceforge.net/donate/index.php', 'Donate to phpMyAdmin', array('group_id' => 23067)); +echo '
' . "\n\n"; + footer(); ?>