/** * * @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; }
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; }