function roundCellName($roundId)
{
    $round = getRound($roundId);
    return $round['cellName'];
}
Example #2
0
function createResultTable($event)
{
    global $glb_connection, $glb_connection_server;
    global $glb_results_skip;
    try {
        $settings = getTechSettings($event);
        $round = getRound($event);
        $sql_drop = "DROP TABLE IF EXISTS tempresult";
        $query_drop = $glb_connection->prepare($sql_drop);
        $query_drop->execute();
        $sql_tmp = "CREATE TABLE tempresult (\r\n                    xSerienstart int(11)\r\n                    , xSerie int(11)\r\n                    , skip tinyint(2)";
        for ($i = 1; $i <= $settings['round_attempts']; $i++) {
            $sql_tmp = $sql_tmp . ", Res" . $i . " int(9) default '0'";
            $sql_tmp = $sql_tmp . ", Wind" . $i . " char(5) default '0'";
        }
        $sql_tmp = $sql_tmp . ")";
        $query_tmp = $glb_connection->prepare($sql_tmp);
        $query_tmp->execute();
        $sql_ath = "SELECT xSerienstart\r\n                        , xSerie\r\n                        , IF((SELECT COUNT(*) FROM resultat WHERE xSerienstart = serienstart.xSerienstart AND Leistung IN (" . implode(',', $glb_results_skip) . ")), 1, 0) AS skip\r\n                    FROM serienstart\r\n                        LEFT JOIN serie USING(xSerie)\r\n                    WHERE xRunde = :runde   ;";
        $query_ath = $glb_connection_server->prepare($sql_ath);
        $query_ath->bindValue(':runde', $round);
        $query_ath->execute();
        $athletes = $query_ath->fetchAll(PDO::FETCH_ASSOC);
        foreach ($athletes as $athlete) {
            $xSerienstart = $athlete['xSerienstart'];
            $xSerie = $athlete['xSerie'];
            $skip = $athlete['skip'];
            $sql_insert = "INSERT INTO tempresult (xSerienstart, xSerie, skip) VALUES({$xSerienstart},{$xSerie}, {$skip})";
            $query_insert = $glb_connection->prepare($sql_insert);
            $query_insert->execute();
            $sql_res = "SELECT Leistung AS ath_res\r\n                            , Info AS ath_wind\r\n                        FROM resultat\r\n                        WHERE xSerienstart = :serienstart\r\n                        ORDER BY xSerienstart\r\n                            , Leistung DESC;";
            $query_res = $glb_connection_server->prepare($sql_res);
            $query_res->bindValue(':serienstart', $athlete['xSerienstart']);
            $query_res->execute();
            $results = $query_res->fetchAll(PDO::FETCH_ASSOC);
            $n = 1;
            foreach ($results as $result) {
                $sql_update = "UPDATE tempresult \r\n                                SET Res" . $n . "=:result\r\n                                , Wind" . $n . "=:wind\r\n                                WHERE xSerienstart = :serienstart;";
                $query_update = $glb_connection->prepare($sql_update);
                $query_update->bindValue(':result', $result['ath_res']);
                $query_update->bindValue(':wind', $result['ath_wind']);
                $query_update->bindValue(':serienstart', $athlete['xSerienstart']);
                $query_update->execute();
                $n++;
            }
        }
    } catch (PDOException $e) {
        trigger_error($e->getMessage());
    }
}
Example #3
0
function createResultTable($event)
{
    global $glb_connection, $glb_connection_server;
    global $glb_results_skip;
    global $glb_high_attempt_passed, $glb_high_attempt_failed, $glb_high_attempt_waived;
    try {
        $settings = getHighSettings($event);
        $round = getRound($event);
        $sql_drop = "DROP TABLE IF EXISTS tempresult";
        $query_drop = $glb_connection->prepare($sql_drop);
        $query_drop->execute();
        $sql_tmp = "CREATE TABLE tempresult (\r\n                    xSerienstart int(11)\r\n                    , xSerie int(11)\r\n                    , position int(11)\r\n                    , skip tinyint(2)\r\n                    , result int(11)\r\n                    , result_attempts int(11)\r\n                    , miss int(11)\r\n                    , ath_out int(11)\r\n                    , curr_height int(11)\r\n                    , curr_miss int(11));";
        $query_tmp = $glb_connection->prepare($sql_tmp);
        $query_tmp->execute();
        $sql_ath = "SELECT xSerienstart AS ath_id\r\n                        , xSerie\r\n                        , IF((SELECT COUNT(*) FROM resultat WHERE xSerienstart = serienstart.xSerienstart AND Leistung IN (" . implode(',', $glb_results_skip) . ")), 1, 0) AS skip\r\n                        , Starthoehe AS ath_start\r\n                        , Position AS ath_pos\r\n                    FROM serienstart\r\n                        LEFT JOIN serie USING(xSerie)\r\n                    WHERE xRunde = :runde;";
        $query_ath = $glb_connection_server->prepare($sql_ath);
        $query_ath->bindValue(':runde', $round);
        $query_ath->execute();
        $athletes = $query_ath->fetchAll(PDO::FETCH_ASSOC);
        foreach ($athletes as $athlete) {
            $xSerienstart = $athlete['ath_id'];
            $position = $athlete['ath_pos'];
            $xSerie = $athlete['xSerie'];
            $skip = $athlete['skip'];
            $sql_res = "SELECT \r\n                            xSerienstart\r\n                            , Leistung AS result_max\r\n                            , Info AS result_info\r\n                        FROM\r\n                            resultat \r\n                            LEFT JOIN serienstart USING (xSerienstart) \r\n                        WHERE xSerienstart = :serienstart \r\n                            AND Info LIKE '%" . $glb_high_attempt_passed . "%'\r\n                        ORDER BY Leistung DESC\r\n                        LIMIT 1;";
            $query_res = $glb_connection_server->prepare($sql_res);
            $query_res->bindValue(':serienstart', $xSerienstart);
            $query_res->execute();
            $result = $query_res->fetch(PDO::FETCH_ASSOC);
            $result_res = $result['result_max'] ? $result['result_max'] : 0;
            $res_attempts = substr_count($result['result_info'], $glb_high_attempt_failed) + 1;
            $sql_miss = "SELECT \r\n                            xSerienstart\r\n                            , Leistung AS result\r\n                            , Info AS result_info\r\n                        FROM\r\n                            resultat \r\n                            LEFT JOIN serienstart USING (xSerienstart) \r\n                        WHERE xSerienstart = :serienstart \r\n                            AND Info LIKE '%" . $glb_high_attempt_failed . "%';";
            $query_miss = $glb_connection_server->prepare($sql_miss);
            $query_miss->bindValue(':serienstart', $xSerienstart);
            $query_miss->execute();
            $results_miss = $query_miss->fetchAll(PDO::FETCH_ASSOC);
            $miss = 0;
            foreach ($results_miss as $result_miss) {
                $miss = $miss + substr_count($result_miss['result_info'], $glb_high_attempt_failed);
            }
            $sql_heights = "SELECT serie\r\n                                , height\r\n                                FROM t_heights\r\n                                WHERE serie = :serie\r\n                                ORDER BY height ASC;";
            $query_heights = $glb_connection->prepare($sql_heights);
            $query_heights->bindValue(':serie', $xSerie);
            $query_heights->execute();
            $heights = $query_heights->fetchAll(PDO::FETCH_ASSOC);
            $sql_maxHeight = "SELECT MAX(height) as max_height\r\n                                FROM t_heights\r\n                                WHERE serie = :serie\r\n                                ORDER BY height ASC;";
            $query_maxHeight = $glb_connection->prepare($sql_maxHeight);
            $query_maxHeight->bindValue(':serie', $xSerie);
            $query_maxHeight->execute();
            $maxHeight = $query_maxHeight->fetch(PDO::FETCH_ASSOC);
            $maxHeight = $maxHeight['max_height'];
            $diff = $maxHeight < $settings['diff_1_until'] ? $settings['diff_1_value'] : $settings['diff_2_value'];
            $curr_height = $maxHeight + $diff;
            $curr_miss = 0;
            $out = checkOut($athlete['ath_id']);
            if ($out) {
                $curr_height = 0;
                $curr_miss = 0;
            } else {
                foreach ($heights as $height) {
                    if ($height['height'] >= $athlete['ath_start']) {
                        $sql_check = "SELECT Info\r\n                                        FROM resultat\r\n                                        WHERE Leistung = :height\r\n                                            AND xSerienstart = :serienstart;";
                        $query_check = $glb_connection_server->prepare($sql_check);
                        $query_check->bindValue(':height', $height['height']);
                        $query_check->bindValue(':serienstart', $athlete['ath_id']);
                        $query_check->execute();
                        if ($query_check->rowCount() == 0) {
                            $curr_height = $height['height'];
                            $curr_miss = 0;
                            break;
                        } else {
                            $check = $query_check->fetch(PDO::FETCH_ASSOC);
                            $check_miss = substr_count($check['Info'], $glb_high_attempt_failed);
                            $check_skip = substr_count($check['Info'], $glb_high_attempt_passed) + substr_count($check['Info'], $glb_high_attempt_waived);
                            if ($check_miss > 0 && $check_skip == 0) {
                                $curr_height = $height['height'];
                                $curr_miss = $check_miss;
                                break;
                            }
                        }
                    }
                }
            }
            $sql_insert = "INSERT INTO tempresult (xSerienstart, xSerie, position, skip, result, result_attempts, miss, ath_out, curr_height, curr_miss) VALUES(:serienstart, :serie, :position, :skip, :result, :res_attempts, :miss, :out, :curr_height, :curr_miss)";
            $query_insert = $glb_connection->prepare($sql_insert);
            $query_insert->bindValue(':serienstart', $xSerienstart);
            $query_insert->bindValue(':serie', $xSerie);
            $query_insert->bindValue(':position', $position);
            $query_insert->bindValue(':skip', $skip);
            $query_insert->bindValue(':result', $result_res);
            $query_insert->bindValue(':res_attempts', $res_attempts);
            $query_insert->bindValue(':miss', $miss);
            $query_insert->bindValue(':out', $out);
            $query_insert->bindValue(':curr_height', $curr_height);
            $query_insert->bindValue(':curr_miss', $curr_miss);
            $query_insert->execute();
        }
    } catch (PDOException $e) {
        trigger_error($e->getMessage());
    }
}
Example #4
0
/**
 * @package:SMS
 * @helper::getGpa().
 * @Author:Techno Services
 */
function getGpa($total_marks = array(), $total_credit = array())
{
    $gpa = '';
    if (isArray($total_credit) && (isset($total_credit[0]) && $total_credit[0] > 0)) {
        $gpa = getRound(getArraySum($total_marks) / getArraySum($total_credit), 2);
    }
    return $gpa;
}