/** * @see Page::show() */ public function show() { if (!MODULE_CONTEST) { echo "Das Contest Modul ist komplett deaktiviert, " . "aktiviere es im Admin Control Panel unter System > Optionen > Module an/aus<br />"; } if (WCF::getUser()->getPermission('user.contest.canViewContest') == false) { echo "Deine Benutzergruppe darf keine Contests nutzen, überprüfe die Benutzerrechte unter " . "Benutzer > Benutzergruppen auflisten > bearbeiten > Allgemeine Rechte > Wettbewerb<br />"; } // get entry if (isset($_REQUEST['contestID'])) { $this->contestID = intval($_REQUEST['contestID']); } $this->entry = new ViewableContest($this->contestID); if (!$this->entry->contestID) { echo "Der angegebene Contest existiert nicht, überprüfe den aufgerufenen Link<br />"; } if ($this->entry->state != 'scheduled') { echo "Damit der Contest für andere Benutzer sichtbar ist, musst du den Status auf 'geplant' ändern.<br />"; } if ($this->entry->fromTime > TIME_NOW) { echo "Damit der Contest für andere Benutzer sichtbar ist, muss die Startzeit erreicht werden.<br />"; } if ($this->entry->isOwner()) { echo "Du bist selbst der Besitzer, daher kannst du nicht am Contest teilnehmen.<br />"; } if ($this->entry->state == 'closed' || !($this->entry->state == 'scheduled' && $this->entry->untilTime > TIME_NOW)) { echo "Der Contest ist beendet, daher kannst du nicht am Contest teilnehmen.<br />"; } if ($this->entry->state == 'closed' || !($this->entry->state == 'scheduled' && $this->entry->untilTime > TIME_NOW)) { echo "Der Contest ist beendet, daher kannst du nicht am Contest teilnehmen.<br />"; } foreach ($this->entry->getJurys() as $jury) { if ($jury->isOwner()) { echo "Du bist in der Jury und kannst deswegen nicht am Contest teilnehmen.<br />"; } } // alreay participant $isParticipant = false; foreach ($this->entry->getParticipants() as $participant) { if ($participant->isOwner()) { $isParticipant = true; echo "Du bist bereits Teilnehmer am am Contest.<br />"; } } if (!$isParticipant && !$this->entry->isParticipantable()) { echo "Du kannst nicht am Contest teilnehmen!<br />"; } if (!$this->entry->isViewable()) { echo "Du kannst den Contest nicht sehen!<br />"; } parent::show(); }
/** * @see Page::assignVariables() */ public function assignVariables() { parent::assignVariables(); // display branding require_once WCF_DIR . 'lib/util/ContestUtil.class.php'; ContestUtil::assignVariablesBranding(); // init form if ($this->action == 'edit') { require_once WCF_DIR . 'lib/form/ContestCommentEditForm.class.php'; new ContestCommentEditForm($this->entry); } else { if ($this->entry->isCommentable()) { require_once WCF_DIR . 'lib/form/ContestCommentAddForm.class.php'; new ContestCommentAddForm($this->entry); } } $this->sidebar->assignVariables(); WCF::getTPL()->assign(array('entry' => $this->entry, 'contestID' => $this->contestID, 'tags' => MODULE_TAGGING ? $this->entry->getTags(WCF::getSession()->getVisibleLanguageIDArray()) : array(), 'events' => $this->eventmixList->getObjects(), 'todos' => $this->todoList ? $this->todoList->getObjects() : array(), 'classes' => $this->entry->getClasses(), 'jurys' => $this->entry->getJurys(), 'participants' => $this->entry->getParticipants(), 'attachments' => $this->attachments, 'location' => $this->entry->location, 'action' => $this->action, 'commentID' => $this->commentID, 'previousEntry' => $this->previousEntry, 'nextEntry' => $this->nextEntry, 'templateName' => $this->templateName, 'allowSpidersToIndexThisPage' => true, 'contestmenu' => ContestMenu::getInstance())); }