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