示例#1
0
 public function getClue()
 {
     if ($this->clueObj == UNPREPARED) {
         $this->clueObj = Clue::getClue($this->clue);
     }
     return $this->clueObj;
 }
示例#2
0
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;
}
示例#3
0
 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;
 }
示例#4
0
     $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']) {
示例#5
0
 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;
 }