示例#1
0
 /**
  * @param SecurityCheckerInterface $securityChecker
  * @param TokenStorageInterface $tokenStorage
  * @param RepositoryInterface $repository
  * @param Router $router
  * @param string $title
  */
 public function __construct(SecurityCheckerInterface $securityChecker, TokenStorageInterface $tokenStorage, RepositoryInterface $repository, Router $router, $title)
 {
     $rootNavigationItem = new NavigationItem($title);
     $section = new NavigationItem('');
     $files = new NavigationItem('symcloud.file');
     $files->setIcon('folder-open');
     if ($securityChecker->hasPermission('symcloud.files', 'view') && $tokenStorage->getToken() !== null) {
         $session = $repository->loginByHash($tokenStorage->getToken()->getUser(), 'HEAD');
         $references = $session->getReferences();
         foreach ($references as $reference) {
             $referenceItem = new DataNavigationItem($reference->getName(), $router->generate('get_directory', array('reference' => $reference->getHash(), 'name-as-key' => 'true', 'only-directories' => 'true')));
             $referenceItem->setDataResultKey('children');
             $referenceItem->setAction('symcloud/path:' . $reference->getHash());
             $referenceItem->setShowAddButton(false);
             $files->addChild($referenceItem);
         }
     }
     if ($files->hasChildren()) {
         $rootNavigationItem->addChild($section);
         $section->addChild($files);
     }
     $this->setNavigation(new Navigation($rootNavigationItem));
 }
示例#2
0
 public function __construct(SecurityCheckerInterface $securityChecker, $title)
 {
     $this->securityChecker = $securityChecker;
     $rootNavigationItem = new NavigationItem($title);
     $section = new NavigationItem('');
     $media = new NavigationItem('navigation.media');
     $media->setIcon('image');
     if ($this->securityChecker->hasPermission('sulu.media.collections', 'view')) {
         $collections = new DataNavigationItem('navigation.media.collections', '/admin/api/collections?sortBy=title', $media);
         $collections->setId('collections-edit');
         $collections->setAction('media/collections/root');
         $collections->setInstanceName('collections');
         $collections->setDataNameKey('title');
         $collections->setDataResultKey('collections');
         $collections->setShowAddButton(true);
         $collections->setTitleTranslationKey('navigation.media.collections');
         $collections->setNoDataTranslationKey('');
         $collections->setAddButtonTranslationKey('navigation.media.collections.add');
         $collections->setSearchTranslationKey('navigation.media.collections.search');
     }
     if ($media->hasChildren()) {
         $section->addChild($media);
         $rootNavigationItem->addChild($section);
     }
     $this->setNavigation(new Navigation($rootNavigationItem));
 }