/**
  * Renders show action for bookmark controller
  * 
  * @return string The rendered HTML source for this action
  */
 public function showAction()
 {
     $this->view->assign('bookmarkConfig', $this->bookmarkConfiguration);
     $feGroupsQuery = $this->feUserGroupRepository->createQuery();
     $feGroupsQuery->getQuerySettings()->setRespectStoragePage(FALSE);
     $feGroups = $feGroupsQuery->execute();
     $this->view->assign('feGroups', $feGroups);
     $allBookmarks = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
     if ($this->bookmarkConfiguration->getShowPublicBookmarks()) {
         $publicBookmarks = $this->bookmarkRepository->findPublicBookmarksByListIdentifier($this->listIdentifier);
         $this->addObjectsToObjectStorageByArray($allBookmarks, $publicBookmarks);
     }
     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);
     }
     $userLoggedIn = 0;
     if ($this->feUser != NULL) {
         $userLoggedIn = 1;
     }
     $this->view->assign('userLoggedIn', $userLoggedIn);
     $this->view->assign('bookmarks', $allBookmarks);
 }
 /**
  * Removes all frontend usergroups that were set in previous actions
  *
  * @param \Evoweb\SfRegister\Domain\Model\FrontendUser $user
  * @return void
  */
 protected function removePreviousUserGroups(\Evoweb\SfRegister\Domain\Model\FrontendUser $user)
 {
     $userGroupIds = $this->getUserGroupIds();
     foreach ($userGroupIds as $userGroupId) {
         /** @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroupToRemove */
         $usergroupToRemove = $this->userGroupRepository->findByUid($userGroupId);
         $user->removeUsergroup($usergroupToRemove);
     }
 }
 /**
  * Fill in data to Author object
  * @param \Vendor\Guestbook\Domain\Model\Author $author
  */
 private function fillInAuthData(\Vendor\Guestbook\Domain\Model\Author $author)
 {
     /** @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $feUserGroup */
     $feUserGroup = $this->settings['usergroup'] ? $this->frontendUserGroupRepository->findByUid($this->settings['usergroup']) : '';
     $userGroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
     $author->setUsergroup($userGroup);
     $author->getUsergroup()->attach($feUserGroup);
     $this->setAuthorImage($author);
     $author->setPassword($this->getAuthorPassword($author));
 }
 public function createAction(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feUser)
 {
     //TODO prüfen ob username doppelt vergeben wird.
     if ($feUser->getPassword() == $this->request->getArgument('passwordConfirmation')) {
         $feUser->setPid($this->settings['pidFrontendUser']);
         $feUser->_setProperty('tx_extbase_type', 'Tx_Extbase_Domain_Model_FrontendUser');
         $feUser->addUserGroup($this->frontendUserGroupRepository->findByUid($this->settings['frontendUserGroup']));
         $this->frontendUserRepository->add($feUser);
         //it is not persistent already, we have to do it!
         $persistenceManager = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\PersistenceManager');
         $persistenceManager->persistAll();
         //now feuser ist persistent
         // Message for User
         $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserCreate", 'Der User <b>' . $feUser->getUsername() . '</b> wurde neu angelegt.');
         $redirectParams['feUser'] = $feUser;
         $this->redirect('successUpdate', 'FrontendUser', NULL, $redirectParams);
     } else {
         $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserCreate", 'Das Passwort stimmt nicht überein.');
         $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserData", array('username' => $feUser->getUsername()));
         $redirectParams['feUser'] = $feUser;
         $this->redirect('new', 'FrontendUser', NULL, array());
     }
 }
 /**
  * Folder form
  *
  * @return void
  */
 public function formFolderAction()
 {
     $args = GeneralUtility::_GET('tx_ameos_filemanager');
     $editFolderUid = $args['newFolder'];
     // We are editing a folder
     if ($editFolderUid != '') {
         if ($newFolder = $this->folderRepository->findByUid($editFolderUid, $writeRight = true)) {
             $this->view->assign('folder', $newFolder);
             $this->view->assign('parentFolder', $newFolder->getParent()->getUid());
         } else {
             return LocalizationUtility::translate('accessDenied', 'ameos_filemanager');
         }
     } else {
         $folderUid = $args['folder'] ?: $this->settings['startFolder'];
         if ($folderParent = $this->folderRepository->findByUid($folderUid, $writeRight = true)) {
             $this->view->assign('parentFolder', $folderParent->getUid());
         } else {
             return LocalizationUtility::translate('accessDenied', 'ameos_filemanager');
         }
     }
     if ($this->authorizedCategories != '') {
         $categorieUids = explode(',', $this->authorizedCategories);
         $categories = Tools::getByUids($this->categoryRepository, $this->authorizedCategories);
     } else {
         $categories = $this->categoryRepository->findAll();
     }
     if ($this->authorizedGroups != '') {
         $feGroup = Tools::getByUids($this->feGroupRepository, $this->authorizedGroups)->toArray();
         if (\TYPO3\CMS\Core\Utility\GeneralUtility::inList($this->authorizedGroups, -2)) {
             $temp = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUserGroup');
             $temp->_setProperty('uid', -2);
             $temp->setTitle(LocalizationUtility::translate('LLL:EXT:lang/locallang_general.xlf:LGL.any_login', null));
             $feGroup[] = $temp;
         }
     } else {
         $feGroup = $this->feGroupRepository->findAll()->toArray();
         $temp = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Domain\\Model\\FrontendUserGroup');
         $temp->_setProperty('uid', -2);
         $temp->setTitle(LocalizationUtility::translate('LLL:EXT:lang/locallang_general.xlf:LGL.any_login', null));
         $feGroup[] = $temp;
     }
     if ($args['errors']) {
         $this->view->assign('errors', $args['errors']);
         $this->view->assign('folder', $args['currentState']);
         $this->view->assign('parentFolder', $args['currentState']['uidParent']);
     }
     $this->view->assign('categories', $categories);
     $this->view->assign('feGroup', $feGroup);
     $this->view->assign('returnFolder', $args['returnFolder']);
 }
 /**
  * Generates new temporary user
  *
  * @throws \TYPO3\CMS\Extbase\Persistence\Exception\IllegalObjectTypeException
  *
  * @return \Abra\Cadabra\Domain\Model\FrontendUser
  */
 protected function createTemporaryUser()
 {
     $username = $this->createUniqueUserName();
     $user = new \Abra\Cadabra\Domain\Model\FrontendUser();
     $user->setUsername($username);
     $user->setPassword(sha1(time()));
     $userGroupId = $this->settings['frontendUser']['temporaryFrontendUserGroupId'];
     /** @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $userGroup */
     $userGroup = $this->frontendUserGroupRepository->findByIdentifier($userGroupId);
     $user->addUsergroup($userGroup);
     $user->setTemporaryUser(true);
     $this->frontendUserRepository->add($user);
     $this->persistenceManager->persistAll();
     return $user;
 }