diff --git a/lib/private/ocsclient.php b/lib/private/ocsclient.php index dc52fc27b5e027d4b7744efe6ead029702b26c57..e4cce6b2260238c508aa3268fda80eb4fe6eb9f8 100644 --- a/lib/private/ocsclient.php +++ b/lib/private/ocsclient.php @@ -59,7 +59,7 @@ class OC_OCSClient{ /** * Get all the categories from the OCS server - * @return array an array of category ids + * @return array|null an array of category ids or null * @note returns NULL if config value appstoreenabled is set to false * This function returns a list of all the application categories on the OCS server */ @@ -92,7 +92,7 @@ class OC_OCSClient{ /** * Get all the applications from the OCS server - * @return array an array of application data + * @return array|null an array of application data or null * * This function returns a list of all the applications on the OCS server * @param array|string $categories @@ -150,9 +150,9 @@ class OC_OCSClient{ /** * Get an the applications from the OCS server * @param string $id - * @return array an array of application data + * @return array|null an array of application data or null * - * This function returns an applications from the OCS server + * This function returns an applications from the OCS server */ public static function getApplication($id) { if(OC_Config::getValue('appstoreenabled', true)==false) { @@ -162,7 +162,7 @@ class OC_OCSClient{ $xml=OC_OCSClient::getOCSresponse($url); if($xml==false) { - OC_Log::write('core', 'Unable to parse OCS content', OC_Log::FATAL); + OC_Log::write('core', 'Unable to parse OCS content for app ' . $id, OC_Log::FATAL); return null; } $loadEntities = libxml_disable_entity_loader(true); @@ -170,6 +170,10 @@ class OC_OCSClient{ libxml_disable_entity_loader($loadEntities); $tmp=$data->data->content; + if (is_null($tmp)) { + OC_Log::write('core', 'Invalid OCS content returned for app ' . $id, OC_Log::FATAL); + return null; + } $app=array(); $app['id']=$tmp->id; $app['name']=$tmp->name; @@ -192,7 +196,7 @@ class OC_OCSClient{ /** * Get the download url for an application from the OCS server - * @return array an array of application data + * @return array|null an array of application data or null * * This function returns an download url for an applications from the OCS server * @param string $id @@ -223,6 +227,4 @@ class OC_OCSClient{ return $app; } - - }