/**
  * 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;
 }