<?php
/**
- * Shaarli v0.6.0 - Shaare your links...
+ * Shaarli v0.6.1 - Shaare your links...
*
* The personal, minimalist, super-fast, no-database Delicious clone.
*
$GLOBALS['config']['ENABLE_LOCALCACHE'] = true;
// Update check frequency for Shaarli. 86400 seconds=24 hours
-$GLOBALS['config']['UPDATECHECK_INTERVAL'] = 86400 ;
+$GLOBALS['config']['UPDATECHECK_BRANCH'] = 'stable';
+$GLOBALS['config']['UPDATECHECK_INTERVAL'] = 86400;
/*
/*
* PHP configuration
*/
-define('shaarli_version', '0.6.0');
+define('shaarli_version', '0.6.1');
// http://server.com/x/shaarli --> /shaarli/
define('WEB_PATH', substr($_SERVER["REQUEST_URI"], 0, 1+strrpos($_SERVER["REQUEST_URI"], '/', 0)));
}
$userIsLoggedIn = setup_login_state();
-// Checks if an update is available for Shaarli.
-// (at most once a day, and only for registered user.)
-// Output: '' = no new version.
-// other= the available version.
-function checkUpdate()
-{
- if (!isLoggedIn()) return ''; // Do not check versions for visitors.
- if (empty($GLOBALS['config']['ENABLE_UPDATECHECK'])) return ''; // Do not check if the user doesn't want to.
-
- // Get latest version number at most once a day.
- if (!is_file($GLOBALS['config']['UPDATECHECK_FILENAME']) || (filemtime($GLOBALS['config']['UPDATECHECK_FILENAME'])<time()-($GLOBALS['config']['UPDATECHECK_INTERVAL'])))
- {
- $version = shaarli_version;
- list($headers, $data) = get_http_url('https://raw.githubusercontent.com/shaarli/Shaarli/master/shaarli_version.php', 2);
- if (strpos($headers[0], '200 OK') !== false) {
- $version = str_replace(' */ ?>', '', str_replace('<?php /* ', '', $data));
- }
- // If failed, never mind. We don't want to bother the user with that.
- file_put_contents($GLOBALS['config']['UPDATECHECK_FILENAME'],$version); // touch file date
- }
- // Compare versions:
- $newestversion=file_get_contents($GLOBALS['config']['UPDATECHECK_FILENAME']);
- if (version_compare($newestversion,shaarli_version)==1) return $newestversion;
- return '';
-}
-
// -----------------------------------------------------------------------------------------------
// Log to text file
private function initialize()
{
$this->tpl = new RainTPL;
- $this->tpl->assign('newversion', escape(checkUpdate()));
+
+ try {
+ $version = ApplicationUtils::checkUpdate(
+ shaarli_version,
+ $GLOBALS['config']['UPDATECHECK_FILENAME'],
+ $GLOBALS['config']['UPDATECHECK_INTERVAL'],
+ $GLOBALS['config']['ENABLE_UPDATECHECK'],
+ isLoggedIn(),
+ $GLOBALS['config']['UPDATECHECK_BRANCH']
+ );
+ $this->tpl->assign('newVersion', escape($version));
+
+ } catch (Exception $exc) {
+ logm($exc->getMessage());
+ $this->tpl->assign('versionError', escape($exc->getMessage()));
+ }
+
$this->tpl->assign('feedurl', escape(index_url($_SERVER)));
$searchcrits = ''; // Search criteria
if (!empty($_GET['searchtags'])) {