From ca7e4c8c67c531c39d7e2dd343709413a3788ce9 Mon Sep 17 00:00:00 2001
From: Lukas Reschke <lukas@owncloud.com>
Date: Tue, 26 Aug 2014 10:20:51 +0200
Subject: [PATCH] Add isAppstoreEnabled instead of hijacking the URL

---
 lib/private/ocsclient.php | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/lib/private/ocsclient.php b/lib/private/ocsclient.php
index d173f39eba..dc147dea0c 100644
--- a/lib/private/ocsclient.php
+++ b/lib/private/ocsclient.php
@@ -28,6 +28,18 @@
 
 class OC_OCSClient{
 
+	/**
+	 * Returns whether the AppStore is enabled (i.e. because the AppStore is disabled for EE)
+	 * @return bool
+	 */
+	protected static function isAppstoreEnabled() {
+		if(OC::$server->getConfig()->getSystemValue('appstoreenabled', true) === false OR OC_Util::getEditionString() !== '') {
+			return false;
+		}
+
+		return true;
+	}
+
 	/**
 	 * Get the url of the OCS AppStore server.
 	 * @return string of the AppStore server
@@ -36,10 +48,9 @@ class OC_OCSClient{
 	 * to set it in the config file or it will fallback to the default
 	 */
 	private static function getAppStoreURL() {
-		return \OC::$server->getConfig()->getSystemValue('appstoreurl', 'https://api.owncloud.com/v1');
+		return OC::$server->getConfig()->getSystemValue('appstoreurl', 'https://api.owncloud.com/v1');
 	}
 
-
 	/**
 	 * Get the content of an OCS url call.
 	 * @return string of the response
@@ -58,7 +69,7 @@ class OC_OCSClient{
 	 * This function returns a list of all the application categories on the OCS server
 	 */
 	public static function getCategories() {
-		if(OC_Config::getValue('appstoreenabled', true)==false) {
+		if(!self::isAppstoreEnabled()) {
 			return null;
 		}
 		$url=OC_OCSClient::getAppStoreURL().'/content/categories';
@@ -94,7 +105,7 @@ class OC_OCSClient{
 	 * @param string $filter
 	 */
 	public static function getApplications($categories, $page, $filter) {
-		if(OC_Config::getValue('appstoreenabled', true)==false) {
+		if(!self::isAppstoreEnabled()) {
 			return(array());
 		}
 
@@ -149,7 +160,7 @@ class OC_OCSClient{
 	 * This function returns an applications from the OCS server
 	 */
 	public static function getApplication($id) {
-		if(OC_Config::getValue('appstoreenabled', true)==false) {
+		if(!self::isAppstoreEnabled()) {
 			return null;
 		}
 		$url=OC_OCSClient::getAppStoreURL().'/content/data/'.urlencode($id);
@@ -197,7 +208,7 @@ class OC_OCSClient{
 	 * @param integer $item
 	 */
 	public static function getApplicationDownload($id, $item) {
-		if(OC_Config::getValue('appstoreenabled', true)==false) {
+		if(!self::isAppstoreEnabled()) {
 			return null;
 		}
 		$url=OC_OCSClient::getAppStoreURL().'/content/download/'.urlencode($id).'/'.urlencode($item);
-- 
GitLab