Files
2025-03-12 17:06:23 +01:00

79 lines
2.6 KiB
PHP

<?php
class stBackendComponents extends sfComponents {
public function executeMenu()
{
$this->inverted = false;
$navigationBarItems = sfConfig::get('app_navigation_bar_items');
$menu = new stNavigationMenu();
foreach (sfConfig::get('app_navigation_bar_display') as $id => $items)
{
if (!isset($navigationBarItems[$id]))
{
throw new Exception(sprintf('Item "%s" does not exist in navigation_bar.items', $id));
}
$navigationBarItem = $navigationBarItems[$id];
$item = $menu->addItem($id, $navigationBarItem['label'], isset($navigationBarItem['route']) ? $navigationBarItem['route'] : null, $navigationBarItem);
if ($items)
{
foreach (array_keys($items) as $childId)
{
if (!isset($navigationBarItems[$childId]))
{
throw new Exception(sprintf('Item "%s" does not exist in navigation_bar.items', $id));
}
$navigationBarItem = $navigationBarItems[$childId];
$item->addItem($childId, $navigationBarItem['label'], isset($navigationBarItem['route']) ? $navigationBarItem['route'] : null, $navigationBarItem);
}
}
}
$configItem = $menu->getItem('configuration');
foreach (stConfiguration::getGroups() as $name => $title)
{
if (stConfiguration::getInstance()->hasDesktopModules($name))
{
$configItem->addItem($name, $title, '@stConfigurationPlugin?group='.$name.'#'.$name, array(
'i18n' => 'stConfigurationBackend',
));
}
}
$this->items = $menu->getItems();
}
public function executeAbuseInformation() {
}
public function executeUpdateInfo()
{
$version = stCommunication::getCurrentVersion();
stLicenseAbuse::checkLicenseAbuseStatus();
$this->has_valid_license = stCommunication::hasValidLicense();
$this->update = version_compare(stRegisterSync::getPackageVersion('soteshop'), $version, '<');
}
public function executeLicenseInfo()
{
$info = stCommunication::getLicenseInfo();
$config = stConfig::getInstance('stRegister');
$this->change_subscription_url = stSoteHelper::getChangeSubscriptionUrl($this->getUser()->getCulture());
$this->config = $config;
$this->license_valid_until = $info['guarantee'];
}
}