[Pkg-owncloud-commits] [owncloud] 24/111: Remove OC_App dependancy from OC_API::mergeResponses()

David Prévot taffit at moszumanska.debian.org
Wed Nov 20 21:38:36 UTC 2013


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit f19caeed3312e9d9f935008884ef9afe300cdda4
Author: tomneedham <tom at owncloud.com>
Date:   Wed Nov 13 22:46:24 2013 +0000

    Remove OC_App dependancy from OC_API::mergeResponses()
---
 lib/private/api.php |   21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/lib/private/api.php b/lib/private/api.php
index eac4a82..ac9bb8b 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -96,6 +96,7 @@ class OC_API {
 				$responses[] = array(
 					'app' => $action['app'],
 					'response' => new OC_OCS_Result(null, OC_API::RESPOND_UNAUTHORISED, 'Unauthorised'),
+					'shipped' => OC_App::isShipped($action['app']),
 					);
 				continue;
 			}
@@ -103,6 +104,7 @@ class OC_API {
 				$responses[] = array(
 					'app' => $action['app'],
 					'response' => new OC_OCS_Result(null, OC_API::RESPOND_NOT_FOUND, 'Api method not found'),
+					'shipped' => OC_App::isShipped($action['app']),
 					);
 				continue;
 			}
@@ -110,6 +112,7 @@ class OC_API {
 			$responses[] = array(
 				'app' => $action['app'],
 				'response' => call_user_func($action['action'], $parameters),
+				'shipped' => OC_App::isShipped($action['app']),
 				);
 		}
 		$response = self::mergeResponses($responses);
@@ -127,7 +130,7 @@ class OC_API {
 	 * merge the returned result objects into one response
 	 * @param array $responses
 	 */
-	private static function mergeResponses($responses) {
+	public static function mergeResponses($responses) {
 		$response = array();
 		// Sort into shipped and thirdparty
 		$shipped = array(
@@ -140,17 +143,17 @@ class OC_API {
 			);
 
 		foreach($responses as $response) {
-			if(OC_App::isShipped($response['app']) || ($response['app'] === 'core')) {
+			if($response['shipped'] || ($response['app'] === 'core')) {
 				if($response['response']->succeeded()) {
-					$shipped['succeeded'][$response['app']] = $response['response'];
+					$shipped['succeeded'][$response['app']] = $response;
 				} else {
-					$shipped['failed'][$response['app']] = $response['response'];
+					$shipped['failed'][$response['app']] = $response;
 				}
 			} else {
 				if($response['response']->succeeded()) {
-					$thirdparty['succeeded'][$response['app']] = $response['response'];
+					$thirdparty['succeeded'][$response['app']] = $response;
 				} else {
-					$thirdparty['failed'][$response['app']] = $response['response'];
+					$thirdparty['failed'][$response['app']] = $response;
 				}
 			}
 		}
@@ -177,10 +180,10 @@ class OC_API {
 		$data = array();
 
 		foreach($responses as $app => $response) {
-			if(OC_App::isShipped($app)) {
-				$data = array_merge_recursive($response->getData(), $data);
+			if($response['shipped']) {
+				$data = array_merge_recursive($response['response']->getData(), $data);
 			} else {
-				$data = array_merge_recursive($data, $response->getData());
+				$data = array_merge_recursive($data, $response['response']->getData());
 			}
 		}
 		$result = new OC_OCS_Result($data, 100);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list