From d485a70e7df602e85506ad94103df00f8bb3f765 Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Fri, 6 Jan 2012 19:08:35 +0100 Subject: finish the application store feature so that users can download and install ownCloud apps from our website. there is still a small problem with write permissions. will look into this later --- lib/app.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'lib/app.php') diff --git a/lib/app.php b/lib/app.php index b1aa8ba354d..1873e1136cd 100644 --- a/lib/app.php +++ b/lib/app.php @@ -94,7 +94,15 @@ class OC_App{ */ public static function enable( $app ){ if(!OC_Installer::isInstalled($app)){ - OC_Installer::installShippedApp($app); + // check if app is a shipped app or not. OCS apps have an integer as id, shipped apps use a string + if(!is_numeric($app)){ + OC_Installer::installShippedApp($app); + }else{ + $download=OC_OCSClient::getApplicationDownload($app,1); + if(isset($download['downloadlink']) and $download['downloadlink']<>'') { + OC_Installer::installApp(array('source'=>'http','href'=>$download['downloadlink'])); + } + } } OC_Appconfig::setValue( $app, 'enabled', 'yes' ); } @@ -107,6 +115,7 @@ class OC_App{ * This function set an app as disabled in appconfig. */ public static function disable( $app ){ + // check if app is a shiped app or not. if not delete OC_Appconfig::setValue( $app, 'enabled', 'no' ); } -- cgit v1.2.3