/** * Redirect the user to the contest page and add the "new" argument to the URL * so they get a success message. * * @since 0.1 * * @param Contest $contest */ protected function onSuccess(Contest $contest) { $url = SpecialPage::getTitleFor('MyContests', $contest->getField('name'))->getLocalURL('new'); $this->getOutput()->redirect($url); }
/** * * * @since 0.1 * * @param Contest $contest */ protected function showMailFunctionality(Contest $contest) { $out = $this->getOutput(); $out->addHTML(Html::element('h3', array(), wfMsg('contest-contest-reminder-mail'))); $out->addWikiMsg('contest-contest-reminder-page', $contest->getField('reminder_email')); $out->addHTML(Html::element('button', array('id' => 'send-reminder', 'data-token' => $this->getUser()->editToken(), 'data-contest-id' => $contest->getId(), 'data-reminder-subject' => wfMsgExt('contest-email-reminder-title', 'parsemag', $contest->getDaysLeft())), wfMsg('contest-contest-send-reminder'))); $out->addHTML(Html::rawElement('div', array('id' => 'reminder-content', 'style' => 'display:none'), ContestUtils::getParsedArticleContent($contest->getField('reminder_email')))); }
/** * Handle page request when the contest is enabled. * * @since 0.1 * * @param Contest $contest */ protected function handleEnabledPage(Contest $contest) { // Check if the user is already a contestant in this contest. // If he is, redirect to submission page, else show signup form. $contestant = ContestContestant::s()->selectRow(null, array('contest_id' => $contest->getId(), 'user_id' => $this->getUser()->getId())); if ($contestant === false) { $this->getOutput()->redirect(SpecialPage::getTitleFor('ContestSignup', $contest->getField('name'))->getLocalURL()); } else { $contestant->setContest($contest); $this->showSubmissionPage($contestant); } }
/** * Show the rules for this contest. * * @since 0.1 * * @param Contest $contest */ protected function showRules(Contest $contest) { // TODO: we might want to have a pop-up with the content here, instead of a link to the page. $this->getOutput()->addWikiMsgArray('contest-welcome-rules', $contest->getField('rules_page')); }