summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Karlitschek <karlitschek@kde.org>2012-01-27 17:34:47 +0100
committerFrank Karlitschek <karlitschek@kde.org>2012-01-27 17:34:47 +0100
commit05f1fffddc49678768c90104e6aeaeac2419d95d (patch)
tree3e78dbdd3c4981a9f08f4755d674332c4711aff9
parentad4e305c964bfe159f1898e72359f9ecaf910b2d (diff)
downloadnextcloud-server-05f1fffddc49678768c90104e6aeaeac2419d95d.tar.gz
nextcloud-server-05f1fffddc49678768c90104e6aeaeac2419d95d.zip
fix appstore download.
-rw-r--r--lib/app.php2
-rw-r--r--lib/installer.php4
-rw-r--r--settings/apps.php24
3 files changed, 19 insertions, 11 deletions
diff --git a/lib/app.php b/lib/app.php
index de7d82ce959..37a99823e3d 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -100,7 +100,7 @@ class OC_App{
}else{
$download=OC_OCSClient::getApplicationDownload($app,1);
if(isset($download['downloadlink']) and $download['downloadlink']<>'') {
- OC_Installer::installApp(array('source'=>'http','href'=>$download['downloadlink']));
+ $app=OC_Installer::installApp(array('source'=>'http','href'=>$download['downloadlink']));
}
}
}
diff --git a/lib/installer.php b/lib/installer.php
index 9248f68e011..b2f817e702f 100644
--- a/lib/installer.php
+++ b/lib/installer.php
@@ -152,14 +152,14 @@ class OC_Installer{
}
//run appinfo/install.php
- if(!isset($data['noinstall']) or $data['noinstall']==false and is_file($basedir.'/appinfo/install.php')){
+ if((!isset($data['noinstall']) or $data['noinstall']==false) and file_exists($basedir.'/appinfo/install.php')){
include($basedir.'/appinfo/install.php');
}
//set the installed version
OC_Appconfig::setValue($info['id'],'installed_version',$info['version']);
OC_Appconfig::setValue($info['id'],'enabled','no');
- return true;
+ return $info['id'];
}
/**
diff --git a/settings/apps.php b/settings/apps.php
index 40b72639cd6..0889b0c45ed 100644
--- a/settings/apps.php
+++ b/settings/apps.php
@@ -57,14 +57,22 @@ usort($apps, 'app_sort');
$categories=array_keys($catagoryNames);
$externalApps=OC_OCSClient::getApplications($categories);
foreach($externalApps as $app){
- $apps[]=array(
- 'name'=>$app['name'],
- 'id'=>$app['id'],
- 'active'=>false,
- 'description'=>$app['description'],
- 'author'=>$app['personid'],
- 'license'=>$app['license'],
- );
+ // show only external apps that are not exist yet
+ $local=false;
+ foreach($apps as $a){
+ if($a['name']==$app['name']) $local=true;
+ }
+
+ if(!$local) {
+ $apps[]=array(
+ 'name'=>$app['name'],
+ 'id'=>$app['id'],
+ 'active'=>false,
+ 'description'=>$app['description'],
+ 'author'=>$app['personid'],
+ 'license'=>$app['license'],
+ );
+ }
}
}