/** * @param array $arrErrors * * @return string * @permissions view,right1 */ protected function actionRegisterForEvent($arrErrors = array()) { $strReturn = ""; $objEvent = new class_module_eventmanager_event($this->getSystemid()); if ($objEvent->getIntLimitGiven() == "1" && $objEvent->getIntParticipantsLimit() <= class_module_eventmanager_participant::getActiveParticipantsCount($this->getSystemid())) { $strMessage = $this->getLang("participantLimitReached"); $strWrapperID = $this->objTemplate->readTemplate("/module_eventmanager/" . $this->arrElementData["char1"], "event_register_message"); $strReturn = $this->objTemplate->fillTemplate(array("title" => $objEvent->getStrTitle(), "message" => $strMessage), $strWrapperID); return $strReturn; } $bitIsLoggedin = false; if ($this->objSession->isLoggedin() && $this->objTemplate->containsSection($this->objTemplate->readTemplate("/module_eventmanager/" . $this->arrElementData["char1"]), "event_register_loggedin")) { $bitIsLoggedin = true; if ($objEvent->isParticipant($this->objSession->getUserID())) { $objParticpant = class_module_eventmanager_participant::getParticipantByUserid($this->objSession->getUserID(), $objEvent->getSystemid()); $this->setParam("comment", $objParticpant->getStrComment()); $this->setParam("participant_status", $objParticpant->getIntParticipationStatus()); } } $objMapper = new class_template_mapper($objEvent); $objMapper->addPlaceholder("forename", $this->getParam("forename")); $objMapper->addPlaceholder("lastname", $this->getParam("lastname")); $objMapper->addPlaceholder("phone", $this->getParam("phone")); $objMapper->addPlaceholder("comment", $this->getParam("comment")); $objMapper->addPlaceholder("email", $this->getParam("email")); $objMapper->addPlaceholder("participant_status", $this->getParam("participant_status")); $objMapper->addPlaceholder("title", $objEvent->getStrTitle()); $objMapper->addPlaceholder("dateTimeFrom", dateToString($objEvent->getObjStartDate(), true)); $objMapper->addPlaceholder("dateFrom", dateToString($objEvent->getObjStartDate(), false)); $objMapper->addPlaceholder("dateTimeUntil", dateToString($objEvent->getObjEndDate(), true)); $objMapper->addPlaceholder("dateUntil", dateToString($objEvent->getObjEndDate(), false)); $objMapper->addPlaceholder("formaction", class_link::getLinkPortalHref($this->getPagename(), "", "saveRegisterForEvent", "", $this->getSystemid(), "", $objEvent->getStrTitle())); if ($bitIsLoggedin) { $objUser = new class_module_user_user($this->objSession->getUserID()); $objMapper->addPlaceholder("username", $objUser->getStrUsername()); } $strErrors = ""; if (count($arrErrors) > 0) { $strErrTemplate = $this->objTemplate->readTemplate("/module_eventmanager/" . $this->arrElementData["char1"], "error_row"); foreach ($arrErrors as $strOneError) { $strErrors .= "" . $this->objTemplate->fillTemplate(array("error" => $strOneError), $strErrTemplate); } } $objMapper->addPlaceholder("formErrors", $strErrors); $strReturn .= $objMapper->writeToTemplate("/module_eventmanager/" . $this->arrElementData["char1"], "event_register" . ($bitIsLoggedin ? "_loggedin" : "")); class_module_pages_portal::registerAdditionalTitle($objEvent->getStrTitle()); return $strReturn; }