/** * @see Action::execute() */ public function execute() { parent::execute(); // delete sponsortalk $this->sponsortalk->delete(); $this->executed(); // forward HeaderUtil::redirect('index.php?page=ContestSponsortalk&contestID=' . $this->sponsortalk->contestID . SID_ARG_2ND_NOT_ENCODED); exit; }
public function testContestPage() { $user = $this->user; $contest = $this->contest; // save two sponsortalk entries require_once WCF_DIR . 'lib/data/contest/sponsortalk/ContestSponsortalkEditor.class.php'; $this->deleteArray[] = $sponsortalk = ContestSponsortalkEditor::create($contestID = $contest->contestID, $sponsortalk = __METHOD__ . ' sponsortalk #1', $userID = $user->userID, $username = $user->username); $this->deleteArray[] = $sponsortalk = ContestSponsortalkEditor::create($contestID = $contest->contestID, $sponsortalk = __METHOD__ . ' sponsortalk #2', $userID = $user->userID, $username = $user->username); $raised = false; try { $this->runHTTP('page=ContestSponsortalk&contestID=' . $contest->contestID); } catch (Exception $e) { $raised = true; } $this->assertTrue($raised, "user should not be allowed to access a private contest"); // now try with owner $this->setCurrentUser($user); $this->runHTTP('page=ContestSponsortalk&contestID=' . $contest->contestID); $this->assertEquals(count(WCF::getTPL()->get('sponsortalks')), 2); // now try with sponsor member who was invited $this->deleteArray[] = $sponsoruser = $this->createUser(); require_once WCF_DIR . 'lib/data/contest/sponsor/ContestSponsorEditor.class.php'; $this->deleteArray[] = $sponsor = ContestSponsorEditor::create($contestID = $contest->contestID, $userID = $sponsoruser->userID, $groupID = 0, $state = 'invited'); $this->setCurrentUser($sponsoruser); $this->runHTTP('page=ContestSponsortalk&contestID=' . $contest->contestID); // invited members should only see first entry $this->assertEquals(count(WCF::getTPL()->get('sponsortalks')), 1); // accepted members should have 2 entries $sponsor->update($contestID, $userID, $groupID, 'accepted'); $this->runHTTP('page=ContestSponsortalk&contestID=' . $contest->contestID); $this->assertEquals(count(WCF::getTPL()->get('sponsortalks')), 2); }
/** * @see Form::save() */ public function save() { parent::save(); // save sponsortalk $sponsortalk = ContestSponsortalkEditor::create($this->contest->contestID, $this->message, WCF::getUser()->userID, WCF::getUser()->username); $this->saved(); // forward HeaderUtil::redirect('index.php?page=ContestSponsortalk&contestID=' . $this->contest->contestID . '&sponsortalkID=' . $sponsortalk->sponsortalkID . SID_ARG_2ND_NOT_ENCODED . '#sponsortalk' . $sponsortalk->sponsortalkID); exit; }
public function testReflectionAPI() { require_once WCF_DIR . 'lib/data/contest/sponsortalk/ContestSponsortalkEditor.class.php'; $this->deleteArray[] = $sponsortalk = ContestSponsortalkEditor::create($contestID = 0, $sponsortalk = __METHOD__ . ' sponsortalk', $userID = 0, $username = __METHOD__ . ' username'); $this->callAllMethodsWithoutRequiredParameters($sponsortalk); }
/** * @see Form::save() */ public function save() { parent::save(); $state = 'private'; // save entry $entry = ContestEditor::create($this->userID, $this->groupID, $this->subject, $this->text, $this->getOptions(), $state, $this->classIDArray, $this->participants, $this->jurys, $this->prices, $this->sponsors, $this->attachmentListEditor); $this->saved(); $contestID = $entry->contestID; if ($this->sponsortalk_trigger) { require_once WCF_DIR . 'lib/data/contest/sponsortalk/ContestSponsortalkEditor.class.php'; $sponsortalk = ContestSponsortalkEditor::create($contestID, $this->sponsortalk_message, WCF::getUser()->userID, WCF::getUser()->username); } if ($this->jurytalk_trigger) { require_once WCF_DIR . 'lib/data/contest/jurytalk/ContestJurytalkEditor.class.php'; $jurytalk = ContestJurytalkEditor::create($contestID, $this->jurytalk_message, WCF::getUser()->userID, WCF::getUser()->username); } if ($this->comment_trigger) { require_once WCF_DIR . 'lib/data/contest/comment/ContestCommentEditor.class.php'; $comment = ContestCommentEditor::create($contestID, $this->comment_message, WCF::getUser()->userID, WCF::getUser()->username); } // save tags if (MODULE_TAGGING) { $tagArray = TaggingUtil::splitString($this->tags); if (count($tagArray)) { $entry->updateTags($tagArray); } } // forward HeaderUtil::redirect('index.php?page=Contest&contestID=' . $entry->contestID . SID_ARG_2ND_NOT_ENCODED); exit; }