Exemple #1
0
function show_page($err)
{
    lmt_page_header('Refrigerator');
    if (scoring_is_enabled()) {
        $scoring_status = 'Enabled';
        $scoring_action = 'lmt_freeze_scoring';
        $scoring_action_name = 'Freeze';
    } else {
        $scoring_status = 'Frozen';
        $scoring_action = 'lmt_enable_scoring';
        $scoring_action_name = 'Enable';
    }
    echo <<<HEREDOC
      <h1><span class="dontMess">*</span>Refrigerator</h1>
      
      <div class="text-centered">
        <span class="b red">WARNING: The only person who should use this page is the Scoring Czar!</span>
        <div class="halfbreak"></div>
        Before printing results, disable score entry using this feature.
        <div class="halfbreak"></div>
        If you need to re-enable scoring, first destroy all printed copies of the results list,<br />
        and make sure to re-freeze scoring and refresh your browser before viewing it again!
        <br /><br />
        <form method="post" action="{$_SERVER['REQUEST_URI']}"><div>
          <input type="hidden" name="xsrf_token" value="{$_SESSION['xsrf_token']}" />
          <input type="submit" name="{$scoring_action}" value="{$scoring_action_name}" />
        </div></form>
      </div>
HEREDOC;
    die;
}
function show_frozen_page()
{
    if (scoring_is_enabled()) {
        trigger_error('Error: Scoring is enabled!', E_USER_ERROR);
    }
    lmt_page_header('Scoring Frozen');
    echo <<<HEREDOC
      <h1>Scoring Frozen</h1>
      
      <div class="text-centered b">Scoring has been frozen so that results
      may be tabulated. If some results have not yet been entered or are incorrect,
      please see the Head Grader immediately!</div>
HEREDOC;
    die;
}
Exemple #3
0
function show_page()
{
    if (scoring_is_enabled()) {
        $message = '<div class="error">Score entry is still enabled! Disable it <a href="../Scoring/Refrigerator">here</a>.</div><br />';
    }
    lmt_page_header('Top Scorers');
    echo <<<HEREDOC
      <h1>Top Scorers</h1>
      {$message}
      <div class="text-centered b">
        <span class="noPrint">
          <a href="Full">Full Results</a>&nbsp;&nbsp;
          <a href="Print">Scores for Coaches</a>
          <br /><br />
        </span>
        <span class="red">Reminder: Do not copy data locally!</span><br />
        Ties are listed in random order.
        <br /><br />
      </div>
      
      <h2>Top 5 Individuals by Individual Round</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Name</th>
          <th>School</th>
          <th>Individual Round</th>
        </tr>
HEREDOC;
    score_guts();
    // INDIVIDUAL ROUND
    $query = 'SELECT id, individuals.name AS name, (SELECT name FROM schools WHERE school_id=teams.school) AS school_name, ' . 'RAND() AS rand, score_individual FROM individuals LEFT JOIN teams ON team=teams.team_id WHERE individuals.deleted="0" AND attendance="1" ORDER BY score_individual DESC, rand';
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['score_individual'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['score_individual'];
        if ($place > 5) {
            break;
        }
        $id = htmlentities($row['id']);
        $name = htmlentities($row['name']);
        $school = htmlentities($row['school_name']);
        if ($school == '') {
            $school = '<span class="i">None</span>';
        }
        $score_individual = htmlentities($row['score_individual']);
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Individual?ID={$id}">{$name}</a></td>
          <td>{$school}</td>
          <td class="b">{$score_individual}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    // Theme ROUND
    echo <<<HEREDOC
      <h2>Top 5 Individuals by Theme Round</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Name</th>
          <th>School</th>
          <th>Theme Round</th>
        </tr>
HEREDOC;
    $query = 'SELECT id, individuals.name AS name, (SELECT name FROM schools WHERE school_id=teams.school) AS school_name, ' . 'RAND() AS rand, score_theme FROM individuals LEFT JOIN teams ON team=teams.team_id WHERE individuals.deleted="0" AND attendance="1" ORDER BY score_theme DESC, rand';
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['score_theme'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['score_theme'];
        if ($place > 5) {
            break;
        }
        $id = htmlentities($row['id']);
        $name = htmlentities($row['name']);
        $school = htmlentities($row['school_name']);
        if ($school == '') {
            $school = '<span class="i">None</span>';
        }
        $score_theme = htmlentities($row['score_theme']);
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Individual?ID={$id}">{$name}</a></td>
          <td>{$school}</td>
          <td class="b">{$score_theme}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    // INDIVIDUAL COMPOSITE
    echo <<<HEREDOC
      <h2>Top 10 Individuals by Composite</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Name</th>
          <th>School</th>
          <th>Composite</th>
        </tr>
HEREDOC;
    $query = individual_composite('id, individuals.name AS name, (SELECT name FROM schools WHERE school_id=teams.school) AS school_name, ' . 'RAND() AS rand,', 'LEFT JOIN teams ON team=teams.team_id WHERE individuals.deleted="0" AND attendance="1" ORDER BY score_composite DESC, rand');
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['score_composite'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['score_composite'];
        if ($place > 10) {
            break;
        }
        $id = htmlentities($row['id']);
        $name = htmlentities($row['name']);
        $school = htmlentities($row['school_name']);
        if ($school == '') {
            $school = '<span class="i">None</span>';
        }
        $score_composite = htmlentities($row['score_composite']);
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Individual?ID={$id}">{$name}</a></td>
          <td>{$school}</td>
          <td class="b">{$score_composite}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    // TEAM ROUND
    echo <<<HEREDOC
      <h2>Top 5 Teams by Team Round</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Team Name</th>
          <th>Team Round</th>
        </tr>
HEREDOC;
    $query = 'SELECT team_id, name, IFNULL(score_team_short, 0) + IFNULL(score_team_long, 0) AS score_team, RAND() AS rand FROM teams WHERE deleted="0" ORDER BY score_team DESC, rand';
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['score_team'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['score_team'];
        if ($place > 5) {
            break;
        }
        $id = htmlentities($row['team_id']);
        $name = htmlentities($row['name']);
        $score_team = htmlentities($row['score_team']);
        if (is_null($row['score_team'])) {
            $score_team = '<span class="i">None</span>';
        }
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Team?ID={$id}">{$name}</a></td>
          <td class="b">{$score_team}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    // GUTS ROUND
    echo <<<HEREDOC
      <h2>Top 5 Teams by Guts Round</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Team Name</th>
          <th>Guts Round</th>
        </tr>
HEREDOC;
    $query = 'SELECT team_id, name, score_guts, RAND() AS rand FROM teams WHERE deleted="0" ORDER BY score_guts DESC, rand';
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['score_guts'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['score_guts'];
        if ($place > 5) {
            break;
        }
        $id = htmlentities($row['team_id']);
        $name = htmlentities($row['name']);
        $score_guts = htmlentities($row['score_guts']);
        if (is_null($row['score_guts'])) {
            $score_guts = '<span class="i">None</span>';
        }
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Team?ID={$id}">{$name}</a></td>
          <td class="b">{$score_guts}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    // TEAM COMPOSITE
    echo <<<HEREDOC
      <h2>Top 5 Teams by Composite</h2>
      <table class="contrasting">
        <tr>
          <th>Place</th>
          <th>Team Name</th>
          <th>Team Round</th>
          <th>Guts Round</th>
          <th>Composite</th>
        </tr>
HEREDOC;
    $query = team_composite('team_id, name, IFNULL(score_team_short, 0) + IFNULL(score_team_long, 0) AS score_team, score_guts, RAND() AS rand,', 'WHERE deleted="0" ORDER BY team_composite DESC, rand');
    $result = DB::queryRaw($query);
    $row = mysqli_fetch_assoc($result);
    $place = 0;
    $num = 0;
    $last_score = null;
    while ($row) {
        $num++;
        if ($row['team_composite'] != $last_score) {
            $place = $num;
        }
        $last_score = $row['team_composite'];
        if ($place > 5) {
            break;
        }
        $id = htmlentities($row['team_id']);
        $name = htmlentities($row['name']);
        $score_team = htmlentities($row['score_team']);
        $score_guts = htmlentities($row['score_guts']);
        $score_composite = htmlentities($row['team_composite']);
        if (is_null($row['score_team'])) {
            $score_team = '<span class="i">None</span>';
        }
        if (is_null($row['score_guts'])) {
            $score_guts = '<span class="i">None</span>';
        }
        echo <<<HEREDOC
        <tr>
          <td>{$place}</td>
          <td><a href="../Data/Team?ID={$id}">{$name}</a></td>
          <td>{$score_team}</td>
          <td>{$score_guts}</td>
          <td class="b">{$score_composite}</td>
        </tr>
HEREDOC;
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </table>\n";
    die;
}
Exemple #4
0
function show_page()
{
    global $header_noprint;
    $header_noprint = true;
    lmt_page_header('Score Sheets');
    if (scoring_is_enabled()) {
        $message = '<div class="error noPrint">Score entry is still enabled! Disable it <a href="../Scoring/Refrigerator">here</a>.</div><br />';
    }
    echo <<<HEREDOC
      <h1 class="noPrint">Score Sheets</h1>
      {$message}
      
      <div class="text-centered b noPrint">
        <span class="b">
          <a href="Full">Full Results</a>&nbsp;&nbsp;
          <a href="Top">Top Scorers</a>
        </span>
        <br /><br />
        To generate results sheets for the coaches, please print<br />
        this page single-sided in portrait mode at normal size.
      </div>
      
      <div class="printOnly">

HEREDOC;
    $result = DB::queryRaw('SELECT team_id, IFNULL(score_team_short, 0) + IFNULL(score_team_long, 0) AS score_team, score_guts, teams.name AS team_name, teams.school AS school_id,' . ' schools.name AS school_name FROM teams LEFT JOIN schools' . ' ON teams.school=schools.school_id WHERE teams.deleted="0" ORDER BY school_name, team_name');
    $row = mysqli_fetch_assoc($result);
    while ($row) {
        $team_id = htmlentities($row['team_id']);
        $team_name = htmlentities($row['team_name']);
        $school = htmlentities($row['school_name']);
        $score_team = htmlentities($row['score_team']);
        $score_guts = htmlentities($row['score_guts']);
        if (is_null($row['score_team'])) {
            $score_team = '<span class="i">None</span>';
        }
        if (is_null($row['score_guts'])) {
            $score_guts = '<span class="i">None</span>';
        }
        echo <<<HEREDOC
        <h1 style="text-align: left; margin: 0;">{$team_name}</h1>
        <h3 class="i noMargin">{$school}</h3>
        <br />
        <span class="b">Team Round Score:</span> {$score_team}<br />
        <span class="b">Guts Round Score:</span> {$score_guts}
        <br /><br /><br />
HEREDOC;
        $result2 = DB::queryRaw('SELECT name, score_individual, score_theme FROM individuals WHERE team="' . mysqli_real_escape_string(DB::get(), $team_id) . '" AND deleted="0" ORDER BY name');
        $row2 = mysqli_fetch_assoc($result2);
        if (!$row2) {
            echo "\n" . '        <h3 class="text-centered">No Members</span>' . "\n\n";
        } else {
            echo <<<HEREDOC

        <table class="spaciousBig">
          <tr>
            <th>Name</th>
            <th>Individual Round</th>
            <th>Theme Round</th>
          </tr>
HEREDOC;
        }
        while ($row2) {
            $name = htmlentities($row2['name']);
            $score_individual = htmlentities($row2['score_individual']);
            $score_theme = htmlentities($row2['score_theme']);
            if (is_null($row2['score_individual'])) {
                $score_individual = '<span class="i">None</span>';
            }
            if (is_null($row2['score_theme'])) {
                $score_theme = '<span class="i">None</span>';
            }
            echo "\n" . '          <tr><td>' . $name . '</td><td>' . $score_individual . '</td><td>' . $score_theme . '</td></tr>';
            $row2 = mysqli_fetch_assoc($result2);
        }
        echo "\n" . '        </table><div class="pageBreak"></div>' . "\n\n";
        $row = mysqli_fetch_assoc($result);
    }
    echo "      </div>";
}
Exemple #5
0
function do_change_theme_round()
{
    if ($_POST['xsrf_token'] != $_SESSION['xsrf_token']) {
        trigger_error('XSRF code incorrect', E_USER_ERROR);
    }
    if (!scoring_is_enabled()) {
        header('Location: ../Scoring_Frozen');
        die;
    }
    $score = intval($_POST['score']);
    if ($_POST['hasValue'] == 'Yes') {
        $score = $_POST['score'];
        $score_msg = validate_theme_score($score);
        if ($score_msg !== true) {
            display_individual($score_msg, 'document.forms[\'lmtDataThemeRoundScore\'].score.focus();');
        }
        DB::queryRaw('UPDATE individuals SET score_theme="' . mysqli_real_escape_string(DB::get(), $score) . '" WHERE id="' . mysqli_real_escape_string(DB::get(), $_GET['ID']) . '" AND (score_theme <> "' . mysqli_real_escape_string(DB::get(), $score) . '" OR score_theme IS NULL) LIMIT 1');
    } else {
        DB::queryRaw('UPDATE individuals SET score_theme=NULL WHERE id="' . mysqli_real_escape_string(DB::get(), $_GET['ID']) . '" AND score_theme IS NOT NULL LIMIT 1');
    }
    global $LMT_DB;
    if (mysqli_affected_rows($LMT_DB) == 1) {
        add_alert('lmt_data_individual_update_theme_score', 'Theme round score was changed');
    }
    header('Location: Individual?ID=' . $_GET['ID']);
}
Exemple #6
0
function show_page()
{
    global $header_noprint;
    $header_noprint = true;
    lmt_page_header('Score Sheets');
    $message = '';
    $lmt_year = intval(map_value('year'));
    $lmt_nextyear = $lmt_year + 1;
    $lmt_archive_url = URL::lmt() . "/{$lmt_year}_Archive";
    if (scoring_is_enabled()) {
        $message = '<div class="error noPrint">Score entry is still enabled! Disable it <a href="../Scoring/Refrigerator">here</a>.</div><br />';
    }
    echo <<<HEREDOC
      <h1 class="noPrint">Score Emails</h1>
      {$message}
\t  
\t  <style>textarea{width: 100%;height: 400px;}</style>
\t  
\t\t<form method="post" action="{$_SERVER['REQUEST_URI']}">
\t\t\t<input type="hidden" name="xsrf_token" value="{$_SESSION['xsrf_token']}"/>
\t\t\t<input type="submit" name="Send" value="Send All Emails"/>
\t\t</form>
      
      <div>

HEREDOC;
    $individuals = DB::query('SELECT individuals.name as ind_name, individuals.grade as grade, ' . 'IFNULL(score_team_short, 0) + IFNULL(score_team_long, 0) AS score_team, ' . 'score_guts, teams.name AS team_name, score_individual as score_ind, score_theme, email ' . 'FROM individuals LEFT JOIN teams ON team=team_id ' . 'WHERE email != "" AND individuals.deleted = 0 ORDER BY ind_name');
    foreach ($individuals as $ind) {
        $if_not_eighth = "";
        if ($ind['grade'] != 8) {
            ", and we hope to see you at LMT {$lmt_nextyear}";
        }
        $body = <<<HEREDOC
Hello,

Thanks for coming to LMT {$lmt_year}; here are your individual results!
[b]Name:[/b] {$ind['ind_name']}
[b]Individual Score:[/b] {$ind['score_ind']}
[b]Theme Score:[/b] {$ind['score_theme']}

As an unaffiliated individual, you were also placed onto a team. Here's how you did:
[b]Team Name:[/b] {$ind['team_name']}
[b]Team Round Score:[/b] {$ind['score_team']}
[b]Guts Round Score:[/b] {$ind['score_guts']}

You can also find useful things such as overall results, photos, and problems and solutions at [url]{$lmt_archive_url}[/url].

Finally, we'd love to hear from you! Any feedback at all about how we did this year and how we might improve for next year is greatly appreciated.

Thanks for coming{$if_not_eighth}!
LHS Math Team Captains
HEREDOC;
        if (array_key_exists('Send', $_POST) && $_POST['xsrf_token'] == $_SESSION['xsrf_token']) {
            echo $ind['email'];
            $err = lmt_send_email($ind['email'], "Scores!", $body);
            if ($err !== true) {
                alert($err, -1);
                return;
            } else {
                alert("Sent to {$ind['email']}", 1);
            }
        }
        echo "<h2>{$ind['email']}</h2><div style='border:solid 1px #000'>" . BBCode($body) . "</div>";
    }
    $teams = DB::query('SELECT team_id, IFNULL(score_team_short, 0) + IFNULL(score_team_long, 0) AS score_team, ' . ' score_guts, teams.name AS team_name, teams.school AS school_id,' . ' schools.name AS school_name, coach_email ' . ' FROM teams RIGHT JOIN schools ON teams.school=schools.school_id ' . ' WHERE teams.deleted=0 ORDER BY school_name, team_name');
    for ($i = -1; $i + 1 < count($teams);) {
        $body = '';
        do {
            $i++;
            $team = $teams[$i];
            $school = htmlentities($team['school_name']);
            $coach_email = htmlentities($team['coach_email']);
            $team_id = htmlentities($team['team_id']);
            $team_name = htmlentities($team['team_name']);
            $score_team = htmlentities($team['score_team']);
            $score_guts = htmlentities($team['score_guts']);
            if ($body == '') {
                $body = <<<HEREDOC
Hello,

Thanks for coming to LMT {$lmt_year}; here are the results for your team(s)!

[b]School Name:[/b] {$school}

HEREDOC;
            }
            if (is_null($team['score_team'])) {
                $score_team = 'NONE';
            }
            if (is_null($team['score_guts'])) {
                $score_guts = 'NONE';
            }
            $body .= <<<HEREDOC

[b]Team Name:[/b] {$team_name}
[b]Team Round Score:[/b] {$score_team}
[b]Guts Round Score:[/b] {$score_guts}
HEREDOC;
            $members = DB::query('SELECT name, score_individual, score_theme, email FROM individuals WHERE team=%i AND deleted="0" ORDER BY name', $team_id);
            if (count($members) == 0) {
                $body .= "\n\nNo Team Members\n";
            } else {
                $body .= "\n\n[b]Individual Scores: Individual Round, Theme Round[/b]\n";
            }
            foreach ($members as $member) {
                $name = htmlentities($member['name']);
                $score_individual = htmlentities($member['score_individual']);
                $score_theme = htmlentities($member['score_theme']);
                if (is_null($member['score_individual'])) {
                    $score_individual = 'NONE';
                }
                if (is_null($member['score_theme'])) {
                    $score_theme = 'NONE';
                }
                $indiv_msg = '';
                if ($member['email'] != '') {
                    $indiv_msg = ' (Unaffiliated Individual)';
                }
                $body .= "{$name}{$indiv_msg}: {$score_individual}, {$score_theme}\n";
            }
            $body .= "\n";
        } while ($i + 1 < count($teams) && $teams[$i]['coach_email'] == $teams[$i + 1]['coach_email']);
        $body .= <<<HEREDOC

You can also find useful things such as overall results, photos, and problems and solutions at [url]{$lmt_archive_url}[/url].

Finally, we'd love to hear from you! Any feedback at all about how we did this year and how we might improve for next year is greatly appreciated.

Thanks for coming, and we hope to see you at LMT {$lmt_nextyear}!
LHS Math Team Captains
HEREDOC;
        if (array_key_exists('Send', $_POST) && $_POST['xsrf_token'] == $_SESSION['xsrf_token']) {
            echo $coach_email;
            $err = lmt_send_email($coach_email, "Scores!", $body);
            if ($err !== true) {
                alert($err, -1);
                return;
            } else {
                alert("Sent to {$coach_email}", 1);
            }
        }
        echo "<h2>{$coach_email}</h2><div style='border:solid 1px #000'>" . BBCode($body) . "</div>";
    }
    echo "      </div>";
}
Exemple #7
0
function show_page()
{
    global $javascript;
    $javascript = <<<HEREDOC
      function processKey(e, id) {
        if (null == e)
          e = window.event;
        if (e.keyCode == 13)  {
          document.getElementById(id).click();
          return false;
        }
      }
HEREDOC;
    lmt_page_header('Status');
    if (registration_is_open()) {
        $reg_status = 'Open';
        $reg_action = 'lmt_close_reg';
        $reg_action_name = 'Close';
    } else {
        $reg_status = 'Closed';
        $reg_action = 'lmt_open_reg';
        $reg_action_name = 'Open';
    }
    if (backstage_is_open()) {
        $backstage_status = 'Open';
        $backstage_action = 'lmt_close_backstage';
        $backstage_action_name = 'Close';
    } else {
        $backstage_status = 'Closed';
        $backstage_action = 'lmt_open_backstage';
        $backstage_action_name = 'Open';
    }
    if (scoring_is_enabled()) {
        $scoring_status = 'Enabled';
        $scoring_action = 'lmt_freeze_scoring';
        $scoring_action_name = 'Freeze';
    } else {
        $scoring_status = 'Frozen';
        $scoring_action = 'lmt_enable_scoring';
        $scoring_action_name = 'Enable';
    }
    $lmt_year = htmlentities(map_value('year'));
    $lmt_date = htmlentities(map_value('date'));
    $individual_cost = htmlentities(map_value('indiv_cost'));
    $team_cost = htmlentities(map_value('team_cost'));
    $backstage_message = htmlentities(map_value('backstage_message'));
    $reg_close = htmlentities(map_value('reg_close'));
    $num_coaches = DB::queryFirstField('SELECT COUNT(*) AS c FROM schools WHERE deleted="0"');
    $num_teams = DB::queryFirstField('SELECT COUNT(*) AS c FROM teams WHERE deleted="0"');
    $num_individuals = DB::queryFirstField('SELECT COUNT(*) AS c FROM individuals WHERE email <> "" AND deleted="0"');
    echo <<<HEREDOC
      <h1>Status</h1>
      
      <h2>Settings</h2>
      <div class="indented">
        <form method="post" action="{$_SERVER['REQUEST_URI']}">
        <div><input type="hidden" name="xsrf_token" value="{$_SESSION['xsrf_token']}" /></div>
          <table style='vertical-align:middle;'>
            <tr>
              <td>Registration:</td>
              <td><span class="b">{$reg_status}</span></td>
              <td><input type="submit" name="{$reg_action}" value="{$reg_action_name}" /></td>
            </tr><tr>
              <td>Backstage:</td>
              <td><span class="b">{$backstage_status}</span> <span class="small">to regular members</span></td>
              <td><input type="submit" name="{$backstage_action}" value="{$backstage_action_name}" /></td>
            </tr><tr>
              <td>Score Entry:</td>
              <td><span class="b">{$scoring_status}</span></td>
              <td><input type="submit" name="{$scoring_action}" value="{$scoring_action_name}" /></td>
            </tr><tr>
              <td>Date:</td>
              <td><input type="text" name="date" value="{$lmt_date}" size="25" onkeydown="return processKey(event, 'lmtChangeDate');" />&nbsp;</td>
              <td><input id="lmtChangeDate" type="submit" name="lmt_update_date" value="Update" /></td>
            </tr><tr>
              <td>Year:</td>
\t\t\t  <td><input type="text" name="year" value="{$lmt_year}" size="4" maxlength="4" onkeydown="return processKey(event, 'lmtChangeYear');" /></td>
              <td><input id="lmtChangeYear" type="submit" name="lmt_update_year" value="Update" /><div style='color:red;font-size:0.6em;'>Use <a href='Post_LMT'>Post_LMT</a> directly after the LMT event ends.</div></td>
            </tr><tr>
              <td>Individual Cost:</td>
              <td><input type="text" name="indiv_cost" value="{$individual_cost}" size="25" onkeydown="return processKey(event, 'lmtChangeIndiv');" /></td>
              <td><input id="lmtChangeIndiv" type="submit" name="lmt_update_indiv_cost" value="Update" /></td>
            </tr><tr>
              <td>Team Cost:</td>
              <td><input type="text" name="team_cost" value="{$team_cost}" size="25" onkeydown="return processKey(event, 'lmtChangeTeam');" /></td>
              <td><input id="lmtChangeTeam" type="submit" name="lmt_update_team_cost" value="Update" /></td>
            </tr><tr>
              <td>Backstage Message:&nbsp;</td>
              <td><textarea name="backstage_message" rows="5" cols="20">{$backstage_message}</textarea></td>
              <td><input id="lmtBackstageMessage" type="submit" name="lmt_update_backstage_message" value="Update" /></td>
            </tr><tr>
              <td>Registration Closing Date:</td>
              <td><input type="text" name="reg_close" value="{$reg_close}" size="25" onkeydown="return processKey(event, 'lmtRegClose');" /></td>
              <td><input id="lmtRegClose" type="submit" name="lmt_update_reg_close" value="Update" /></td>
            </tr>
          </table>
        </form>
      </div>
      
      <br />
      <h2>Statistics</h2>
      <div class="indented">
        <span class="b">{$num_coaches}</span> coaches have registered a total of <span class="b">{$num_teams}</span> teams.<br />
        <span class="b">{$num_individuals}</span> unaffiliated individuals have signed up.
      </div>
HEREDOC;
    die;
}
function scoring_access()
{
    if (!scoring_is_enabled()) {
        require_once PATH::lmt() . '/Backstage/Scoring_Frozen.php';
    }
}
Exemple #9
0
function do_set_team_round_long()
{
    if ($_POST['xsrf_token'] != $_SESSION['xsrf_token']) {
        trigger_error('XSRF code incorrect', E_USER_ERROR);
    }
    if (!scoring_is_enabled()) {
        header('Location: ../Scoring_Frozen');
        die;
    }
    if ($_POST['teamRoundLongHasValue'] == 'Yes') {
        $score = $_POST['teamRoundLongScore'];
        $score_msg = validate_team_long_score($score);
        if ($score_msg !== true) {
            display_team($score_msg, 'document.forms[\'lmtDataTeamRoundLongScore\'].teamRoundLongScore.focus();');
        }
        DB::queryRaw('UPDATE teams SET score_team_long="' . mysqli_real_escape_string(DB::get(), $score) . '" WHERE team_id="' . mysqli_real_escape_string(DB::get(), $_GET['ID']) . '" AND (score_team_long <> "' . mysqli_real_escape_string(DB::get(), $score) . '" OR score_team_long IS NULL) LIMIT 1');
    } else {
        DB::queryRaw('UPDATE teams SET score_team_long=NULL WHERE team_id="' . mysqli_real_escape_string(DB::get(), $_GET['ID']) . '" AND score_team_long IS NOT NULL LIMIT 1');
    }
    global $LMT_DB;
    if (mysqli_affected_rows($LMT_DB) == 1) {
        add_alert('lmt_data_team_update_team_score_long', 'Team round long answer score was changed');
    }
    header('Location: Team?ID=' . $_GET['ID']);
}