From 897bfa8814eaebe6d0d44b8554b99725819214e7 Mon Sep 17 00:00:00 2001
From: Frank Karlitschek <frank@owncloud.org>
Date: Sat, 9 Jun 2012 17:43:02 +0200
Subject: [PATCH] finally fix the updater. next is an automatic updater. but
 this is a bit more tricky.

---
 config/config.sample.php |  3 +++
 lib/updater.php          | 17 +++++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/config/config.sample.php b/config/config.sample.php
index 0c0ace521e..bb13b1f8ea 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -74,6 +74,9 @@ $CONFIG = array(
 /* Check 3rdparty apps for malicious code fragments */
 "appcodechecker" => "",
 
+/* Check if ownCloud is up to date */
+"updatechecker" => true,
+
 /* Place to log to, can be owncloud and syslog (owncloud is log menu item in admin menu) */
 "log_type" => "owncloud",
 
diff --git a/lib/updater.php b/lib/updater.php
index bc5ee00b6a..5d97178c30 100644
--- a/lib/updater.php
+++ b/lib/updater.php
@@ -30,11 +30,12 @@ class OC_Updater{
 	 */
 	public static function check(){
 		OC_Appconfig::setValue('core', 'lastupdatedat',microtime(true));
+		if(OC_Appconfig::getValue('core', 'installedat','')=='') OC_Appconfig::setValue('core', 'installedat',microtime(true));
 
 		$updaterurl='http://apps.owncloud.com/updater.php';
 		$version=OC_Util::getVersion();
-		$version['installed']=OC_Config::getValue('installedat');
-		$version['updated']=OC_Appconfig::getValue('core', 'lastupdatedat', OC_Config::getValue( 'lastupdatedat'));
+		$version['installed']=OC_Appconfig::getValue('core', 'installedat');
+		$version['updated']=OC_Appconfig::getValue('core', 'lastupdatedat');
 		$version['updatechannel']='stable';
 		$version['edition']=OC_Util::getEditionString();
 		$versionstring=implode('x',$version);
@@ -57,11 +58,15 @@ class OC_Updater{
 	}
 
 	public static function ShowUpdatingHint(){
-		$data=OC_Updater::check();
-		if(isset($data['version']) and $data['version']<>'') {
-			$txt='<span style="color:#AA0000; font-weight:bold;">'.$data['versionstring'].' is available. Get <a href="'.$data['web'].'">more information</a></span>';
+		if(OC_Config::getValue('updatechecker', true)==true){
+			$data=OC_Updater::check();
+			if(isset($data['version']) and $data['version']<>'') {
+				$txt='<span style="color:#AA0000; font-weight:bold;">'.$data['versionstring'].' is available. Get <a href="'.$data['web'].'">more information</a></span>';
+			}else{
+				$txt='up to date';
+			}
 		}else{
-			$txt='up to date';
+			$txt='updates check is disabled';
 		}
 		return($txt);
 	}
-- 
GitLab