/** * Checks whether is possible to register for a given event at all: * if a possibly logged-in user has not registered yet for this event, * if the event isn't canceled, full etc. * * If no user is logged in, it is just checked whether somebody could * register for this event. * * This function works even if no user is logged in. * * @param tx_seminars_seminar $event * am event for which we'll check if it is possible to register * * @return bool TRUE if it is okay to register, FALSE otherwise */ public function canRegisterIfLoggedIn(tx_seminars_seminar $event) { if (!$event->canSomebodyRegister()) { return FALSE; } if (!tx_oelib_FrontEndLoginManager::getInstance()->isLoggedIn()) { return TRUE; } $canRegister = $this->couldThisUserRegister($event); /** @var $user tx_seminars_Model_FrontEndUser */ $user = tx_oelib_FrontEndLoginManager::getInstance()->getLoggedInUser('tx_seminars_Mapper_FrontEndUser'); foreach ($this->getHooks() as $hook) { if (method_exists($hook, 'canRegisterForSeminar')) { $canRegister = $canRegister && $hook->canRegisterForSeminar($event, $user); } } return $canRegister; }