function AA_results_High($round, $layout, $singleRound, $content_navi, $cat, $disc, $rtyp) { require './config.inc.php'; require './config.inc.end.php'; require './lib/common.lib.php'; require './lib/heats.lib.php'; require './lib/utils.lib.php'; $p = "./tmp"; $fp = @fopen($p . "/live" . $round . ".html", 'w'); if (!$fp) { AA_printErrorMsg($GLOBALS['strErrFileOpenFailed']); return; } $svm = AA_checkSVM(0, $round); // decide whether to show club or team name if ($singleRound > 0) { $single_svm = AA_checkSVM(0, $singleRound); // decide whether to show club or team name } $mergedMain = AA_checkMainRound($round); if ($mergedMain == 1) { $round = AA_getMainRound($round); } // get url $url = ''; $result = mysql_query("\r\n SELECT\r\n url\r\n FROM\r\n athletica_liveResultate.config"); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $row = mysql_fetch_row($result); $url = $row[0]; } // read round data if ($round > 0) { $status = AA_getRoundStatus($round); $content = $cfgHtmlStart1; if (empty($GLOBALS['cfgDir'])) { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/live" . $round . ".html'>"; } else { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/" . $GLOBALS['cfgDir'] . "/live" . $round . ".html'>"; } $content .= $cfgHtmlStart2; $content .= $content_navi; $content .= "</div ><div id='content_pc'><div id='content_pda'>"; $content .= "<h1>{$strStartlist} " . $_COOKIE['meeting'] . "</h1>"; // title if (!empty($rtyp)) { $content .= "<h2>{$cat} {$disc}, {$rtyp}</h2>"; } else { $content .= "<h2>{$cat} {$disc}</h2>"; } $content .= "<table class='dialog'>"; // display all athletes $result = mysql_query("\r\n\t\t\tSELECT rt.Name\r\n\t\t\t\t, rt.Typ\r\n\t\t\t\t, s.xSerie\r\n\t\t\t\t, s.Bezeichnung\r\n\t\t\t\t, ss.xSerienstart\r\n\t\t\t\t, ss.Position\r\n\t\t\t\t, ss.Rang\r\n\t\t\t\t, a.Startnummer\r\n\t\t\t\t, at.Name\r\n\t\t\t\t, at.Vorname\r\n\t\t\t\t, at.Jahrgang\r\n\t\t\t\t, if('" . $svm . "', t.Name, IF(a.Vereinsinfo = '', v.Name, a.Vereinsinfo)) \r\n\t\t\t\t, LPAD(s.Bezeichnung,5,'0') as heatid\r\n\t\t\t\t, rs.xResultat\r\n\t\t\t\t, rs.Leistung\r\n\t\t\t\t, rs.Info\r\n\t\t\t\t, at.Land\r\n , ss.Bemerkung\r\n , at.xAthlet\r\n , r.xRunde \r\n , ss.RundeZusammen \r\n\t\t\tFROM\r\n\t\t\t\tathletica.runde AS r\r\n\t\t\t\tLEFT JOIN athletica.serie AS s ON (s.xRunde = r.xRunde )\r\n\t\t\t\tLEFT JOIN athletica.serienstart AS ss ON (ss.xSerie = s.xSerie)\r\n\t\t\t\tLEFT JOIN athletica.start AS st ON (st.xStart = ss.xStart)\r\n\t\t\t\tLEFT JOIN athletica.anmeldung AS a ON (a.xAnmeldung = st.xAnmeldung)\r\n\t\t\t\tLEFT JOIN athletica.athlet AS at ON (at.xAthlet = a.xAthlet)\r\n\t\t\t\tLEFT JOIN athletica.verein AS v ON (v.xVerein = at.xVerein)\r\n LEFT JOIN athletica.team AS t ON(a.xTeam = t.xTeam) \r\n\t\t\tLEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " AS rt\r\n\t\t\t\tON rt.xRundentyp = r.xRundentyp\r\n\t\t\tLEFT JOIN athletica.resultat AS rs\r\n\t\t\t\tON rs.xSerienstart = ss.xSerienstart\r\n\t\t\tWHERE r.xRunde = {$round} \r\n\t\t\tORDER BY\r\n\t\t\t\theatid\r\n\t\t\t\t, ss.Position\r\n\t\t\t\t, rs.xResultat DESC\r\n\t\t"); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { // initialize variables $a = 0; $h = 0; $c_results = 0; $rowclass = 'odd'; while ($row = mysql_fetch_row($result)) { if ($row[20] > 0) { $singleRound = $row[20]; } else { $singleRound = $row[19]; } /* * Heat headerline */ if ($h != $row[2]) { $h = $row[2]; // keep heat ID if (is_null($row[0])) { // only one round $title = "{$strFinalround}"; } else { // more than one round if ($row[1] == '0') { $title = ""; } else { $title = "{$row['0']}"; } } $content .= "</table><table class='dialog'>"; if ($title != '') { $content .= "<tr>"; $content .= "<th class='dialog' colspan='6' />" . $title . " " . $row[3] . "</th> "; $content .= "</tr>"; } $content .= "<tr>"; $content .= "<th class='dialog'>" . $strPositionShort . "</th>"; $content .= "<th class='dialog'>" . $strStartnumber . "</th>"; $content .= "<th class='dialog'>" . $strAthlete . "</th>"; $content .= "<th class='dialog_pc'>" . $strYearShort . "</th>"; $content .= "<th class='dialog_pc'>" . $strCountry . "</th>"; $content .= "<th class='dialog_pc'>"; if ($svm) { $content .= $strTeam; } else { $content .= $strClub; } $content .= "</th>"; $content .= "<th class='dialog'>" . $strPerformance . "</th>"; $content .= "</tr>"; } // ET new heat /* * Athlete data lines */ if ($a != $row[4]) { $c_results = 0; $a = $row[4]; // keep athlete ID $l = 0; // reset result counter if ($row[5] % 2 == 0) { // even row numer $rowclass = 'even'; } else { // odd row number $rowclass = 'odd'; } $content .= "<tr class='" . $rowclass . "' >"; $content .= "<td class='forms_right'>" . $row[5] . "</td>"; $content .= "<td class='forms_right'>" . $row[7] . "</td>"; /* start nbr */ $content .= "<td nowrap>" . $row[8] . " " . $row[9] . "</td>"; /* name */ $content .= "<td class='forms_ctr_pc'>" . AA_formatYearOfBirth($row[10]) . "</td>"; $content .= "<td class='forms_pc'>"; if ($row[16] != '' && $row[16] != '-') { $content .= $row[16]; } else { $content .= " "; } $content .= "</td>"; $content .= "<td class='forms_pc' nowrap>" . $row[11] . "</td>"; /* club */ } // ET new athlete $perf = ''; if (is_null($row[14]) == false) { $c_results++; if ($c_results > 4) { $content .= "<tr><td colspan='6'></td>"; $c_results = 0; } $perf = $row[14]; if ($perf == $cfgMissedAttempt['dbx']) { $perf = $cfgMissedAttempt['codeX']; } $content .= "<td colspan='2' nowrap>" . AA_formatResultMeter($perf) . "({$row['15']})</td>"; } } mysql_free_result($result); $content .= "</table>"; $content .= $cfgHtmlFooter; $content .= "</div ></div>"; $content .= $cfgHtmlEnd; if (!fwrite($fp, $content)) { AA_printErrorMsg($GLOBALS['strErrFileWriteFailed']); return; } fclose($fp); } // ET DB error } // ET round selected AA_UpdateStatusChanged($round); ?> </body> </html> <?php }
function AA_results_Track($round, $layout, $content_navi, $cat, $disc, $rtyp, $event) { require './config.inc.php'; require './config.inc.end.php'; require './lib/common.lib.php'; require './lib/heats.lib.php'; require './lib/utils.lib.php'; require_once './lib/timing.lib.php'; $p = "./tmp"; $fp = @fopen($p . "/live" . $round . ".html", 'w'); if (!$fp) { AA_printErrorMsg($GLOBALS['strErrFileOpenFailed']); return; } $relay = AA_checkRelay($event); // check, if this is a relay event $svm = AA_checkSVM(0, $round); // decide whether to show club or team name global $content; $mergedMain = AA_checkMainRound($round); if ($mergedMain == 1) { $round = AA_getMainRound($round); } // get url $url = ''; $result = mysql_query("\r\n SELECT\r\n url\r\n FROM\r\n athletica_liveResultate.config"); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $row = mysql_fetch_row($result); $url = $row[0]; } // read round data if ($round > 0) { $content = $cfgHtmlStart1; if (empty($GLOBALS['cfgDir'])) { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/live" . $round . ".html'>"; } else { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/" . $GLOBALS['cfgDir'] . "/live" . $round . ".html'>"; } $content .= $cfgHtmlStart2; $content .= $content_navi; $content .= "</div ><div id='content_pc'><div id='content_pda'>"; $content .= "<h1>{$strStartlist} " . $_COOKIE['meeting'] . "</h1>"; // title if (!empty($rtyp)) { $content .= "<h2>{$cat} {$disc}, {$rtyp}</h2>"; } else { $content .= "<h2>{$cat} {$disc}</h2>"; } $content .= "<table class='dialog'>"; // check if round is final $sql_r = "SELECT \r\n rt.Typ\r\n FROM\r\n athletica.runde as r\r\n LEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " as rt USING (xRundentyp)\r\n WHERE\r\n r.xRunde=" . $round; $res_r = mysql_query($sql_r); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } $order = "ASC"; if (mysql_num_rows($res_r) == 1) { $row_r = mysql_fetch_row($res_r); if ($row_r[0] == 'F') { $order = "DESC"; } } // display all athletes if ($relay == FALSE) { // single event $query = "SELECT \r\n r.Bahnen\r\n , rt.Name\r\n , rt.Typ\r\n , s.xSerie\r\n , s.Bezeichnung\r\n , s.Wind\r\n , s.Film\r\n , an.Bezeichnung\r\n , ss.xSerienstart\r\n , ss.Position\r\n , ss.Rang\r\n , ss.Qualifikation\r\n , a.Startnummer\r\n , at.Name\r\n , at.Vorname\r\n , at.Jahrgang \r\n , if('" . $svm . "', t.Name, IF(a.Vereinsinfo = '', v.Name, a.Vereinsinfo)) \r\n , LPAD(s.Bezeichnung,5,'0') as heatid\r\n , s.Handgestoppt\r\n , at.Land \r\n , ss.Bemerkung \r\n , at.xAthlet \r\n FROM \r\n athletica.runde AS r\r\n LEFT JOIN athletica.serie AS s ON (s.xRunde = r.xRunde)\r\n LEFT JOIN athletica.serienstart AS ss ON (ss.xSerie = s.xSerie)\r\n LEFT JOIN athletica.start AS st ON (st.xStart = ss.xStart)\r\n LEFT JOIN athletica.anmeldung AS a ON (a.xAnmeldung = st.xAnmeldung)\r\n LEFT JOIN athletica.athlet AS at ON (at.xAthlet = a.xAthlet)\r\n LEFT JOIN athletica.verein AS v ON (v.xVerein = at.xVerein)\r\n LEFT JOIN athletica.team AS t ON(a.xTeam = t.xTeam)\r\n LEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " AS rt ON rt.xRundentyp = r.xRundentyp\r\n LEFT JOIN athletica.anlage AS an ON an.xAnlage = s.xAnlage\r\n WHERE\r\n r.xRunde = " . $round . " \r\n ORDER BY heatid " . $order . ", ss.Position"; } else { // relay event $query = "SELECT \r\n r.Bahnen\r\n , rt.Name\r\n , rt.Typ\r\n , s.xSerie\r\n , s.Bezeichnung\r\n , s.Wind\r\n , s.Film\r\n , an.Bezeichnung\r\n , ss.xSerienstart\r\n , ss.Position\r\n , ss.Rang\r\n , ss.Qualifikation\r\n , sf.Name\r\n , if('" . $svm . "', t.Name, v.Name) \r\n , LPAD(s.Bezeichnung,5,'0') as heatid\r\n , s.Handgestoppt\r\n , ss.Bemerkung \r\n FROM \r\n athletica.runde AS r\r\n LEFT JOIN athletica.serie AS s ON (s.xRunde = r.xRunde)\r\n LEFT JOIN athletica.serienstart AS ss ON (ss.xSerie = s.xSerie)\r\n LEFT JOIN athletica.start AS st ON (st.xStart = ss.xStart)\r\n LEFT JOIN athletica.staffel AS sf ON (sf.xStaffel = st.xStaffel)\r\n LEFT JOIN athletica.verein AS v ON (v.xVerein = sf.xVerein) \r\n LEFT JOIN athletica.team AS t ON(sf.xTeam = t.xTeam)\r\n LEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " AS rt ON rt.xRundentyp = r.xRundentyp\r\n LEFT JOIN athletica.anlage AS an ON an.xAnlage = s.xAnlage\r\n WHERE \r\n r.xRunde = " . $round . " \r\n ORDER BY heatid " . $order . ", ss.Position"; } $result = mysql_query($query); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { // initialize variables $h = 0; // heat counter $p = 0; // position counter (to evaluate empty heats $i = 0; // input counter (an individual id is assigned to each // input field, focus is then moved to the next input // field by calling $i+1) $rowclass = 'odd'; $tracks = 0; while ($row = mysql_fetch_row($result)) { $p++; // increment position counter /* * Heat headerline */ if ($h != $row[3]) { $tracks = $row[0]; // keep nbr of planned tracks // fill previous heat with empty tracks if ($p > 1) { printEmptyTracks($p, $tracks, 5 + $c); } $h = $row[3]; // keep heat ID $p = 1; // start with track one if (is_null($row[1])) { // only one round $title = "{$strFinalround}"; } else { // more than one round $title = "{$row['1']}"; } // increment colspan to include ranking and qualification $c = 0; if ($status == $cfgRoundStatus['results_done']) { $c++; if ($nextRound > 0) { $c++; } } $content .= "</table><table class='dialog'>"; $content .= "<tr>"; $content .= "<th class='dialog' colspan='2'>" . $title . " " . $row[4] . "</th>"; if ($relay == FALSE) { $content .= "<th class='dialog' colspan='4'>" . $strFilm . " " . $row[6] . "</th>"; } else { $content .= "<th class='dialog' colspan='2'>" . $strFilm . " " . $row[6] . "</th>"; } $i++; // next element $content .= "<tr>"; /* * Column header */ if ($relay == FALSE) { // athlete display $content .= "<tr>"; $content .= "<th class='dialog'>" . $strPositionShort . "</th>"; $content .= "<th class='dialog'>" . $strStartnumber . "</th>"; $content .= "<th class='dialog' >" . $strAthlete . "</th>"; $content .= "<th class='dialog_pc'>" . $strYearShort . "</th>"; $content .= "<th class='dialog_pc'>" . $strCountry . "</th>"; $content .= "<th class='dialog_pc'>"; if ($svm) { $content .= $strTeam; } else { $content .= $strClub; } $content .= "</th>"; } else { // relay display $content .= "<tr>"; $content .= "<th class='dialog'>" . $strPositionShort . "</th>"; $content .= "<th class='dialog'>" . $strRelay . "</th>"; $content .= "<th class='dialog_pc'>"; if ($svm) { $content .= $strTeam; } else { $content .= $strClub; } $content .= "</th>"; } $content .= "</tr>"; } // ET new heat /* * Empty tracks */ if ($layout == $cfgDisciplineType[$strDiscTypeTrack] || $layout == $cfgDisciplineType[$strDiscTypeTrackNoWind] || $layout == $cfgDisciplineType[$strDiscTypeRelay]) { // current track and athlete's position not identical if ($p < $row[9]) { $p = printEmptyTracks($p, $row[9] - 1, 5 + $c); } } // ET empty tracks /* * Athlete data lines */ $p = $row[9]; // keep position if ($p % 2 == 0) { // even row numer $rowclass = 'even'; } else { // odd row number $rowclass = 'odd'; } if ($relay == FALSE) { $content .= "<tr class='" . $rowclass . "'>"; $content .= "<td class='forms_right'>" . $row[9] . "</td>"; /* position */ $content .= "<td class='forms_right'>" . $row[12] . "</td>"; /* start nbr */ $content .= "<td>" . $row[13] . " " . $row[14] . "</td>"; /* name */ $content .= "<td class='forms_ctr_pc'>" . AA_formatYearOfBirth($row[15]) . "</td>"; $content .= "<td class='forms_pc'>"; if ($row[19] != '' && $row[19] != '-') { $content .= $row[19]; } else { $content .= " "; } $content .= "</td>"; $content .= "<td class='forms_pc' nowrap>" . $row[16] . "</td>"; /* club */ } else { // relay $content .= "<tr class='" . $rowclass . "'>"; $content .= "<td class='forms_right'>" . $row[9] . "</td>"; /* position */ $content .= "<td>" . $row[12] . "</td>"; /* relay name */ $content .= "<td>" . $row[13] . "</td>"; /* club */ } } // Fill last heat with empty tracks for disciplines run in // individual tracks if ($layout == $cfgDisciplineType[$strDiscTypeTrack] || $layout == $cfgDisciplineType[$strDiscTypeTrackNoWind] || $layout == $cfgDisciplineType[$strDiscTypeRelay]) { if ($p > 0) { // heats set up $p++; printEmptyTracks($p, $tracks, 5 + $c); } } // ET track disciplines mysql_free_result($result); // $list->endPage(); // end HTML page for printing $content .= "</table>"; $content .= $cfgHtmlFooter; $content .= "</div ></div>"; $content .= $cfgHtmlEnd; if (!fwrite($fp, $content)) { AA_printErrorMsg($GLOBALS['strErrFileWriteFailed']); return; } fclose($fp); } // ET DB error } // ET round selected AA_UpdateStatusChanged($round); ?> </body> </html> <?php }
function AA_rankinglist_Single($category, $event, $round, $formaction, $break, $cover, $biglist = false, $cover_timing = false, $date = '%', $show_efforts = 'none', $heatSeparate, $catFrom, $catTo, $discFrom, $discTo, $heatFrom, $heatTo, $athleteCat, $content_navi) { require './lib/cl_gui_page.lib.php'; require './lib/common.lib.php'; require './config.inc.php'; require './config.inc.end.php'; if (AA_connectToDB() == FALSE) { // invalid DB connection return; // abort } if (AA_checkMeetingID() == FALSE) { // no meeting selected return; // abort } $p = "./tmp"; $fp = @fopen($p . "/live" . $round . ".html", 'w'); if (!$fp) { AA_printErrorMsg($GLOBALS['strErrFileOpenFailed']); return; } // set up ranking list selection $selection = ''; $eventMerged = false; $catMerged = false; $flagSubtitle = false; $flagInfoLine1 = false; $flagInfoLine2 = false; $selectionHeats = ''; $orderAthleteCat = ''; $saison = $_SESSION['meeting_infos']['Saison']; if ($saison == '') { $saison = "O"; //if no saison is set take outdoor } if ($round > 0) { // show a specific round $eventMerged = false; $sqlEvents = AA_getMergedEventsFromEvent($event); if ($sqlEvents != '') { $selection = "w.xWettkampf IN " . $sqlEvents . " AND "; $eventMerged = true; } else { $selection = "w.xWettkampf =" . $event . " AND "; } } else { if ($category == 0) { // show all disciplines for every category $catMerged = true; } else { if ($event == 0) { // show all disciplines for a specific category $catMerged = false; $mergedCat = AA_mergedCat($category); if ($mergedCat != '') { $selection = "w.xKategorie =" . $category . " AND "; $catMerged = true; } else { $selection = "w.xKategorie =" . $category . " AND "; } } else { if ($round == 0) { // show all rounds for a specific event $eventMerged = false; $sqlEvents = AA_getMergedEventsFromEvent($event); if ($sqlEvents != '') { $selection = "w.xWettkampf IN " . $sqlEvents . " AND "; $eventMerged = true; } else { $selection = "w.xWettkampf =" . $event . " AND "; } } } } } if ($catFrom > 0) { // $getSortCat = AA_getSortCat($catFrom, $catTo); if ($getSortCat[0]) { if ($catTo > 0) { $selection = "k.Anzeige >=" . $getSortCat[$catFrom] . " AND k.Anzeige <=" . $getSortCat[$catTo] . " AND "; } else { $selection = "k.Anzeige =" . $getSortCat[$catFrom] . " AND "; } } } if ($discFrom > 0) { // $getSortDisc = AA_getSortDisc($discFrom, $discTo); if ($getSortDisc[0]) { if ($discTo > 0) { $selection .= "d.Anzeige >=" . $getSortDisc[$discFrom] . " AND d.Anzeige <=" . $getSortDisc[$discTo] . " AND "; } else { $selection .= "d.Anzeige =" . $getSortDisc[$discFrom] . " AND "; } } } if ($heatFrom > 0) { $selectionHeats = ' AND s.xSerie >= ' . $heatFrom . ' AND s.xSerie <= ' . $heatTo . ' '; } if ($athleteCat) { $orderAthleteCat = ' k1.Anzeige, '; } if ($catMerged & !$heatSeparate || $eventMerged & !$heatSeparate) { // get event rounds from DB $results = mysql_query("\r\n\tSELECT \r\n\t\tr.xRunde\r\n\t\t, k.Name\r\n\t\t, d.Name\r\n\t\t, d.Typ\r\n\t\t, w.xWettkampf\r\n\t\t, r.QualifikationSieger\r\n\t\t, r.QualifikationLeistung\r\n\t\t, w.Punkteformel\r\n\t\t, w.Windmessung\r\n\t\t, r.Speakerstatus\r\n\t\t, d.Staffellaeufer\r\n\t\t, CONCAT(DATE_FORMAT(r.Datum,'{$cfgDBdateFormat}'), ' ', TIME_FORMAT(r.Startzeit, '{$cfgDBtimeFormat}'))\r\n\t\t, w.xDisziplin \r\n\tFROM\r\n\t\tathletica.wettkampf AS w\r\n\t\tLEFT JOIN athletica.kategorie AS k ON (k.xKategorie = w.xKategorie)\r\n \t\tLEFT JOIN athletica.disziplin_" . $_COOKIE['language'] . " as d ON (d.xDisziplin = w.xDisziplin) \r\n \t\tLEFT JOIN athletica.runde AS r ON (r.xWettkampf = w.xWettkampf) \r\n\tWHERE " . $selection . "\r\n\tw.xMeeting = " . $_COOKIE['meeting_id'] . " \t\r\n\tAND (r.Status = " . $cfgRoundStatus['results_done'] . " OR r.Status = " . $cfgRoundStatus['results_in_progress'] . ") \r\n\tAND r.Datum LIKE '" . $date . "'\r\n\tORDER BY\r\n\t\tk.Anzeige\r\n\t\t, d.Anzeige\r\n\t\t, r.Datum\r\n\t\t, r.Startzeit\r\n"); } else { // heats separate $results = mysql_query("\r\n SELECT DISTINCT \r\n r.xRunde , \r\n k.Name , \r\n d.Name , \r\n d.Typ , \r\n w.xWettkampf , \r\n r.QualifikationSieger , \r\n r.QualifikationLeistung , \r\n w.Punkteformel , \r\n w.Windmessung , \r\n r.Speakerstatus , \r\n d.Staffellaeufer , \r\n CONCAT(DATE_FORMAT(r.Datum,'%d.%m.%y'), \r\n ' ', \r\n TIME_FORMAT(r.Startzeit, '%H:%i')) ,\r\n w.xDisziplin , \r\n rs.Hauptrunde \r\n FROM \r\n athletica.wettkampf AS w \r\n LEFT JOIN athletica.kategorie AS k ON (k.xKategorie = w.xKategorie) \r\n LEFT JOIN athletica.disziplin_" . $_COOKIE['language'] . " as d ON (d.xDisziplin = w.xDisziplin) \r\n LEFT JOIN athletica.runde AS r ON (r.xWettkampf = w.xWettkampf) \r\n LEFT JOIN athletica.rundenset as rs ON (r.xRunde=rs.xRunde ) \r\n WHERE \r\n " . $selection . " \r\n w.xMeeting = " . $_COOKIE['meeting_id'] . " \r\n AND (r.Status = " . $cfgRoundStatus['results_done'] . " OR r.Status = " . $cfgRoundStatus['results_in_progress'] . ") \r\n AND r.Datum LIKE '%' \r\n ORDER BY\r\n k.Anzeige\r\n , d.Anzeige\r\n , r.Datum\r\n , r.Startzeit\r\n "); } if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $limitRankSQL = ""; $limitRank = false; if ($_GET['limitRank'] == "yes") { // check if ranks are limited, but limitRankSQL will set only if export is pressed if (!empty($_GET['limitRankFrom']) && !empty($_GET['limitRankTo'])) { $limitRank = true; } } // get url $url = ''; $result = mysql_query("\r\n SELECT\r\n url\r\n FROM\r\n athletica_liveResultate.config"); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $row = mysql_fetch_row($result); $url = $row[0]; } // start a new HTML display page if ($formaction == 'view' || $formaction == 'speaker') { // display page $list = new GUI_RankingList($_COOKIE['meeting']); $list->content = $cfgHtmlStart1; if (empty($GLOBALS['cfgDir'])) { $list->content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/live" . $round . ".html'>"; } else { $list->content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/" . $GLOBALS['cfgDir'] . "/live" . $round . ".html'>"; } $list->content .= $cfgHtmlStart2; $list->content .= $content_navi; $list->content .= "</div ><div id='content_pc'><div id='content_pda'>"; $list->printPageTitle("{$strRankingLists} " . $_COOKIE['meeting']); } elseif ($formaction == "print") { $list = new PRINT_RankingList($_COOKIE['meeting']); if ($cover == true) { // print cover page $list->printCover($GLOBALS['strResults'], $cover_timing); } } elseif ($formaction == "exportpress") { $list = new EXPORT_RankingListPress($_COOKIE['meeting'], 'txt'); if ($limitRank) { $limitRankSQL = " AND ss.Rang <= " . $_GET['limitRankTo'] . " AND ss.Rang >= " . $_GET['limitRankFrom'] . " "; } } elseif ($formaction == "exportdiplom") { $list = new EXPORT_RankingListDiplom($_COOKIE['meeting'], 'csv'); if ($limitRank) { $limitRankSQL = " AND ss.Rang <= " . $_GET['limitRankTo'] . " AND ss.Rang >= " . $_GET['limitRankFrom'] . " "; } } // initialize variables $cat = ''; $evnt = 0; while ($row = mysql_fetch_row($results)) { // for a combined event, the rounds are merged, so jump until the next event if ($cRounds > 1) { $cRounds--; continue; } $roundSQL = "s.xRunde = {$row['0']}"; $cRounds = 0; // check page break if (is_a($list, "PRINT_RankingList") && $cat != '' && ($break == 'discipline' || $break == 'category' && $row[1] != $cat)) { $list->insertPageBreak(); } if ($row[3] == $cfgDisciplineType[$strDiscTypeTrackTrack] || $row[3] == $cfgDisciplineType[$strDiscTypeTrackNoWind] || $row[3] == $cfgDisciplineType[$strDiscTypeRelay]) { $eval = $cfgEvalType[$strEvalTypeHeat]; } else { $eval = $cfgEvalType[$strEvalTypeAll]; } $roundName = ''; $type = ''; $res = mysql_query("\r\n\t\t\tSELECT\r\n rt.Name\r\n , rt.Typ\r\n , rt.Wertung\r\n FROM\r\n athletica.runde\r\n LEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " AS rt ON (rt.xRundentyp = runde.xRundentyp)\r\n WHERE \r\n runde.xRunde = {$row['0']} \r\n\t\t"); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { if (mysql_num_rows($res) > 0) { $row_rt = mysql_fetch_row($res); if ($row_rt[1] == '0') { $type = " "; $row_rt[0] = ''; } else { $type = $row_rt[0] . " "; } $eval = $row_rt[2]; if ($round != 0) { // specific round selected $roundName = $row_rt[0]; } } mysql_free_result($res); } if ($evnt != $row[4]) { // if this is a combined event, dont fragment list by rounds $combined = AA_checkCombined($row[4]); // not selectet a specific round if ($round == 0 && $combined) { $res_c = mysql_query("SELECT \r\n\t\t\t\t\t\t\t\tr.xRunde\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tathletica.wettkampf as w\r\n\t\t\t\t\t\t\t\t LEFT JOIN athletica.runde as r ON (r.xWettkampf = w.xWettkampf)\r\n\t\t\t\t\t\t\tWHERE\tw.xWettkampf = " . $row[4]); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $cRounds = mysql_num_rows($res_c); $roundSQL = "s.xRunde IN ("; while ($row_c = mysql_Fetch_array($res_c)) { $roundSQL .= $row_c[0] . ","; } $roundSQL = substr($roundSQL, 0, -1) . ")"; } } // set up category and discipline title information $flagSubtitle = true; // set flag to print the subtitle later if ($formaction == 'speaker' && AA_getNextRound($row[4], $row[0]) == 0) { // last round: show ceremony status $list->printCeremonyStatus($row[0], $row[9]); } // print qualification mode if round selected $info = ''; if ($round > 0 && ($row[5] > 0 || $row[6] > 0)) { //$info = $GLOBALS['strQualification'] .": " // . $row[5] . " " . $GLOBALS['$strQualifyTop'] .", " // . $row[6] . " " . $GLOBALS['strQualifyPerformance']; $info = "{$strQualification}: " . $row[5] . " {$strQualifyTop}, " . $row[6] . " {$strQualifyPerformance}"; $flagInfoLine1 = true; // set flag to print later the qualification mode if round selected $info_save1 = $info; //$list->printInfoLine($info); $qual_mode = TRUE; } // print qualification descriptions if required $info = ''; if ($row[5] > 0 || $row[6] > 0) { //foreach($GLOBALS['cfgQualificationType'] as $qt) foreach ($cfgQualificationType as $qt) { $info = $info . $qt['token'] . " =" . $qt['text'] . " "; } $flagInfoLine2 = true; // set flag to print later the qualification descriptions if required $info_save2 = $info; //$list->printInfoLine($info); $qual_mode = TRUE; } $evnt = $row[4]; // keep event ID //$roundM = $row[13]; } // ET new event //else { // if ($roundM!=$row[13]){ // set up subtitle when merged round are separated // $flagSubtitle=true; // set flag to print the subtitle later // } //} $relay = AA_checkRelay($row[4]); // check, if this is a relay event $svm = AA_checkSVM($row[4]); // If round evaluated per heat, group results accordingly $order_heat = ""; if ($eval == $cfgEvalType[$strEvalTypeHeat]) { // eval per heat $order_heat = "heatid, "; } $valid_result = ""; // Order performance depending on discipline type if ($row[3] == $cfgDisciplineType[$strDiscTypeJumpNoWind] || $row[3] == $cfgDisciplineType[$strDiscTypeThrow]) { $order_perf = "DESC"; } else { if ($row[3] == $cfgDisciplineType[$strDiscTypeJump]) { if ($row[8] == 1) { // with wind $order_perf = "DESC, r.Info ASC"; } else { // without wind $order_perf = "DESC"; } } else { if ($row[3] == $cfgDisciplineType[$strDiscTypeHigh]) { $order_perf = "DESC"; $valid_result = " AND (r.Info LIKE '%O%'" . " OR r.Leistung < 0)"; } else { $order_perf = "ASC"; } } } $sqlSeparate = ''; if (($catMerged || $eventMerged) & $heatSeparate) { if ($row[0] > 0 && $row[13] != NULL) { $roundSQL = ''; if (empty($limitRankSQL) && empty($valid_result)) { $sqlSeparate = " ss.RundeZusammen = " . $row[0]; } else { if (empty($limitRankSQL)) { $valid_result = substr($valid_result, 4, strlen($valid_result)); } elseif (empty($valid_result)) { $limitRankSQL = substr($limitRankSQL, 4, strlen($limitRankSQL)); } $sqlSeparate = " AND ss.RundeZusammen = " . $row[0]; } } } // get all results ordered by ranking; for invalid results (Rang=0), the // rank is set to max_rank to put them to the end of the list. $max_rank = 999999999; $sql_leistung = $order_perf == 'ASC' ? "r.Leistung" : "IF(r.Leistung<0, (If(r.Leistung = -99, -9, (If (r.Leistung = -98, -8,r.Leistung))) * -1), r.Leistung)"; $order = $order_heat; if ($relay == FALSE) { if ($athleteCat) { $order = $orderAthleteCat . $order_heat; } $query = "SELECT ss.xSerienstart, \r\n\t\t\t\t\t\t\t IF(ss.Rang=0, {$max_rank}, ss.Rang) AS rank, \r\n\t\t\t\t\t\t\t ss.Qualifikation, \r\n\t\t\t\t\t\t\t " . $sql_leistung . " AS leistung_neu, \r\n\t\t\t\t\t\t\t r.Info, \r\n\t\t\t\t\t\t\t s.Bezeichnung, \r\n\t\t\t\t\t\t\t s.Wind, \r\n\t\t\t\t\t\t\t r.Punkte, \r\n\t\t\t\t\t\t\t IF('" . $svm . "', t.Name, IF(a.Vereinsinfo = '', v.Name, a.Vereinsinfo)), \r\n\t\t\t\t\t\t\t at.Name, \r\n\t\t\t\t\t\t\t at.Vorname, \r\n\t\t\t\t\t\t\t at.Jahrgang, \r\n\t\t\t\t\t\t\t LPAD(s.Bezeichnung, 5, '0') AS heatid, \r\n\t\t\t\t\t\t\t IF(at.xRegion = 0, at.Land, re.Anzeige) AS Land, \r\n\t\t\t\t\t\t\t at.xAthlet, \r\n\t\t\t\t\t\t\t ru.Datum, \r\n\t\t\t\t\t\t\t ru.Startzeit ,\r\n\t\t\t\t\t\t\t ss.RundeZusammen,\r\n\t\t\t\t\t\t\t ru.xRunde, \r\n\t\t\t\t\t\t\t k.Name , \r\n\t\t\t\t\t\t\t k1.Name , \t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t k1.Anzeige ,\r\n ss.Bemerkung ,\r\n w.Punkteformel,\r\n w.info,\r\n a.Startnummer \r\n\t\t\t\t\t\tFROM athletica.serie AS s USE INDEX(Runde)\r\n\t\t\t\t LEFT JOIN athletica.serienstart AS ss USING(xSerie) \r\n\t\t\t\t LEFT JOIN athletica.resultat AS r USING(xSerienstart) \r\n\t\t\t\t LEFT JOIN athletica.start AS st ON(ss.xStart = st.xStart) \r\n\t\t\t\t LEFT JOIN athletica.anmeldung AS a USING(xAnmeldung) \r\n\t\t\t\t LEFT JOIN athletica.athlet AS at USING(xAthlet) \r\n\t\t\t\t LEFT JOIN athletica.verein AS v USING(xVerein) \r\n\t\t\t\t LEFT JOIN athletica.region AS re ON(at.xRegion = re.xRegion) \r\n\t\t\t\t LEFT JOIN athletica.team AS t ON(a.xTeam = t.xTeam) \r\n\t\t\t\t LEFT JOIN athletica.runde AS ru ON(s.xRunde = ru.xRunde) \r\n\t\t\t\t LEFT JOIN athletica.wettkampf AS w On (w.xWettkampf= st.xWettkampf) \r\n\t\t\t\t LEFT JOIN athletica.kategorie AS k On (w.xKategorie= k.xKategorie)\r\n\t\t\t\t LEFT JOIN athletica.kategorie AS k1 ON (a.xKategorie = k1.xKategorie) \r\n\t\t\t\t\t WHERE " . $roundSQL . " \r\n\t\t\t\t\t " . $limitRankSQL . " \r\n\t\t\t\t\t " . $valid_result . " \r\n\t\t\t\t\t " . $sqlSeparate . " \r\n\t\t\t\t\t " . $selectionHeats . " \r\n\t\t\t\t\tORDER BY " . $order . " \t\t\t\t\t \r\n\t\t\t\t\t\t\t rank, \r\n\t\t\t\t\t\t\t at.Name, \r\n\t\t\t\t\t\t\t at.Vorname,\r\n\t\t\t\t\t\t\t leistung_neu " . $order_perf; } else { // relay event $query = "SELECT ss.xSerienstart, \t\t\t\t\t\t\r\n\t\t\t\t\t\t\t IF(r.Leistung < 0 , {$max_rank}, if (ss.Rang=0, {$max_rank}-1, ss.Rang)) AS rank, \r\n\t\t\t\t\t\t\t ss.Qualifikation, \r\n\t\t\t\t\t\t\t " . $sql_leistung . " AS leistung_neu, \r\n\t\t\t\t\t\t\t r.Info, \r\n\t\t\t\t\t\t\t s.Bezeichnung, \r\n\t\t\t\t\t\t\t s.Wind, \r\n\t\t\t\t\t\t\t r.Punkte, \r\n\t\t\t\t\t\t\t IF('" . $svm . "', t.Name, v.Name), \r\n\t\t\t\t\t\t\t sf.Name, \r\n\t\t\t\t\t\t\t LPAD(s.Bezeichnung, 5, '0') AS heatid, \r\n\t\t\t\t\t\t\t st.xStart, \r\n\t\t\t\t\t\t\t ru.Datum, \r\n\t\t\t\t\t\t\t ru.Startzeit, \r\n\t\t\t\t\t\t\t ss.RundeZusammen,\r\n\t\t\t\t\t\t\t ru.xRunde,\r\n\t\t\t\t\t\t\t k.Name ,\r\n ss.Bemerkung \r\n\t\t\t\t\t\tFROM athletica.serie AS s USE INDEX(Runde) \r\n\t\t\t\t LEFT JOIN athletica.serienstart AS ss USING(xSerie) \r\n\t\t\t\t LEFT JOIN athletica.resultat AS r USING(xSerienstart) \r\n\t\t\t\t LEFT JOIN athletica.start AS st ON(ss.xStart = st.xStart) \r\n\t\t\t\t LEFT JOIN athletica.staffel AS sf USING(xStaffel) \r\n\t\t\t\t LEFT JOIN athletica.verein AS v USING(xVerein) \r\n\t\t\t\t LEFT JOIN athletica.team AS t ON(sf.xTeam = t.xTeam) \r\n\t\t\t\t LEFT JOIN athletica.runde AS ru ON(s.xRunde = ru.xRunde) \r\n\t\t\t\t LEFT JOIN athletica.wettkampf AS w On (w.xWettkampf= st.xWettkampf) \r\n\t\t\t\t LEFT JOIN athletica.kategorie AS k On (w.xKategorie= k.xKategorie) \r\n\t\t\t\t\t WHERE " . $roundSQL . " \r\n\t\t\t\t\t " . $limitRankSQL . " \r\n\t\t\t\t\t " . $valid_result . " \r\n\t\t\t\t\t " . $sqlSeparate . " \r\n\t\t\t\t\tGROUP BY r.xSerienstart \r\n\t\t\t\t\tORDER BY " . $order . " \r\n\t\t\t\t\t\t\t rank, \r\n\t\t\t\t\t\t\t r.Leistung \r\n\t\t\t\t\t\t\t " . $order_perf . ", \r\n\t\t\t\t\t\t\t sf.Name;"; } $res = mysql_query($query); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { if (mysql_num_rows($res) == 0) { continue; } // initialize variables $heat = ''; $h = 0; $info = ''; $id = ''; $r = ''; $count_rank = 0; $perf_save = ''; //$list->startList(); $nr = 0; $atCat = ''; // process every result while ($row_res = mysql_fetch_array($res)) { if ($flagSubtitle) { $nr = 0; if ($heatSeparate) { if ($relay) { $list->printSubTitle($row_res[16], $row[2], $roundName); } else { if (!$athleteCat) { $list->printSubTitle($row_res[19], $row[2], $roundName); } } } else { if (!$athleteCat) { $list->printSubTitle($row[1], $row[2], $roundName); } } $flagSubtitle = false; } if (!$athleteCat) { if ($flagInfoLine1) { $list->printInfoLine($info_save1); $flagInfoLine1 = false; } } if (!$athleteCat) { if ($flagInfoLine2) { $list->printInfoLine($info_save2); $flagInfoLine2 = false; } } $row_res[3] = $row_res[3] == 1 || $row_res[3] == 2 || $row_res[3] == 3 || $row_res[3] == 4 ? $row_res[3] * -1 : ($row_res[3] == 9 ? -99 : $row_res[3]); if ($row_res[0] != $id) { if ($h == 0 || $row_res[5] != $heat && $eval == $cfgEvalType[$strEvalTypeHeat] || $athleteCat && $row_res[21] != $atCat) { $count_rank = 0; $nr = 0; // heat name if ($eval == $cfgEvalType[$strEvalTypeHeat]) { if (empty($type)) { // no round type defined $type = $strFinalround . " "; } $title = $type . $row_res[5]; // heat name with nbr. } else { $title = $type; // heat name withour nbr. } $title = trim($title); // wind per heat if ($row[3] == $cfgDisciplineType[$strDiscTypeTrack] && $row[8] == 1 && $eval == $cfgEvalType[$strEvalTypeHeat]) { $heatwind = $row_res[6]; // wind per heat } else { $heatwind = ''; // no wind } $wind = FALSE; if ($row[8] == 1 && $row[3] == $cfgDisciplineType[$strDiscTypeJump] || $row[3] == $cfgDisciplineType[$strDiscTypeTrack] && $eval == $cfgEvalType[$strEvalTypeAll]) { $wind = TRUE; } // add column header 'points' if required $points = FALSE; if ($row[7] != '0') { $points = TRUE; } if ($show_efforts == 'sb_pb') { $base_perf = true; } if ($athleteCat && !$relay) { if ($formaction == 'print') { if ($row_res[20] != $atCatName) { $list->printSubTitle($row_res[20], $row[2], $roundName, $row_res[24]); $atCatName_keep = $atCatName; if ($flagInfoLine1) { $list->printInfoLine($info_save1); $flagInfoLine1 = false; } if ($flagInfoLine2) { $list->printInfoLine($info_save2); $flagInfoLine2 = false; } } } } $list->startList(); $list->printHeaderLine($title, $relay, $points, $wind, $heatwind, $row[11], $svm, $base_perf, $qual_mode); if ($athleteCat && !$relay) { if ($formaction == 'view') { if ($row_res[20] != $atCatName) { $list->printSubTitle($row_res[20], $row[2], $roundName, $row_res[24]); $atCatName_keep = $atCatName; if ($flagInfoLine1) { $list->printInfoLine($info_save1, $athleteCat); $flagInfoLine1 = false; } if ($flagInfoLine2) { $list->printInfoLine($info_save2, $athleteCat); $flagInfoLine2 = false; } } } } $heat = $row_res[5]; // keep heat description $atCat = $row_res[21]; // keep athlete category $h++; // increment if evaluation per heat } $count_rank++; // rank if ($row_res[1] == $max_rank || $row_res[1] == $max_rank - 1 || $r == $row_res[1] && $heat_keep == $row_res[5]) { // same rank as previous $rank = ''; } else { $rank = $row_res[1]; } $r = $row_res[1]; // keep rank $heat_keep = $row_res[5]; // keep rank $atCatName = $row_res[20]; // keep athlete category name // name $name = $row_res[9]; if ($relay == FALSE) { $name = $name . " " . $row_res[10]; } // year of birth if ($relay == FALSE) { $year = AA_formatYearOfBirth($row_res[11]); } else { $year = ''; } // year of birth if ($relay == FALSE) { $land = $row_res[13] != '' && $row_res[13] != '-' ? $row_res[13] : ''; } else { $year = ''; } // performance if ($row_res[3] < 0) { // invalid result foreach ($cfgInvalidResult as $value) { if ($value['code'] == $row_res[3]) { $perf = $value['short']; } } } else { if ($row[3] == $cfgDisciplineType[$strDiscTypeJump] || $row[3] == $cfgDisciplineType[$strDiscTypeJumpNoWind] || $row[3] == $cfgDisciplineType[$strDiscTypeThrow] || $row[3] == $cfgDisciplineType[$strDiscTypeHigh]) { $perf = AA_formatResultMeter($row_res[3]); } else { if ($row[3] == $cfgDisciplineType[$strDiscTypeTrack] || $row[3] == $cfgDisciplineType[$strDiscTypeTrackNoWind]) { $perf = AA_formatResultTime($row_res[3], true, true); } else { $perf = AA_formatResultTime($row_res[3], true); } } } $qual = ''; if ($row_res[2] > 0) { // Athlete qualified foreach ($cfgQualificationType as $qtype) { if ($qtype['code'] == $row_res[2]) { $qual = $qtype['token']; } } } // ET athlete qualified // points for performance $points = ''; if ($row[7] != '0') { $points = $row_res[7]; } // wind info $wind = ''; $secondResult = false; if ($r != $max_rank) { if ($row[3] == $cfgDisciplineType[$strDiscTypeJump] && $row[8] == 1) { $wind = $row_res[4]; // // if wind bigger than max wind (2.0) show the next best result without wind too // if ($wind > 2) { $res_wind = mysql_query("\r\n\t\t\t\t\t\t\t\t\t\tSELECT Info, Leistung FROM\r\n\t\t\t\t\t\t\t\t\t\t\tresultat\r\n\t\t\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t\t\txSerienstart = {$row_res['0']}\r\n\t\t\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t\t\tLeistung ASC"); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { while ($row_wind = mysql_fetch_array($res_wind)) { if ($row_wind[0] <= 2) { $secondResult = true; $wind2 = $row_wind[0] . ")"; $perf2 = "(" . AA_formatResultMeter($row_wind[1]); } } } } } else { if ($row[3] == $cfgDisciplineType[$strDiscTypeTrack] && $row[8] == 1 && $eval == $cfgEvalType[$strEvalTypeAll]) { $wind = $row_res[6]; } } } // ioc country code $ioc = ''; if ($relay == false) { $ioc = $row_res[13]; } //show performances from base if ($show_efforts == 'sb_pb' && $relay == false) { $saison = $_SESSION['meeting_infos']['Saison']; if ($saison == '') { $saison = "O"; //if no saison is set take outdoor } $sql = "SELECT \r\n\t\t\t\t\t\t\t\t\tseason_effort\r\n\t\t\t\t\t\t\t\t\t, DATE_FORMAT(season_effort_date, '%d.%m.%Y') AS sb_date\r\n\t\t\t\t\t\t\t\t\t, season_effort_event\r\n\t\t\t\t\t\t\t\t\t, best_effort\r\n\t\t\t\t\t\t\t\t\t, DATE_FORMAT(best_effort_date, '%d.%m.%Y') AS pb_date\r\n\t\t\t\t\t\t\t\t\t, best_effort_event\r\n\t\t\t\t\t\t\t\t\t, season\r\n\t\t\t\t\t\t\t\t\t, xAnmeldung\r\n\t\t\t\t\t\tFROM \r\n\t\t\t\t\t\t\tathletica.base_performance\r\n\t\t\t\t\t\tLEFT JOIN \r\n\t\t\t\t\t\t\tathletica.base_athlete USING (id_athlete)\r\n\t\t\t\t\t\tLEFT JOIN \r\n\t\t\t\t\t\t\tathletica.disziplin_" . $_COOKIE['language'] . " ON (discipline = Code)\r\n\t\t\t\t\t\tLEFT JOIN \r\n\t\t\t\t\t\t\tathletica.athlet ON (license = Lizenznummer)\r\n\t\t\t\t\t\tLEFT JOIN\r\n\t\t\t\t\t\t\tathletica.anmeldung USING(xAthlet) \r\n\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\tathlet.xAthlet = {$row_res['14']}\r\n\t\t\t\t\t\t\tAND xDisziplin = {$row['12']}\r\n\t\t\t\t\t\t\tAND season = '{$saison}' \r\n\t\t\t\t\t\t\tAND xMeeting = " . $_COOKIE['meeting_id'] . ";"; $res_perf = mysql_query($sql); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { if ($res_perf) { $row_perf = mysql_fetch_array($res_perf); $is_jump = $row[3] == $cfgDisciplineType[$strDiscTypeJump] || $row[3] == $cfgDisciplineType[$strDiscTypeJumpNoWind] || $row[3] == $cfgDisciplineType[$strDiscTypeThrow] || $row[3] == $cfgDisciplineType[$strDiscTypeHigh]; $order = $is_jump ? 'DESC' : 'ASC'; $best_previous = ''; $previous_date = ''; if ($row_perf !== false) { $best_previous = AA_getBestPrevious($row[12], $row_perf['xAnmeldung'], $order, $row_res['Datum'], $row_res['Startzeit'], &$previous_date); } if ($is_jump) { $sb_perf = AA_formatResultMeter(str_replace(".", "", $row_perf['season_effort'])); $pb_perf = AA_formatResultMeter(str_replace(".", "", $row_perf['best_effort'])); $bp_perf = AA_formatResultMeter(str_replace(".", "", $best_previous)); if ($bp_perf > 0 && $bp_perf > $sb_perf) { $sb_perf = $bp_perf; $row_perf['season_effort_event'] = $_SESSION['meeting_infos']['Name']; $row_perf['sb_date'] = date('d.m.Y', strtotime($previous_date)); } if ($bp_perf > 0 && $bp_perf > $pb_perf) { $pb_perf = $bp_perf; $row_perf['best_effort_event'] = $_SESSION['meeting_infos']['Name']; $row_perf['pb_date'] = date('d.m.Y', strtotime($previous_date)); } //highlight sb or pb if new performance is better if (is_numeric($perf)) { //prevent special-codes (disq, n.a. usw) if ($formaction != 'print') { if ($pb_perf != '' && $perf > $pb_perf) { $perf = "<b>PB {$perf}</b> "; } else { if ($sb_perf != '' && $perf > $sb_perf) { $perf = "<b>SB {$perf}</b>"; } } } else { if ($pb_perf != '' && $perf > $pb_perf) { $perf = "<b>PB</b> {$perf}"; } else { if ($sb_perf != '' && $perf > $sb_perf) { $perf = "<b>SB</b> {$perf}"; } } } } } else { //convert performance-time to milliseconds $timepices = explode(":", $row_perf['season_effort']); $season_effort = $timepices[0] * 360 * 1000 + $timepices[1] * 60 * 1000 + $timepices[2] * 1000 + $timepices[3]; $timepices = explode(":", $row_perf['best_effort']); $best_effort = $timepices[0] * 360 * 1000 + $timepices[1] * 60 * 1000 + $timepices[2] * 1000 + $timepices[3]; $previous_effort = intval($best_previous); if ($previous_effort > 0 && $previous_effort < $season_effort) { $season_effort = $previous_effort; $row_perf['season_effort_event'] = $_SESSION['meeting_infos']['Name']; $row_perf['sb_date'] = date('d.m.Y', strtotime($previous_date)); } if ($previous_effort > 0 && $previous_effort < $best_effort) { $best_effort = $previous_effort; $row_perf['best_effort_event'] = $_SESSION['meeting_infos']['Name']; $row_perf['pb_date'] = date('d.m.Y', strtotime($previous_date)); } if ($row[3] == $cfgDisciplineType[$strDiscTypeTrack] || $row[3] == $cfgDisciplineType[$strDiscTypeTrackNoWind]) { $sb_perf = AA_formatResultTime($season_effort, true, true); $pb_perf = AA_formatResultTime($best_effort, true, true); } else { $sb_perf = AA_formatResultTime($season_effort, true); $pb_perf = AA_formatResultTime($best_effort, true); } if ($formaction != 'print') { //highlight sb or pb if new performance is better if ($pb_perf != '' && $perf < $pb_perf) { $perf = "<b>PB {$perf}</b>"; } else { if ($sb_perf != '' && $perf < $sb_perf) { $perf = "<b>SB {$perf}</b>"; } } } else { if ($pb_perf != '' && $perf < $pb_perf) { $perf = "<b>PB</b> {$perf}"; } else { if ($sb_perf != '' && $perf < $sb_perf) { $perf = "<b>SB</b> {$perf}"; } } } } if (!empty($row_perf['season_effort'])) { $sb = "<a href=\"#\" class=\"info\">{$sb_perf}<span>{$row_perf['sb_date']}<br>{$row_perf['season_effort_event']}</span></a>"; } else { $sb = " "; } if (!empty($row_perf['best_effort'])) { $pb = "<a href=\"#\" class=\"info\">{$pb_perf}<span>{$row_perf['pb_date']}<br>{$row_perf['best_effort_event']}</span></a>"; } else { $pb = " "; } } } } if ($heatSeparate) { $rank = $count_rank; if ($perf == $perf_save || $row_res[3] < 0) { // same rank or invalid result $rank = ''; } } if ($athleteCat && !$relay) { $nr++; if ($rank != '') { if ($formaction == "print") { $rank = $nr . ". (" . $rank . ")"; } else { $rank = $nr . " (" . $rank . ")"; } } } else { if ($formaction == "print") { if ($rank != '') { $rank .= "."; } } } if ($relay) { $remark = $row_res[17]; } else { $remark = $row_res[22]; } $list->printLine($rank, $name, $year, $row_res[8], $perf, $wind, $points, $qual, $ioc, $sb, $pb, $qual_mode, $athleteCat, $remark); if ($secondResult) { $list->printLine("", "", "", "", $perf2, $wind2, "", "", "", "", "", $qual_mode); } $perf_save = $perf; // keep performance // // if relay, show started ahtletes in right order under the result // if ($relay) { if ($row_res[14] > 0) { $sqlRound = $row_res[14]; } else { $sqlRound = $row[0]; } $res_at = mysql_query("\r\n\t\t\t\t\t\t\t\tSELECT at.Vorname, at.Name, at.Jahrgang FROM\r\n\t\t\t\t\t\t\t\t\tathletica.staffelathlet as sfat\r\n\t\t\t\t\t\t\t\t\tLEFT JOIN athletica.start as st ON sfat.xAthletenstart = st.xStart\r\n\t\t\t\t\t\t\t\t\tLEFT JOIN athletica.anmeldung as a USING(xAnmeldung)\r\n\t\t\t\t\t\t\t\t\tLEFT JOIN athletica.athlet as at USING(xAthlet)\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tsfat.xStaffelstart = {$row_res['11']}\r\n\t\t\t\t\t\t\t\tAND\tsfat.xRunde = {$sqlRound} \r\n\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\tsfat.Position\r\n\t\t\t\t\t\t\t\tLIMIT {$row['10']}\r\n\t\t\t\t\t\t"); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $text_at = ""; while ($row_at = mysql_fetch_array($res_at)) { $text_at .= $row_at[1] . " " . $row_at[0] . " " . AA_formatYearOfBirth($row_at[2]) . " / "; } $text_at = substr($text_at, 0, strlen($text_at) - 2); $text_at = trim($text_at) != '' ? '(' . $text_at . ')' : ''; $list->printAthletesLine($text_at); } } // // if biglist, show all attempts // if ($biglist) { if ($row[3] == $cfgDisciplineType[$strDiscTypeJump] || $row[3] == $cfgDisciplineType[$strDiscTypeJumpNoWind] || $row[3] == $cfgDisciplineType[$strDiscTypeThrow] || $row[3] == $cfgDisciplineType[$strDiscTypeHigh]) { $query_sort = $row[3] == $cfgDisciplineType[$strDiscTypeHigh] ? "ORDER BY Leistung ASC" : ""; $res_att = mysql_query("\r\n\t\t\t\t\t\t\t\tSELECT * FROM \r\n\t\t\t\t\t\t\t\t\tathletica.resultat \r\n\t\t\t\t\t\t\t\tWHERE xSerienstart = {$row_res['0']}\r\n\t\t\t\t\t\t\t\t" . $query_sort . "\r\n\t\t\t\t\t\t\t\t"); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $text_att = ""; while ($row_att = mysql_fetch_array($res_att)) { if ($row_att['Leistung'] < 0) { $perf3 = $row_att['Leistung']; if ($perf3 == $GLOBALS['cfgMissedAttempt']['db']) { // $perf3 = '-'; $perf3 = $GLOBALS['cfgMissedAttempt']['code']; } elseif ($perf3 == $GLOBALS['cfgMissedAttempt']['dbx']) { $perf3 = $GLOBALS['cfgMissedAttempt']['codeX']; } foreach ($cfgInvalidResult as $value) { if ($value['code'] == $perf3) { $text_att .= $value['short']; } } $text_att .= " / "; } else { $text_att .= $row_att['Leistung'] == '-' ? '-' : AA_formatResultMeter($row_att['Leistung']); if ($saison == "O" || $saison == "I" && $row[3] != $cfgDisciplineType[$strDiscTypeJump]) { // outdoor or (indoor and not jump) if ($row_att['Info'] != "-" && !empty($row_att['Info']) && $row[3] != $cfgDisciplineType[$strDiscTypeThrow]) { if ($row[3] == $cfgDisciplineType[$strDiscTypeHigh]) { $text_att .= " , " . $row_att['Info']; } else { if ($row[8] != 0) { $text_att .= " , " . $row_att['Info']; } } } elseif ($row_att['Info'] == "-" && $row[3] != $cfgDisciplineType[$strDiscTypeThrow] && $row_att['Leistung'] > 0) { $text_att .= " , " . $row_att['Info']; } } $text_att .= " / "; } } $text_att = substr($text_att, 0, strlen($text_att) - 2); $list->printAthletesLine("{$strAttempts}: ( {$text_att} )"); } } } } // ET athlete processed $id = $row_res[0]; // keep current athletes ID if ($relay) { $catM = $row_res[16]; } else { $catM = $row_res[19]; } // keep merged category } // END WHILE result lines mysql_free_result($res); $list->endList(); } // ET DB error result rows $cat = $row[1]; // keep category } // END WHILE event rounds mysql_free_result($results); $list->endPage(); // end HTML page for printing $list->content .= $cfgHtmlFooter; $list->content .= " </div ></div>"; $list->content .= $cfgHtmlEnd; if (!fwrite($fp, $list->content)) { AA_printErrorMsg($GLOBALS['strErrFileWriteFailed']); return; } fclose($fp); } // ET DB error event rounds // will not be uploaded the next time per ftp AA_UpdateStatusChanged($round); }
function AA_results_Tech($round, $layout, $content_navi, $cat, $disc, $rtyp) { require './config.inc.php'; require './config.inc.end.php'; require './lib/common.lib.php'; require './lib/heats.lib.php'; require './lib/utils.lib.php'; $p = "./tmp"; $fp = @fopen($p . "/live" . $round . ".html", 'w'); if (!$fp) { AA_printErrorMsg($GLOBALS['strErrFileOpenFailed']); return; } $svm = AA_checkSVM(0, $round); // decide whether to show club or team name $mergedMain = AA_checkMainRound($round); if ($mergedMain == 1) { $round = AA_getMainRound($round); } // get url $url = ''; $result = mysql_query("\r\n SELECT\r\n url\r\n FROM\r\n athletica_liveResultate.config"); if (mysql_errno() > 0) { AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { $row = mysql_fetch_row($result); $url = $row[0]; } // read round data if ($round > 0) { $status = AA_getRoundStatus($round); $content = $cfgHtmlStart1; if (empty($GLOBALS['cfgDir'])) { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/live" . $round . ".html'>"; } else { $content .= "<meta http-equiv='refresh' content='" . $GLOBALS['cfgMonitorReload'] . "; url=http://" . $url . "/" . $GLOBALS['cfgDir'] . "/live" . $round . ".html'>"; } $content .= $cfgHtmlStart2; $content .= $content_navi; $content .= "</div ><div id='content_pc'><div id='content_pda'>"; $content .= "<h1>{$strStartlist} " . $_COOKIE['meeting'] . "</h1>"; // title if (!empty($rtyp)) { $content .= "<h2>{$cat} {$disc}, {$rtyp}</h2>"; } else { $content .= "<h2>{$cat} {$disc}</h2>"; } $content .= "<table class='dialog'>"; // display all athletes $sql = "SELECT rt.Name" . ", rt.Typ" . ", s.xSerie" . ", s.Bezeichnung" . ", s.Wind" . ", an.Bezeichnung" . ", ss.xSerienstart" . ", ss.Position" . ", ss.Rang" . ", a.Startnummer" . ", at.Name" . ", at.Vorname" . ", at.Jahrgang" . ", if('" . $svm . "', t.Name, IF(a.Vereinsinfo = '', v.Name, a.Vereinsinfo))" . ", LPAD(s.Bezeichnung,5,'0') as heatid" . ", r.Versuche" . ", ss.Qualifikation" . ", at.Land" . ", r.nurBestesResultat" . ", ss.Bemerkung" . ", at.xAthlet" . " FROM athletica.runde AS r" . " LEFT JOIN athletica.serie AS s ON (s.xRunde = r.xRunde)" . " LEFT JOIN athletica.serienstart AS ss ON (ss.xSerie = s.xSerie)" . " LEFT JOIN athletica.start AS st ON (st.xStart = ss.xStart)" . " LEFT JOIN athletica.anmeldung AS a ON (a.xAnmeldung = st.xAnmeldung)" . " LEFT JOIN athletica.athlet AS at ON (at.xAthlet = a.xAthlet)" . " LEFT JOIN athletica.verein AS v ON (v.xVerein = at.xVerein)" . " LEFT JOIN athletica.team AS t ON(a.xTeam = t.xTeam)" . " LEFT JOIN athletica.rundentyp_" . $_COOKIE['language'] . " AS rt" . " ON rt.xRundentyp = r.xRundentyp" . " LEFT JOIN athletica.anlage AS an" . " ON an.xAnlage = s.xAnlage" . " WHERE r.xRunde = " . $round . " ORDER BY heatid, ss.Position"; $result = mysql_query($sql); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } else { // initialize variables $h = 0; $i = 0; $r = 0; $rowclass = 'odd'; $r_rem = 0; ?> <?php while ($row = mysql_fetch_row($result)) { /* * Heat headerline */ if ($h != $row[2]) { $h = $row[2]; // keep heat ID if (is_null($row[0])) { // only one round $title = "{$strFinalround}"; } else { // more than one round if ($row[1] == '0') { $title = ""; } else { $title = "{$row['0']}"; } } $c = 0; $content .= "</table><table class='dialog'>"; if ($title != '') { $content .= "<tr>"; $content .= "<th class='dialog' colspan='6'>" . $title . " " . $row[3] . "</th>"; $content .= "</tr>"; } $content .= "<tr>"; $content .= "<th class='dialog'>" . $strPositionShort . "</th>"; $content .= "<th class='dialog'>" . $strStartnumber . "</th>"; $content .= " <th class='dialog' >" . $strAthlete . "</th>"; $content .= "<th class='dialog_pc'>" . $strYearShort . "</th>"; $content .= "<th class='dialog_pc'>" . $strCountry . "</th>"; $content .= "<th class='dialog_pc'>"; if ($svm) { $content .= $strTeam; } else { $content .= $strClub; } $content .= "</th>"; for ($c = 1; $c <= $row[15]; $c++) { $content .= "<th class='dialog'>" . $c . "</th>"; } $content .= "</tr>"; } // ET new heat /* * Athlete data lines */ $i++; if ($row[7] % 2 == 0) { // even row numer $rowclass = 'odd'; } else { // odd row number $rowclass = 'even'; } $content .= "<tr class='" . $rowclass . "'>"; $content .= "<td class='forms_right'>" . $row[7] . "</td>"; /* position */ $content .= "<td class='forms_right'>" . $row[9] . "</td>"; /* start nbr */ $content .= "<td nowrap>" . $row[10] . " " . $row[11] . "</td>"; /* name */ $content .= "<td class='forms_ctr_pc'>" . AA_formatYearOfBirth($row[12]) . "</td>"; $content .= "<td class='forms_pc'>"; if ($row[17] != '' && $row[17] != '-') { $content .= $row[17]; /* club */ } else { $content .= " "; } $content .= "</td>"; $content .= "<td class='forms_pc' nowrap>" . $row[13] . "</td>"; $res = mysql_query("SELECT rs.xResultat" . ", rs.Leistung" . ", rs.Info" . " FROM athletica.resultat AS rs" . " WHERE rs.xSerienstart = " . $row[6] . "\r\n ORDER BY rs.xResultat"); if (mysql_errno() > 0) { // DB error AA_printErrorMsg(mysql_errno() . ": " . mysql_error()); } for ($c = 1; $c <= $row[15]; $c++) { $item = ''; $perf = ''; $info = ''; if ($resrow = mysql_fetch_row($res)) { $item = $resrow[0]; $perf = AA_formatResultMeter($resrow[1]); $info = $resrow[2]; } if ($perf < 0) { if ($perf == $cfgMissedAttempt['dbx']) { $perf = $cfgInvalidResult['NAA']['code']; } elseif (perf == $cfgMissedAttempt['db']) { $perf = $cfgInvalidResult['WAI']['short']; } else { foreach ($cfgInvalidResult as $value) { if ($value['code'] == $row_res[3]) { $perf = $value['short']; } } } } // technical disciplines with wind if ($layout == $cfgDisciplineType[$strDiscTypeJump]) { $content .= "<td>" . $perf . " (" . $info . ") </td>"; // info = wind } else { $content .= "<td>" . $perf . "</td>"; } } } // end while $content .= "</table>"; $content .= $cfgHtmlFooter; $content .= "</div ></div>"; $content .= $cfgHtmlEnd; if (!fwrite($fp, $content)) { AA_printErrorMsg($GLOBALS['strErrFileWriteFailed']); return; } fclose($fp); mysql_free_result($result); } // ET DB error } // ET round selected AA_UpdateStatusChanged($round); ?> </body> </html> <?php }