/**
  * 
  * @return [
  * 		{
  * 			name: ...,
  * 			javascriptOnly: "true"/"false",
  * 			meta: {Map}
  * 		},
  * 		...
  * ]
  */
 public static function getAllInstalledApplications()
 {
     $myApplicationsManager = new EyeosApplicationsManager();
     $applications = $myApplicationsManager->getAllInstalledApplications();
     $return = array();
     foreach ($applications as $appDesc) {
         $jsonAppDesc = self::toArray($appDesc);
         // Translate icon URL to enable caching
         if (isset($jsonAppDesc['meta']['eyeos.application.iconUrl'])) {
             $extUrl = FSI::toExternalUrl($jsonAppDesc['meta']['eyeos.application.iconUrl']);
             if ($extUrl) {
                 $jsonAppDesc['meta']['eyeos.application.iconUrl'] = $extUrl;
             }
         }
         $sysParams = $jsonAppDesc['meta']['eyeos.application.systemParameters'];
         if ($sysParams['listable'] == 'true') {
             $return[] = $jsonAppDesc;
         }
     }
     return $return;
 }
Esempio n. 2
0
 public static function getAllInstalledApplications($params)
 {
     $myApplicationsManager = new EyeosApplicationsManager();
     $applications = $myApplicationsManager->getAllInstalledApplications($params);
     $return = array();
     foreach ($applications as $appDesc) {
         $appMeta = $appDesc->getMeta();
         $sysParams = $appMeta->get('eyeos.application.systemParameters');
         $imagePath = $appMeta->get('eyeos.application.iconUrl');
         $imageIsValid = true;
         try {
             $file = FSI::getFile($imagePath);
         } catch (Exception $e) {
             $imageIsValid = false;
         }
         if ($imageIsValid && !$file->isReadable()) {
             $imageIsValid = false;
         }
         if (!$imageIsValid) {
             $imagePath = 'sys:///extern/images/48x48/apps/preferences-desktop-default-applications.png';
         }
         $return[] = array('name' => $appDesc->getName(), 'displayName' => $appMeta->get('eyeos.application.name') !== null ? $appMeta->get('eyeos.application.name') : $appDesc->getName(), 'app' => $appDesc->getName(), 'shortDescription' => $appMeta->get('eyeos.application.description'), 'image' => FSI::toExternalUrl($imagePath), 'favorite' => $myApplicationsManager->isApplicationFavorite($appDesc) ? true : false, 'lists' => $appMeta->get('eyeos.application.category'), 'listable' => $sysParams['listable'] == 'true' ? 1 : 0, 'installed' => $myApplicationsManager->isApplicationInstalled($appDesc) ? true : false);
     }
     return $return;
 }