/** * @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; }
/** * 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; }
/** * @test */ public function getUserCanDeleteAll() { $this->assertEquals(FALSE, $this->bookmarkConfigToBeTested->getUserCanDeleteAll()); }
/** * @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(); }