public function getClue() { if ($this->clueObj == UNPREPARED) { $this->clueObj = Clue::getClue($this->clue); } return $this->clueObj; }
function displayClueEditForm(Clue $clue) { $dateSelect = ui_select('date', Date::getAllDates(), $clue->getFormDate()); $defaultStateSelect = ui_select('defaultState', State::getAllStates(), $clue->getDefaultState()); $startDateSelect = ui_select("startDate", Date::getAllDatesNullable(), $clue->getStartFormDate()); $hintDateSelect = ui_select("hintDate", Date::getAllDatesNullable(), $clue->getHintFormDate()); $answerDateSelect = ui_select("answerDate", Date::getAllDatesNullable(), $clue->getAnswerFormDate()); $startCitySelect = ui_select("startCity", City::getAllCityNames(), $clue->getStartCityID()); $hintCitySelect = ui_select("hintCity", City::getAllCityNames(), $clue->getHintCityID()); $answerCitySelect = ui_select("answerCity", City::getAllCityNames(), $clue->getAnswerCityID()); $startDirectionSelect = ui_select("startDirection", Direction::getAllDirections(), $clue->getStartDirection()); $hintDirectionSelect = ui_select("hintDirection", Direction::getAllDirections(), $clue->getHintDirection()); $answerDirectionSelect = ui_select("answerDirection", Direction::getAllDirections(), $clue->getAnswerDirection()); return <<<EOT <form method="POST" action="clues.php"> Name (admin use only): <input type="hidden" name="id" value="{$clue->getID()}" /> <input type="text" name="name" value="{$clue->getName()}" /> <br /> Date (for sorting): {$dateSelect} <input type="text" size="8" name="time" value="{$clue->getFormTime()}" /> <br /> Default state: {$defaultStateSelect} <br /> Question: <br /> <textarea name="question" cols="45" rows="8">{$clue->getQuestion()}</textarea><br /> Hint: <br /> <textarea name="hint" cols="45" rows="4">{$clue->getHint()}</textarea><br /> Answers (1 per line, * for wildcard): <br /> <textarea name="answer" cols="45" rows="4">{$clue->getAnswerText()}</textarea><br /> <br /><br /> Answering prerequisites:<br /> <input type="text" size="4" name="startDistance" value="{$clue->getStartDistance()}" /> miles {$startDirectionSelect} {$startCitySelect} or after time {$startDateSelect} <input type="text" size="8" name="startTime" value="{$clue->getStartFormTime()}" />.<br /><br /> Hint conditions:<br /> <input type="text" size="4" name="hintDistance" value="{$clue->getHintDistance()}" /> miles {$hintDirectionSelect} {$hintCitySelect} or after time {$hintDateSelect} <input type="text" size="8" name="hintTime" value="{$clue->getHintFormTime()}" />.<br /><br /> Auto-answering conditions:<br /> <input type="text" size="4" name="answerDistance" value="{$clue->getAnswerDistance()}" /> miles {$answerDirectionSelect} {$answerCitySelect} or after time {$answerDateSelect} <input type="text" size="8" name="answerTime" value="{$clue->getAnswerFormTime()}" />.<br /><br /> <input type="submit" name="edit" value="Edit Clue" /> <br /><br /> Delete clue: <input type="submit" name="delete" value="Delete Clue" /> </form> EOT; }
public static function getAllClues() { if (!self::$allFetched) { $items = query(__CLASS__)->where(array('year' => Year::current()))->sort('time')->selectMultiple(); self::$cache = array(); foreach ($items as $item) { self::$cache[$item->id] = $item; } self::$allFetched = true; } return self::$cache; }
$contenu .= '<div class="blocs_buttons">'; foreach ($listeCartesMotif as $carteMotif) { $contenu .= '<label class="blue class_sup_' . $carteMotif . '"><input type="radio" name="motif" value="' . $carteMotif . '"><span>' . $carteMotif . '</span></label>'; } $contenu .= '</div>'; $contenu .= '<div class="clear"></div>'; $contenu .= '<input type="submit" value="Valider" />'; $contenu .= '<a class="button" href="?action=game">Retour à l\'accueil</a>'; $contenu .= '<input type="hidden" name="action" value="clue_submit" />'; $contenu .= '</form>'; } else { if ($action == 'clue_submit') { $carteIndice = $_GET['indice']; $carteMotif = $_GET['motif']; if ($carteIndice && $carteMotif) { $contenu .= Clue::manageIndice($carteIndice, $carteMotif); $contenu .= '<a class="button" href="?action=clue">Demander un autre indice</a>'; $contenu .= '<a class="button" href="?action=game">Retour à l\'accueil</a>'; } else { $contenu .= '<p>Vous devez sélectionner un indice et un motif.</p>'; $contenu .= '<a class="button" href="?action=clue">Retour</a>'; } } else { if ($action == 'clue_comissaire1') { $contenu .= Display::clue_comissionnaire(1); } else { if ($action == 'clue_comissaire2') { $contenu .= Display::clue_comissionnaire(2); } else { if ($action == 'clue_comissaire_submit') { if ($_GET['clue_comissaire']) {
public function getCurrentClue() { Clue::getAllClues(); $clueStates = query('ClueState')->where(array('team' => $this->id))->selectMultiple(); if (!$clueStates) { return query('Clue')->where(array('year' => Year::current()))->sort('time')->limit(1)->selectSingle(); } $currentClue = head($clueStates)->getClue(); foreach ($clueStates as $clueState) { $clue = $clueState->getClue(); if ($clue && (!$currentClue || $clue->getRawTime() > $currentClue->getRawTime())) { $currentClue = $clue; } } return $currentClue; }