$Rs = safe_w_sql($Delete); // calcolo il numero massimo di persone nel team calcMaxTeamPerson(array($_REQUEST['EvCode'])); // cancello le righe di Team per l'evento passato $queries[] = "DELETE FROM Teams WHERE TeTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TeFinEvent=1 AND TeEvent=" . StrSafe_DB($_REQUEST['EvCode']) . " "; // cancello i nomi $queries[] = "DELETE FROM TeamComponent WHERE TcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TcFinEvent=1 AND TcEvent=" . StrSafe_DB($_REQUEST['EvCode']) . " "; // cancello i nomi fin $queries[] = "DELETE FROM TeamFinComponent WHERE TfcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TfcEvent=" . StrSafe_DB($_REQUEST['EvCode']) . " "; // elimino le griglie $queries[] = "DELETE FROM TeamFinals " . "WHERE TfEvent=" . StrSafe_DB($_REQUEST['EvCode']) . " AND TfTournament=" . StrSafe_DB($_SESSION['TourId']) . " "; $Rs = safe_w_sql($Delete); // reset shootoff ResetShootoff($_REQUEST['EvCode'], 1, 0); // teamabs MakeTeamsAbs(null, null, null); header('Location: SetEventRules.php?EvCode=' . $_REQUEST['EvCode']); exit; } $JS_SCRIPT = array('<script type="text/javascript" src="' . $CFG->ROOT_DIR . 'Common/ajax/ObjXMLHttpRequest.js"></script>', '<script type="text/javascript" src="' . $CFG->ROOT_DIR . 'Final/Team/Fun_AJAX_SetEventRules.js"></script>', '<script type="text/javascript" src="' . $CFG->ROOT_DIR . 'Common/Fun_JS.inc.js"></script>', '<script type="text/javascript" src="' . $CFG->ROOT_DIR . 'Final/Team/Fun_JS.js"></script>'); $PAGE_TITLE = get_text('TeamDefinition'); include 'Common/Templates/head.php'; ?> <div align="center"> <div class="medium"> <table class="Tabella" id="MyTable"> <tbody id="tbody"> <tr><th class="Title" colspan="5"><?php print get_text('TeamDefinition'); ?> </th></tr>
/** * Viene chiamata per azzerare gli shootoff delle qualifiche * * @param array int $ids: vettore degli id di cui bisogna azzerare lo shootoof * @param boolean &$error: true se il post processo genera un errore */ private function resetQualsShootOff($ids, &$error) { /* * Se non ci sono ids buoni non ho shootoff, non ho la generazione di nulla * e il post-processing fallisce */ if (count($ids) == 0) { $error = true; return; } // shootoff $query = "UPDATE Events INNER JOIN EventClass ON EvCode=EcCode AND (EvTeamEvent='0' OR EvTeamEvent='1') AND EcTournament=" . $this->getTourId() . " " . "INNER JOIN Entries ON EcDivision=EnDivision AND EcClass=EnClass AND EnId IN(" . join(',', $ids) . ") " . "SET EvShootOff='0' " . "WHERE (EvTeamEvent='0' OR EvTeamEvent='1') AND EvTournament=" . $this->getTourId() . " "; $rs = safe_w_sql($query); set_qual_session_flags(); if (debug) { print $query . '<br><br>'; } // rank e squadre $query = "SELECT CONCAT(EnDivision,EnClass) AS MyEvent, EnCountry as MyTeam,EnDivision,EnClass " . "FROM Entries " . "WHERE EnId IN(" . join(',', $ids) . ") AND EnTournament=" . $this->getTourId() . " "; $rs = safe_r_sql($query); if (debug) { print $query . '<br><br>'; } if (safe_num_rows($rs) > 0) { while ($rr = safe_fetch($rs)) { $Evento = $rr->MyEvent; $Category = $rr->MyEvent; $Societa = $rr->MyTeam; $Div = $rr->EnDivision; $Cl = $rr->EnClass; // rank distanza if (CalcQualRank($this->getDistance(), $Evento)) { $error = true; } else { // rank totale if (CalcQualRank(0, $Evento)) { $error = true; } else { // squadre if (MakeTeams($Societa, $Category)) { $error = true; } else { if (MakeTeamsAbs($Societa, $Div, $Cl)) { $error = true; } } } } } } else { $error = true; } }
$Msg .= get_text('CmdOk') . '<br>'; } else { $Msg .= '<br>'; } } // rank distanza CalcQualRank($Dist, '%'); // rank totale CalcQualRank(0, '%'); // rank abs sulla distanza CalcRank($Dist); // rank abs totale CalcRank(0); // squadre MakeTeams(NULL, NULL); MakeTeamsAbs(NULL, null, null); $Msg .= get_text('CmdImport', 'HTT') . ": " . get_text('CmdOk'); } if (!empty($_SESSION['OvrHost'])) { OvrExport($xSession, $Dist, $LastArr); } } else { $Sql = "SELECT HhtData.* " . "FROM HhtData " . ($team == 0 ? "INNER JOIN Finals ON HdEvent=FinEvent AND HdMatchNo=FinMatchNo AND HdTournament=FinTournament AND HdTeamEvent=0 " : "INNER JOIN TeamFinals ON HdEvent=TfEvent AND HdMatchNo=TfMatchNo AND HdTournament=TfTournament AND HdTeamEvent=1 ") . "WHERE HdFinScheduling=" . StrSafe_DB($when) . " AND HdTeamEvent=" . StrSafe_DB($team) . " AND HdArrowStart=" . StrSafe_DB($FirstArr) . " AND HdTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND HdHhtId=" . StrSafe_DB($_REQUEST['x_Hht']) . " " . "ORDER BY HdTargetNo ASC "; $Rs = safe_r_sql($Sql); if (safe_num_rows($Rs) > 0 && !IsBlocked($team == 0 ? BIT_BLOCK_IND : BIT_BLOCK_TEAM)) { while ($myRow = safe_fetch($Rs)) { UpdateArrowString($myRow->HdMatchNo, $myRow->HdEvent, $myRow->HdTeamEvent, $myRow->HdArrowString, $myRow->HdArrowStart, $myRow->HdArrowEnd); $Msg .= get_text('Importing', 'HTT', substr($myRow->HdTargetNo, 0)) . '...' . get_text('CmdOk') . '<br>'; } } }
} if (count($events4abs) > 0) { if (!Obj_RankFactory::create('Abs', array('events' => $events4abs, 'dist' => 0))->calculate()) { $Errore = 1; } } } if ($Errore == 0) { // se non ho errori calcolo le squadre if (MakeTeams($Societa, $Category)) { $Errore = 1; } } if ($Errore == 0) { // se non ho errori calcolo le squadre assolute if (MakeTeamsAbs($Societa, $Div, $Cl)) { $Errore = 1; } } } } else { $Errore = 1; } } } } } } } else { $Errore = 1; }
<?php /* - MakeTeamsAbs.php - Genera le squadre Assolute */ define('debug', false); // settare a true per l'output di debug require_once dirname(dirname(__FILE__)) . '/config.php'; require_once 'Qualification/Fun_Qualification.local.inc.php'; $Errore = 0; if (!IsBlocked(BIT_BLOCK_QUAL)) { $Errore = MakeTeamsAbs(NULL, null, null); } else { $Errore = 1; } // produco l'xml di ritorno if (!debug) { header('Content-Type: text/xml'); } print '<response>' . "\n"; print '<error>' . $Errore . '</error>' . "\n"; print '<msg><![CDATA[' . get_text('ResultSqAbs', 'Tournament') . "\n" . ($Errore == 1 ? get_text('MakeTeamsError', 'Tournament') : get_text('MakeTeamsOk', 'Tournament')) . ']]></msg>'; print '</response>' . "\n";
function RecalculateShootoffAndTeams($indFEvent, $teamFEvent, $country, $div, $cl, $zero) { $Errore = 0; if ($zero) { return 0; } // scopro se $div e $cl sono per gli atleti $q = "\n\t\tSELECT\n\t\t\t(DivAthlete AND ClAthlete) AS isAth\n\t\tFROM\n\t\t\tDivisions\n\t\t\tINNER JOIN\n\t\t\t\tClasses\n\t\t\tON DivTournament=ClTournament\n\t\tWHERE\n\t\t\tDivTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND (DivAthlete AND ClAthlete)=1\n\t\t\tAND DivId=" . StrSafe_DB($div) . " AND ClId=" . StrSafe_DB($cl) . "\n\t"; //print $q.'<br><br>'; $rs = safe_r_sql($q); if ($rs && safe_num_rows($rs) == 1) { $queries = array(); $date = date('Y-m-d H:i:s'); // shootoff degli individuali a zero (e reset della RankFinal) if ($indFEvent == 1) { $queries[] = "\n\t\t\t\tUPDATE\n\t\t\t\t\tEvents\n\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\tEventClass\n\t\t\t\t\tON EvCode=EcCode AND EvTeamEvent='0' AND EvTournament=EcTournament AND EcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND\n\t\t\t\t\tEcDivision=" . StrSafe_DB($div) . " AND EcClass=" . StrSafe_DB($cl) . "\n\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\tIndividuals\n\t\t\t\t\tON EvCode=IndEvent AND EvTournament=IndTournament AND EvTeamEvent=0 AND EvTournament={$_SESSION['TourId']}\n\t\t\t\tSET\n\t\t\t\t\tEvShootOff='0',\n\t\t\t\t\tEvE1ShootOff='0',\n\t\t\t\t\tEvE2ShootOff='0',\n\t\t\t\t\tIndRankFinal=0,\n\t\t\t\t\tIndTimestampFinal='{$date}'\n\t\t\t"; } // shootoff dei team a zero if ($teamFEvent == 1) { $queries[] = "\n\t\t\t\tUPDATE\n\t\t\t\t\tEvents\n\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\tEventClass\n\t\t\t\t\tON EvCode=EcCode AND EvTeamEvent='1' AND EvTournament=EcTournament AND EcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND\n\t\t\t\t\tEcDivision=" . StrSafe_DB($div) . " AND EcClass=" . StrSafe_DB($cl) . "\n\t\t\t\tSET\n\t\t\t\t\tEvShootOff='0',\n\t\t\t\t\tEvE1ShootOff='0',\n\t\t\t\t\tEvE2ShootOff='0'\n\t\t\t"; } foreach ($queries as $q) { //print $q.'<br><br>'; $rs = safe_w_sql($q); } set_qual_session_flags(); // teams if (MakeTeams($country, $div . $cl)) { $Errore = 1; //print 'team error'; } else { if (MakeTeamsAbs($country, $div, $cl)) { $Errore = 1; //print 'absteam error'; } } } //exit; return $Errore; }