コード例 #1
0
 /**
  * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
  */
 public function getBookmarksForCurrentConfigAndFeUser()
 {
     $allBookmarks = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
     if ($this->bookmarkConfiguration->getShowPrivateBookmarks() && $this->feUser != NULL) {
         $privateBookmarks = $this->bookmarkRepository->findPrivateBookmarksByFeUserAndListIdentifier($this->feUser, $this->listIdentifier);
         $this->addObjectsToObjectStorageByArray($allBookmarks, $privateBookmarks);
     }
     if ($this->bookmarkConfiguration->getShowGroupBookmarks() && $this->feUser != NULL && count($this->feUser->getUsergroup()) > 0) {
         $groupBookmarks = $this->bookmarkRepository->findGroupBookmarksByFeUserAndListIdentifier($this->feUser, $this->listIdentifier);
         $this->addObjectsToObjectStorageByArray($allBookmarks, $groupBookmarks);
     }
     if ($this->bookmarkConfiguration->getShowPublicBookmarks()) {
         $publicBookmarks = $this->bookmarkRepository->findPublicBookmarksByListIdentifier($this->listIdentifier);
         $this->addObjectsToObjectStorageByArray($allBookmarks, $publicBookmarks);
     }
     return $allBookmarks;
 }
コード例 #2
0
 /**
  * Returns true, if a user is allowed to create group bookmarks
  *
  * @return bool
  */
 protected function userIsAllowedToCreateGroupBookmarks()
 {
     if ($this->feUser == null) {
         return false;
     }
     // User UID is allowed to store group bookmarks?
     $userUid = $this->feUser->getUid();
     $userUidsAllowedToStoreGroupBookmarks = explode(',', $this->bookmarkConfiguration->getFeUsersAllowedToEdit());
     if (in_array($userUid, $userUidsAllowedToStoreGroupBookmarks)) {
         return true;
     }
     // group UID is allowed to store public bookmarks?
     $groupUidsAllowedToStoreGroupBookmarks = explode(',', $this->bookmarkConfiguration->getFeGroupsAllowedToEdit());
     $groupUids = $this->feUser->getUsergroups();
     foreach ($this->feUser->getUsergroups() as $usergroup) {
         if (in_array($usergroup->getUid(), $groupUidsAllowedToStoreGroupBookmarks)) {
             return true;
         }
     }
     return false;
 }
コード例 #3
0
 /**
  * @test
  */
 public function getUserCanDeleteAll()
 {
     $this->assertEquals(FALSE, $this->bookmarkConfigToBeTested->getUserCanDeleteAll());
 }
コード例 #4
0
 /**
  * @param Tx_PtExtlist_Domain_Configuration_Bookmark_BookmarkConfig $bookmarkConfig
  * @param integer $userLoggedIn
  * @return boolean
  */
 public function render(Tx_PtExtlist_Domain_Configuration_Bookmark_BookmarkConfig $bookmarkConfig, $userLoggedIn)
 {
     return $bookmarkConfig->getCreatePublicBookmarks() || $bookmarkConfig->getCreatePrivateBookmarks() && $userLoggedIn || $bookmarkConfig->getCreateGroupBookmarks();
 }