$collection =
new ExtensionCollection();
$language =
$this->localeProvider->
getLocaleFromContext($context);
foreach ($apps as $name =>
$app) { if ($icon =
$app->
getMetadata()->
getIcon()) { $icon =
$this->appLoader->
loadFile($app->
getPath(),
$icon);
} $appArray =
$app->
getMetadata()->
toArray($language);
$row =
[ 'description' =>
isset($appArray['description'
]) ?
$this->
getTranslationFromArray($appArray['description'
],
$language) : '',
'name' =>
$name,
'label' =>
isset($appArray['label'
]) ?
$this->
getTranslationFromArray($appArray['label'
],
$language) : '',
'producerName' =>
$app->
getMetadata()->
getAuthor(),
'license' =>
$app->
getMetadata()->
getLicense(),
'version' =>
$app->
getMetadata()->
getVersion(),
'latestVersion' =>
$app->
getMetadata()->
getVersion(),
'iconRaw' =>
$icon ?
base64_encode($icon) : null,
'installedAt' => null,
'active' => false,
'type' => ExtensionStruct::EXTENSION_TYPE_APP,
'isTheme' =>
is_file($app->
getPath() . '/Resources/theme.json'
),