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']; } }