]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix appstore download.
authorFrank Karlitschek <karlitschek@kde.org>
Fri, 27 Jan 2012 16:34:47 +0000 (17:34 +0100)
committerFrank Karlitschek <karlitschek@kde.org>
Fri, 27 Jan 2012 16:34:47 +0000 (17:34 +0100)
lib/app.php
lib/installer.php
settings/apps.php

index de7d82ce9596a66a527ed927f6f52459c3af059b..37a99823e3dba5b719db4cfdad864ee857175ae9 100644 (file)
@@ -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']));
                                }
                        }
                }
index 9248f68e01191e1e03e1d422530a21b9c3298785..b2f817e702f306e8e05518a9bf38a1cb5d50870c 100644 (file)
@@ -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'];
        }
 
        /**
index 40b72639cd6dc0fa606061b60b5bd0f17f4fcb2d..0889b0c45ed720a9b3953f48169f54ec35d21fe0 100644 (file)
@@ -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'],
+                       );
+               }
        }
  }