$unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".MAIN.pid"; $pidfileTime = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".MAIN.pid.time"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { system_admin_events("Already process {$pid} exists", __FUNCTION__, __FILE__, __LINE__, "clean"); die; } if (system_is_overloaded()) { system_admin_events("Overloaded system, aborting task", __FUNCTION__, __FILE__, __LINE__, "clean"); } $t = time(); system_admin_events("Starting cleaning ipband table...", __FUNCTION__, __FILE__, __LINE__, "clean"); ipband_clean(); system_admin_events("Starting cleaning events table...", __FUNCTION__, __FILE__, __LINE__, "clean"); CleanEvents(); system_admin_events("Starting cleaning maillog table...", __FUNCTION__, __FILE__, __LINE__, "clean"); clean_maillogs(); system_admin_events("Starting cleaning squid statistics table...", __FUNCTION__, __FILE__, __LINE__, "clean"); clean_squid_stats_dbs(); clean_squid_stats_no_items(); $took = $unix->distanceOfTimeInWords($t, time(), true); system_admin_events("Finish, took {$took}", __FUNCTION__, __FILE__, __LINE__, "clean"); function ipband_clean() { $q = new mysql(); $sock = new sockets(); $array = unserialize(base64_decode($sock->GET_INFO("ipbandClean"))); $MAX_DAY = $array["MAX_DAYS"]; $MAX_ROWS = $array["MAX_ROWS"]; if (!is_numeric($MAX_ROWS)) {
$pdf->PrintFlags = !empty($_REQUEST["ScoreFlags"]); $MyQuery = ""; if (isset($_REQUEST['Blank'])) { $rows = empty($_REQUEST['Rows']) ? 5 : intval($_REQUEST['Rows']); $cols = empty($_REQUEST['Cols']) ? 3 : intval($_REQUEST['Cols']); $sots = empty($_REQUEST['SO']) ? 1 : intval($_REQUEST['SO']); $MyQuery = "(SELECT DISTINCT " . " '' AS EvCode, '' AS EvEventName, '' AS EvFinalFirstPhase, '0' AS GrPhase," . " 0 AS GrMatchNo, '' AS Athlete," . " '' AS CoCode, '' AS CoName, '' AS IndRank, '' AS FSTarget," . " '' AS FinArrowString, '' AS FinTieBreak, EvMatchMode, IF(EvMatchArrowsNo=0,0,1) AS EvMatchArrowsNo, " . " 0 as Score, 0 as FinTie " . " , '{$rows}' CalcEnds " . " , '{$cols}' CalcArrows " . " , '{$sots}' CalcSO " . "FROM Events " . "WHERE EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND EvTeamEvent=0) " . "UNION ALL " . "(SELECT DISTINCT " . " '' AS EvCode, '' AS EvEventName, '' AS EvFinalFirstPhase, '0' AS GrPhase," . " 1 AS GrMatchNo, '' AS Athlete," . " '' AS CoCode, '' AS CoName, '' AS IndRank, '' AS FSTarget," . " '' AS FinArrowString, '' AS FinTieBreak, EvMatchMode, IF(EvMatchArrowsNo=0,0,1) AS EvMatchArrowsNo, " . " 0 as Score, 0 as FinTie " . " , '{$rows}' CalcEnds " . " , '{$cols}' CalcArrows " . " , '{$sots}' CalcSO " . "FROM Events " . "WHERE EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND EvTeamEvent=0) " . "ORDER BY EvMatchMode, EvMatchArrowsNo, GrMatchNo"; } else { $MyQuery = 'SELECT ' . ' EvCode, EvEventName, EvFinalFirstPhase, GrPhase, ' . ' GrMatchNo, CONCAT(EnName, \' \', EnFirstName) as Athlete, FinAthlete,' . ' CoCode, CoName, IF(EvELim2>0, ElRank, IndRank) AS IndRank, FSTarget, ' . ' FinArrowString, FinTieBreak, FinSetScore, EvMatchMode, EvMatchArrowsNo, ' . ' IF(EvMatchMode=0,FinScore,FinSetScore) AS Score, FinTie, @elimination:=pow(2, ceil(log2(GrPhase))+1) & EvMatchArrowsNo ' . " , if(@elimination, EvElimEnds, EvFinEnds) CalcEnds " . " , if(@elimination, EvElimArrows, EvFinArrows) CalcArrows " . " , if(@elimination, EvElimSO, EvFinSO) CalcSO " . ' FROM Events' . ' INNER JOIN Finals ON EvCode=FinEvent AND EvTournament=FinTournament' . ' INNER JOIN Grids ON FinMatchNo=GrMAtchNo AND GrPhase<=(IF(EvFinalFirstPhase=24,32, IF(EvFinalFirstPhase=48,64,EvFinalFirstPhase )))' . ' LEFT JOIN Individuals ON FinAthlete=IndId AND FinEvent=IndEvent AND FinTournament=IndTournament' . ' LEFT JOIN Entries ON FinAthlete=EnId AND FinTournament=EnTournament' . ' LEFT JOIN Qualifications ON QuId=EnId' . ' LEFT JOIN Eliminations ON ElId=EnId AND ElElimPhase=1' . ' LEFT JOIN Countries on EnCountry=CoId AND EnTournament=CoTournament' . ' LEFT JOIN FinSchedule ON FinEvent=FSEvent AND FinMatchNo=FSMatchNo AND FinTournament=FSTournament AND FSTeamEvent=\'0\'' . ' WHERE EvTournament=' . StrSafe_DB($_SESSION['TourId']) . ' AND EvTeamEvent=0 '; if (isset($_REQUEST['x_Session']) && $_REQUEST['x_Session'] != -1) { $MyQuery .= "AND concat(FSTeamEvent, FSScheduledDate, ' ', FSScheduledTime)=" . strSafe_DB($_REQUEST['x_Session']) . " "; $OrderBy = 'FsTarget, '; } else { $OrderBy = ''; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], "EvCode") . " "; } if (isset($_REQUEST['Phase']) && preg_match("/^[0-9]{1,2}\$/i", $_REQUEST["Phase"])) { $p = $_REQUEST['Phase']; // print $p;exit; if ($p == 24) { $p = 32; } elseif ($p == 48) { $p = 64; } $MyQuery .= "AND GrPhase = {$p} "; //. StrSafe_DB($_REQUEST['Phase']) . " "; //$MyQuery.= "AND GrPhase = " . StrSafe_DB($_REQUEST['Phase']) . " "; } } $MyQuery .= ' ORDER BY ' . $OrderBy . ' EvCode, GrPhase DESC, FinMatchNo ASC';
function getIndividualBracketsQuery($ORIS = false) { if ($ORIS) { $MyQuery = "SELECT f.FinEvent AS Event, EvEventName AS EventDescr, f.FinMatchNo, EvFinalFirstPhase, " . "IF(GrPhase!=0,GrPhase,1) as Phase, (GrPhase=1) as Finalina, IndRank, QuScore, " . "EnFirstName as FirstName, EnName as Name, CoCode as Country, IF(EvMatchMode=0,f.FinScore,f.FinSetScore) AS Score, f.FinTie, f.FinTiebreak, IF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) as OppScore, f2.FinTie as OppTie, f.FinSetPoints as SetPoints, " . "IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) GrPosition, EvFinalPrintHead, FSTarget, DATE_FORMAT(FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate, DATE_FORMAT(FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime "; $MyQuery .= "FROM Finals AS f "; $MyQuery .= "INNER JOIN Finals AS f2 ON f.FinEvent=f2.FinEvent AND f.FinMatchNo=IF((f.FinMatchNo % 2)=0,f2.FinMatchNo-1,f2.FinMatchNo+1) AND f.FinTournament=f2.FinTournament "; $MyQuery .= "INNER JOIN Events ON f.FinEvent=EvCode AND f.FinTournament=EvTournament AND EvTeamEvent=0 "; $MyQuery .= "INNER JOIN Grids ON f.FinMatchNo=GrMatchNo "; $MyQuery .= "LEFT JOIN Individuals ON f.FinAthlete=IndId AND f.FinEvent=IndEvent AND f.FinTournament=IndTournament "; $MyQuery .= "LEFT JOIN Entries ON f.FinAthlete=EnId AND f.FinTournament=EnTournament "; $MyQuery .= "LEFT JOIN Qualifications ON EnId=QuId "; $MyQuery .= "LEFT JOIN Countries ON EnCountry=CoId AND EnTournament=CoTournament "; $MyQuery .= "LEFT JOIN FinSchedule ON f.FinEvent=FSEvent AND f.FinMatchNo=FSMatchNo AND f.FinTournament=FSTournament AND FSTeamEvent='0' "; $MyQuery .= "WHERE f.FinTournament = " . StrSafe_DB($_SESSION['TourId']) . " "; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], 'f.FinEvent'); } $MyQuery .= "ORDER BY EvProgr ASC, EvCode, Phase DESC, f.FinMatchNo ASC "; return $MyQuery; } $MyQuery = "SELECT f.FinEvent AS Event, EvEventName AS EventDescr, f.FinMatchNo, EvFinalFirstPhase, " . "IF(GrPhase!=0,GrPhase,1) as Phase, (GrPhase=1) as finalina, " . "f.FinSetPoints, f2.FinSetPoints OppSetPoints, " . "concat(EnFirstName, ' ', EnName) as Atleta, concat(EnFirstName, ' ', Substr(EnName,1,1), '.') as AtletaShort, CoCode as Country, " . "IF(EvMatchMode=0,f.FinScore,f.FinSetScore) AS Score, IF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) AS OppScore, f.FinTie, f2.FinTie as OppTie, f.FinTiebreak, " . "IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24, GrPosition2, GrPosition) as GrPosition, EvFinalPrintHead, FSTarget, DATE_FORMAT(FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate, DATE_FORMAT(FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime "; $MyQuery .= "FROM Finals as f "; $MyQuery .= "INNER JOIN Finals AS f2 ON f.FinEvent=f2.FinEvent AND f.FinMatchNo=IF((f.FinMatchNo % 2)=0,f2.FinMatchNo-1,f2.FinMatchNo+1) AND f.FinTournament=f2.FinTournament "; $MyQuery .= "INNER JOIN Events ON f.FinEvent=EvCode AND f.FinTournament=EvTournament AND EvTeamEvent=0 "; $MyQuery .= "INNER JOIN Grids ON f.FinMatchNo=GrMatchNo "; $MyQuery .= "LEFT JOIN Entries ON f.FinAthlete=EnId AND f.FinTournament=EnTournament "; $MyQuery .= "LEFT JOIN Countries ON EnCountry=CoId AND EnTournament=CoTournament "; $MyQuery .= "LEFT JOIN FinSchedule ON f.FinEvent=FSEvent AND f.FinMatchNo=FSMatchNo AND f.FinTournament=FSTournament AND FSTeamEvent='0' "; $MyQuery .= "WHERE f.FinTournament = " . StrSafe_DB($_SESSION['TourId']) . " "; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], 'f.FinEvent'); } $MyQuery .= "ORDER BY EvProgr ASC, EvCode, Phase DESC, f.FinMatchNo ASC "; return $MyQuery; }
$_REQUEST['BigNames'] = true; $_REQUEST['TargetAssign'] = false; $MyQuery = "SELECT " . " '' EvCode, '' EvEventName, '' EvFinalFirstPhase, '' GrPhase, " . " '' TfTarget, '' GrMatchNo, " . " FlCode CoCode, concat(FlCode,' ', IF(co.CoName,co.CoName,'TEST')) Athlete, 1 AS Rank, 'test1|test2|test3' CoName, " . " '' s8, '' s4, '' s2, '' sBr, '' sGo " . " FROM Flags " . " left join (select CoCode, CoName from Countries group by CoCode) co on CoCode=FlCode " . " Where FlSVG>'' and FlTournament=-1 " . (!empty($_REQUEST['checked']) ? " and FlChecked='1'" : '') . (!empty($_REQUEST['unchecked']) ? " and FlChecked!='1'" : '') . " order by FlCode " . (!empty($_REQUEST['nolimit']) ? '' : " limit 10 "); } elseif (!empty($_REQUEST['TeamLabel'])) { $_REQUEST['BigNames'] = true; $_REQUEST['TargetAssign'] = false; $MyQuery = "SELECT distinct " . " '' EvCode, '' EvEventName, '' EvFinalFirstPhase, '' GrPhase, " . " '' TfTarget, '' GrMatchNo, " . " CoCode, Countries.CoName Athlete, 1 AS Rank, 'test1|test2|test3' CoName, " . " fl.FlSVG, fl.FlJPG, " . " '' s8, '' s4, '' s2, '' sBr, '' sGo " . " FROM Countries " . " INNER JOIN Entries on EnCountry=CoId " . " left join (select FlCode, FlSVG, FlJPG from Flags where FlTournament=-1 or FlTournament={$_SESSION['TourId']}) fl on CoCode=FlCode " . " Where CoTournament={$_SESSION['TourId']} " . " order by CoCode "; $TeamLeaf = true; } else { $MyQuery = 'SELECT ' . ' EvCode, EvEventName, EvFinalFirstPhase, GrPhase, ' . ' TfTarget, GrMatchNo, ' . ' CoCode, CoName Athlete, TeRank AS Rank, group_concat(concat(upper(EnFirstname), " ", EnName) separator "|") CoName, ' . ' NULLIF(s8.FSTarget,\'\') s8, NULLIF(s4.FSTarget,\'\') s4, NULLIF(s2.FSTarget,\'\') s2, NULLIF(sb.FSTarget,\'\') sBr, NULLIF(sg.FSTarget,\'\') sGo ' . ' ' . ' FROM Events' . ' INNER JOIN TeamFinals ON EvCode=TfEvent AND EvTournament=TfTournament ' . ' INNER JOIN Grids ON TfMatchNo=GrMatchNo /* AND GrPhase<=EvFinalFirstPhase */ ' . ' LEFT JOIN Teams ON TfTeam=TeCoId AND TfTournament=TeTournament AND TfEvent=TeEvent and TfSubTeam=TeSubTeam AND TeFinEvent=1 ' . ' LEFT JOIN Countries on TfTeam=CoId AND TfTournament=CoTournament' . ' left join TeamFinComponent on TfcCoId=CoId and TfcSubTeam=TeSubTeam and TfcTournament=EvTournament and TfcEvent=EvCode ' . ' left join Entries on TfcId=EnId ' . ' LEFT JOIN FinSchedule s8 ON EvCode=s8.FSEvent AND EvTeamEvent=s8.FSTeamEvent AND EvTournament=s8.FSTournament AND IF(EvFinalFirstPhase=8,TfMatchNo,-256)=s8.FSMatchNo' . ' LEFT JOIN FinSchedule s4 ON EvCode=s4.FSEvent AND EvTeamEvent=s4.FSTeamEvent AND EvTournament=s4.FSTournament AND IF(EvFinalFirstPhase=4,TfMatchNo,FLOOR(s8.FSMatchNo/2))=s4.FSMatchNo' . ' LEFT JOIN FinSchedule s2 ON EvCode=s2.FSEvent AND EvTeamEvent=s2.FSTeamEvent AND EvTournament=s2.FSTournament AND IF(EvFinalFirstPhase=2,TfMatchNo,FLOOR(s4.FSMatchNo/2))=s2.FSMatchNo' . ' LEFT JOIN FinSchedule sb ON EvCode=sb.FSEvent AND EvTeamEvent=sb.FSTeamEvent AND EvTournament=sb.FSTournament AND FLOOR(s2.FSMatchNo/2)=sb.FSMatchNo' . ' LEFT JOIN FinSchedule sg ON EvCode=sg.FSEvent AND EvTeamEvent=sg.FSTeamEvent AND EvTournament=sg.FSTournament AND FLOOR(s2.FSMatchNo/2)-2=sg.FSMatchNo' . ' WHERE EvTournament=' . StrSafe_DB($_SESSION['TourId']) . ' AND EvTeamEvent=1 '; $MyQuery .= ' AND EvFinalFirstPhase=GrPhase '; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], 'EvCode') . ' '; } if (isset($_REQUEST['Phase']) && preg_match("/^[0-9]{1,2}\$/i", $_REQUEST["Phase"])) { $MyQuery .= ' AND (TfEvent, TfTeam, TfSubTeam) IN (SELECT DISTINCT TfEvent,TfTeam, TfSubTeam FROM TeamFinals INNER JOIN Grids ON TfMatchNo=GrMatchNo WHERE TfTournament=' . $_SESSION['TourId'] . ' and grPhase=' . $_REQUEST['Phase'] . (!empty($_REQUEST['Event']) ? CleanEvents($_REQUEST['Event'], 'TfEvent') : '') . ')'; } $MyQuery .= ' Group By EvCode, GrPhase, TfMatchNo '; $MyQuery .= ' ORDER BY EvCode, GrPhase DESC, TfMatchNo ASC, TfcOrder'; // debug_svela($MyQuery, true); } //*DEBUG*/echo $MyQuery;exit(); $Rs = safe_r_sql($MyQuery); // Se il Recordset � valido e contiene almeno una riga if (safe_num_rows($Rs) > 0) { if (!empty($_REQUEST['BigNames'])) { require_once 'Common/Fun_FormatText.inc.php'; require_once 'Common/pdf/BigNamesPDF.inc.php'; $pdf = new BigNamesPDF(get_text('Sign/guide-board', 'Tournament'), false); if (!empty($_REQUEST['TestCountries'])) { $pdf->setPrintHeader(false);
$MyQuery .= "INNER JOIN Teams AS te ON t.ToId=te.TeTournament AND te.TeFinEvent=0 "; $MyQuery .= "INNER JOIN Countries AS c ON te.TeCoId=c.CoId AND te.TeTournament=c.CoTournament "; $MyQuery .= "INNER JOIN (SELECT TcCoId, TcEvent, TcTournament, TcFinEvent, COUNT(TcId) as Quanti FROM TeamComponent GROUP BY TcCoId, TcEvent, TcTournament, TcFinEvent) AS sq ON te.TeCoId=sq.TcCoId AND te.TeEvent=sq.TcEvent AND te.TeTournament=sq.TcTournament AND te.TeFinEvent=sq.TcFinEvent "; $MyQuery .= "INNER JOIN TeamComponent AS tc ON te.TeCoId=tc.TcCoId AND te.TeEvent=tc.TcEvent AND te.TeTournament=tc.TcTournament AND te.TeFinEvent=tc.TcFinEvent "; $MyQuery .= "INNER JOIN Entries AS en ON tc.TcId=en.EnId "; $MyQuery .= "INNER JOIN Qualifications AS q ON en.EnId=q.QuId "; $MyQuery .= "INNER JOIN (select concat(DivId, ClId) DivClass, Divisions.*, Classes.* from Divisions inner join Classes on DivTournament=ClTournament where DivAthlete and ClAthlete) DivClass on te.TeEvent=DivClass and te.TeTournament=DivTournament "; $MyQuery .= "WHERE ToId = " . StrSafe_DB($_SESSION['TourId']) . " "; if (isset($_REQUEST["Definition"])) { $MyQuery .= "AND te.TeEvent LIKE " . StrSafe_DB($_REQUEST["Definition"]) . " "; } if (isset($_REQUEST["Classes"])) { $MyQuery .= CleanEvents($_REQUEST["Classes"], 'ClId'); } if (isset($_REQUEST["Divisions"])) { $MyQuery .= CleanEvents($_REQUEST["Classes"], 'DivId'); } $MyQuery .= "ORDER BY DivViewOrder, ClViewOrder, TeScore DESC, TeGold DESC, TeXnine DESC, NationCode, TcOrder "; //debug_svela($MyQuery); //echo $MyQuery;exit(); $Rs = safe_r_sql($MyQuery); if ($Rs) { $CurGroup = "...."; $CurTeam = "...."; // Variabili per la gestione del ranking $MyRank = 1; $MyPos = 0; // Variabili che contengono i punti del precedente atleta per la gestione del rank $MyScoreOld = 0; $MyGoldOld = 0; $MyXNineOld = 0;
// if (isset($_REQUEST['Phase']) && preg_match("/^[0-9]{1,2}$/i",$_REQUEST["Phase"])) // $MyQuery.= "AND GrPhase = " . StrSafe_DB($_REQUEST['Phase']) . " "; // $MyQuery .= ' ORDER BY EvCode, GrPhase DESC, FinMatchNo ASC'; $MyQuery = 'SELECT ' . ' EvCode, EvEventName, EvFinalFirstPhase, GrPhase, ' . ' GrMatchNo, EnId, Concat(EnFirstName, " ", LEFT(EnName,1), ".") as Athlete, ' . ' CoCode, CoName, IndRank as Rank, ' . ' NULLIF(s64.FSLetter,\'\') s64, NULLIF(s32.FSLetter,\'\') s32, NULLIF(s16.FSLetter,\'\') s16, NULLIF(s8.FSLetter,\'\') s8, NULLIF(s4.FSLetter,\'\') s4, NULLIF(s2.FSLetter,\'\') s2, NULLIF(sb.FSLetter,\'\') sBr, NULLIF(sg.FSLetter,\'\') sGo ' . ' FROM Events' . ' INNER JOIN Finals ON EvCode=FinEvent AND EvTournament=FinTournament' . ' INNER JOIN Grids ON FinMatchNo=GrMatchNo AND GrPhase=(IF(EvFinalFirstPhase=24,32, IF(EvFinalFirstPhase=48,64,EvFinalFirstPhase )))' . ' INNER JOIN Individuals ON FinAthlete=IndId AND FinEvent=IndEvent AND FinTournament=IndTournament' . ' LEFT JOIN Entries ON FinAthlete=EnId AND FinTournament=EnTournament' . ' LEFT JOIN Qualifications ON QuId=EnId' . ' LEFT JOIN Countries on EnCountry=CoId AND EnTournament=CoTournament' . ' LEFT JOIN FinSchedule s64 ON EvCode=s64.FSEvent AND EvTeamEvent=s64.FSTeamEvent AND EvTournament=s64.FSTournament AND IF(EvFinalFirstPhase=64 OR EvFinalFirstPhase=48 ,FinMatchNo,-256)=s64.FSMatchNo' . ' LEFT JOIN FinSchedule s32 ON EvCode=s32.FSEvent AND EvTeamEvent=s32.FSTeamEvent AND EvTournament=s32.FSTournament AND IF(EvFinalFirstPhase=32 OR EvFinalFirstPhase=24,FinMatchNo,FLOOR(s64.FSMatchNo/2))=s32.FSMatchNo' . ' LEFT JOIN FinSchedule s16 ON EvCode=s16.FSEvent AND EvTeamEvent=s16.FSTeamEvent AND EvTournament=s16.FSTournament AND IF(EvFinalFirstPhase=16,FinMatchNo,FLOOR(s32.FSMatchNo/2))=s16.FSMatchNo' . ' LEFT JOIN FinSchedule s8 ON EvCode=s8.FSEvent AND EvTeamEvent=s8.FSTeamEvent AND EvTournament=s8.FSTournament AND IF(EvFinalFirstPhase=8,FinMatchNo,FLOOR(s16.FSMatchNo/2))=s8.FSMatchNo' . ' LEFT JOIN FinSchedule s4 ON EvCode=s4.FSEvent AND EvTeamEvent=s4.FSTeamEvent AND EvTournament=s4.FSTournament AND IF(EvFinalFirstPhase=4,FinMatchNo,FLOOR(s8.FSMatchNo/2))=s4.FSMatchNo' . ' LEFT JOIN FinSchedule s2 ON EvCode=s2.FSEvent AND EvTeamEvent=s2.FSTeamEvent AND EvTournament=s2.FSTournament AND IF(EvFinalFirstPhase=2,FinMatchNo,FLOOR(s4.FSMatchNo/2))=s2.FSMatchNo' . ' LEFT JOIN FinSchedule sb ON EvCode=sb.FSEvent AND EvTeamEvent=sb.FSTeamEvent AND EvTournament=sb.FSTournament AND FLOOR(s2.FSMatchNo/2)=sb.FSMatchNo' . ' LEFT JOIN FinSchedule sg ON EvCode=sg.FSEvent AND EvTeamEvent=sg.FSTeamEvent AND EvTournament=sg.FSTournament AND FLOOR(s2.FSMatchNo/2)-2=sg.FSMatchNo' . ' WHERE EvTournament=' . StrSafe_DB($_SESSION['TourId']) . ' AND EvTeamEvent=0 '; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], 'EvCode') . ' '; } if (isset($_REQUEST['Phase']) && preg_match("/^[0-9]{1,2}\$/i", $_REQUEST["Phase"])) { $p = $_REQUEST['Phase']; // print $p;exit; if ($p == 24) { $p = 32; } elseif ($p == 48) { $p = 64; } $MyQuery .= 'AND EnId IN (SELECT DISTINCT FinAthlete FROM Finals INNER JOIN Grids ON FinMatchNo=GrMatchNo WHERE FinTournament=' . $_SESSION['TourId'] . ' and grPhase=' . $p . (!empty($_REQUEST['Event']) ? CleanEvents($_REQUEST['Event'], 'EvCode') : '') . ')'; } $MyQuery .= ' ORDER BY EvCode, GrPhase DESC, FinMatchNo ASC'; //*DEBUG*/echo $MyQuery;exit(); $Rs = safe_r_sql($MyQuery); // Se il Recordset è valido e contiene almeno una riga if (safe_num_rows($Rs) > 0) { // debug_svela($MyQuery); if (!empty($_REQUEST['BigNames'])) { require_once 'Common/Fun_FormatText.inc.php'; require_once 'Common/pdf/BigNamesPDF.inc.php'; $pdf = new BigNamesPDF(get_text('Sign/guide-board', 'Tournament'), false); $pdf->init($Rs); $pdf->TargetAssignment = !empty($_REQUEST['TargetAssign']); $pdf->IncludeLogo = !empty($_REQUEST['IncludeLogo']); $pdf->Make();
<?php require_once dirname(dirname(__FILE__)) . '/config.php'; include_once 'Common/pdf/OrisPDF.inc.php'; $pdf = new OrisPDF(get_text('DailySchedule', 'Tournament'), false); //Genero la query $MyQuery = "SELECT f.FinEvent AS Event, " . " EvEventName AS EventDescr," . " f.FinMatchNo," . " EvFinalFirstPhase, " . " IF(GrPhase!=0,GrPhase,1) as Phase, " . " (GrPhase=1) as Finalina, " . " I1.IndRank as Rank, " . " Q1.QuScore, " . " E1.EnFirstName as FirstName, " . " E1.EnName as Name, " . " C1.CoCode as Country, " . " I2.IndRank OppRank, " . " Q2.QuScore OppQuScore, " . " E2.EnFirstName as OppFirstName, " . " E2.EnName as OppName, " . " C2.CoCode as OppCountry, " . " IF(EvMatchMode=0,f.FinScore,f.FinSetScore) AS Score, " . " f.FinTie," . " f.FinTiebreak," . " IF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) as OppScore," . " f2.FinTie as OppTie," . " f.FinSetPoints as SetPoints, " . " GrPosition," . " EvFinalPrintHead," . " fs1.FSTarget," . " fs2.FSTarget OppFSTarget," . " DATE_FORMAT(fs1.FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate," . " DATE_FORMAT(fs1.FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime " . "FROM Finals AS f " . "INNER JOIN Finals AS f2 ON f.FinEvent=f2.FinEvent AND f.FinMatchNo=f2.FinMatchNo-1 AND f.FinTournament=f2.FinTournament " . "INNER JOIN Events ON f.FinEvent=EvCode AND f.FinTournament=EvTournament AND EvTeamEvent=0 " . "INNER JOIN Grids ON f.FinMatchNo=GrMatchNo " . "INNER JOIN Entries E1 ON f.FinAthlete=E1.EnId AND f.FinTournament=E1.EnTournament " . "INNER JOIN Qualifications Q1 ON E1.EnId=Q1.QuId " . "INNER JOIN Individuals I1 ON I1.IndId=f.FinAthlete AND I1.IndEvent=f.FinEvent AND I1.IndTournament=f.FinTournament " . "INNER JOIN Countries C1 ON E1.EnCountry=C1.CoId AND E1.EnTournament=C1.CoTournament " . "INNER JOIN Entries E2 ON f2.FinAthlete=E2.EnId AND f2.FinTournament=E2.EnTournament " . "INNER JOIN Qualifications Q2 ON E2.EnId=Q2.QuId " . "INNER JOIN Individuals I2 ON I2.IndId=f2.FinAthlete AND I2.IndEvent=f2.FinEvent AND I2.IndTournament=f2.FinTournament " . "INNER JOIN Countries C2 ON E2.EnCountry=C2.CoId AND E2.EnTournament=C2.CoTournament " . "INNER JOIN FinSchedule fs1 ON f.FinEvent=fs1.FSEvent AND f.FinMatchNo=fs1.FSMatchNo AND f.FinTournament=fs1.FSTournament AND fs1.FSTeamEvent='0' " . "INNER JOIN FinSchedule fs2 ON f.FinEvent=fs2.FSEvent AND f.FinMatchNo=fs2.FSMatchNo AND f.FinTournament=fs2.FSTournament AND fs2.FSTeamEvent='0' " . "WHERE f.FinTournament = " . StrSafe_DB($_SESSION['TourId']) . " " . " AND f.FinMatchNo%2 = 0 "; if (!empty($_REQUEST['Event'])) { $MyQuery .= CleanEvents($_REQUEST['Event'], 'f.FinEvent'); } $MyQuery .= "ORDER BY fs1.FSScheduledDate, fs1.FSScheduledTime, EvProgr ASC, EvCode, Phase DESC, f.FinMatchNo ASC "; //$MyQuery = "($MyQuery) union ("; $Rs = safe_r_sql($MyQuery); $pdf->SetMargins(10, 35, 10); $pdf->AddPage(); $W = $pdf->getPageWidth(); $W = ($W - 100 - 20) / 2; $pdf->SetLineWidth(0.1); $pdf->SetFontSize(15); $pdf->SetFont('', 'b'); $pdf->Cell($pdf->getPageWidth() - 20, 5, get_text('DailySchedule', 'Tournament'), 0, 1, 'C'); $pdf->sety($pdf->gety() + 5); $pdf->SetFontSize(10); $oldDate = ''; $oldTime = ''; $oldEvent = ''; $oldPhase = ''; $Date = ''; $Time = ''; $Event = ''; $Phase = '';
public function read() { $filter = $this->safeFilter(); error_reporting(E_ALL); /* * prima passata per costruire la struttura del vettore. * Tiro fuori i nomi delle squadre */ $MyQueryNames = "SELECT TfcId, TfcEvent, TfcCoId, TfcSubTeam, TfcOrder, ucase(EnFirstName) EnUpperName, EnFirstName, EnName, concat(ucase(EnFirstName), ' ', EnName) Athlete, CONCAT(TeRank,CHAR(64+TfcOrder)) AS BackNo "; $MyQueryNames .= "FROM TeamFinComponent "; $MyQueryNames .= "INNER JOIN Events ON TfcEvent=EvCode AND TfcTournament=EvTournament AND EvTeamEvent=1 AND EvFinalFirstPhase!=0 "; $MyQueryNames .= "INNER JOIN Entries ON TfcId=EnId AND TfcTournament=EnTournament "; $MyQueryNames .= "INNER JOIN Teams ON TfcCoId=TeCoId AND TfcSubTeam=TeSubTeam AND TfcEvent=TeEvent AND TfcTournament=TeTournament AND TeFinEvent=1 "; $MyQueryNames .= "WHERE TfcTournament = " . $this->tournament . " "; if (!empty($this->opts['events'])) { $MyQueryNames .= CleanEvents($this->opts['events'], 'TfcEvent'); } $MyQueryNames .= " ORDER BY EvProgr, TfcEvent, TfcCoId, TfcSubTeam, TfcOrder "; $this->data['sections'] = array(); $q = safe_r_SQL($MyQueryNames); while ($r = safe_fetch($q)) { $this->data['sections'][$r->TfcEvent]['athletes'][$r->TfcCoId][$r->TfcSubTeam][] = array('athlete' => $r->Athlete, 'backNo' => $r->BackNo, 'id' => $r->TfcId, 'familyName' => $r->EnFirstName, 'familyUpperName' => $r->EnUpperName, 'givenName' => $r->EnName); if (!empty($this->opts['enid']) and $r->TfcId == $this->opts['enid']) { $this->EnIdFound[] = $r->TfcEvent; $this->TeamFound = $r->TfcCoId; } } if (!empty($this->opts['enid'])) { if (!$this->EnIdFound) { return; } foreach ($this->data['sections'] as $ev => $data) { if (!in_array($ev, $this->EnIdFound)) { unset($this->data['sections'][$ev]); } } } $q = "SELECT * from (" . "select" . " EvCode Event," . " EvEventName EventDescr," . " EvFinalFirstPhase," . " EvMaxTeamPerson," . " EvFinalPrintHead," . " EvMatchMode," . " EvProgr," . " EvShootOff," . " GrPhase Phase," . " IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) Position," . " TfTournament Tournament," . " TfTeam Team," . " TfSubTeam SubTeam," . " TfMatchNo MatchNo," . " TeRank QualRank," . " TeRankFinal FinRank," . " TeScore QualScore, " . " TfWinLose Winner, " . " TfDateTime LastUpdated, " . " CONCAT(CoName, IF(TfSubTeam>'1',CONCAT(' (',TfSubTeam,')'),'')) as CountryName," . " CoCode as CountryCode," . " TfScore AS Score," . " TfSetScore as SetScore," . " TfTie Tie," . " TfTieBreak TieBreak," . " TfStatus Status, " . " TfSetPoints SetPoints, " . " TfArrowstring arrowstring, TfLive LiveFlag," . " FSTarget Target," . " TarId, TarDescr, EvDistance as Distance, EvTargetSize as TargetSize, " . "\tEvFinEnds, EvFinArrows, EvFinSO, EvElimEnds, EvElimArrows, EvElimSO, " . " DATE_FORMAT(FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate," . " DATE_FORMAT(FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime " . " FROM TeamFinals " . " INNER JOIN Events ON TfEvent=EvCode AND TfTournament=EvTournament AND EvTeamEvent=1 AND EvFinalFirstPhase!=0 " . " INNER JOIN Grids ON TfMatchNo=GrMatchNo " . " INNER JOIN Targets ON EvFinalTargetType=TarId " . " LEFT JOIN Teams ON TfTeam=TeCoId AND TfSubTeam=TeSubTeam AND TfEvent=TeEvent AND TfTournament=TeTournament AND TeFinEvent=1 " . " LEFT JOIN Countries ON TfTeam=CoId AND TfTournament=CoTournament " . " LEFT JOIN FinSchedule ON TfEvent=FSEvent AND TfMatchNo=FSMatchNo AND TfTournament=FSTournament AND FSTeamEvent='1' " . " WHERE TfMatchNo%2=0 AND TfTournament = " . $this->tournament . " " . $filter . ") f1 inner join (" . "select" . " EvCode OppEvent," . " IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) OppPosition," . " TfTournament OppTournament," . " TfTeam OppTeam," . " TfSubTeam OppSubTeam," . " TfMatchNo OppMatchNo," . " TeRank OppQualRank," . " TeRankFinal OppFinRank," . " TeScore OppQualScore, " . " TfWinLose OppWinner, " . " TfDateTime OppLastUpdated, " . " CONCAT(CoName, IF(TfSubTeam>'1',CONCAT(' (',TfSubTeam,')'),'')) as OppCountryName," . " CoCode as OppCountryCode," . " TfScore AS OppScore," . " TfSetScore as OppSetScore," . " TfTie OppTie," . " TfTieBreak OppTieBreak," . " TfStatus OppStatus, " . " TfSetPoints OppSetPoints, " . " TfArrowstring oppArrowstring, " . " FSTarget OppTarget " . " FROM TeamFinals " . " INNER JOIN Events ON TfEvent=EvCode AND TfTournament=EvTournament AND EvTeamEvent=1 AND EvFinalFirstPhase!=0 " . " INNER JOIN Grids ON TfMatchNo=GrMatchNo " . " LEFT JOIN Teams ON TfTeam=TeCoId AND TfSubTeam=TeSubTeam AND TfEvent=TeEvent AND TfTournament=TeTournament AND TeFinEvent=1 " . " LEFT JOIN Countries ON TfTeam=CoId AND TfTournament=CoTournament " . " LEFT JOIN FinSchedule ON TfEvent=FSEvent AND TfMatchNo=FSMatchNo AND TfTournament=FSTournament AND FSTeamEvent='1' " . " WHERE TfMatchNo%2=1 AND TfTournament = " . $this->tournament . " " . $filter . ") f2 on Tournament=OppTournament and Event=OppEvent and MatchNo=OppMatchNo-1 " . ($this->EnIdFound ? ' where Event in ("' . implode('","', $this->EnIdFound) . '") AND (Team=' . StrSafe_DB($this->TeamFound) . ' or oppTeam=' . StrSafe_DB($this->TeamFound) . ')' : '') . (empty($this->opts['coid']) ? '' : " where (Team=" . intval($this->opts['coid']) . " or OppTeam=" . intval($this->opts['coid']) . ") ") . (isset($this->opts['matchno']) ? " where MatchNo=" . intval($this->opts['matchno']) . ' ' : '') . (isset($this->opts['liveFlag']) ? " where LiveFlag=1 " : '') . " ORDER BY EvProgr ASC, event, Phase DESC, MatchNo ASC "; $r = safe_r_sql($q); $this->data['meta']['title'] = get_text('BracketsSq'); $this->data['meta']['lastUpdate'] = '0000-00-00 00:00:00'; $this->data['meta']['fields'] = array('scheduledDate' => get_text('Date', 'Tournament'), 'scheduledTime' => get_text('Time', 'Tournament'), 'winner' => get_text('Winner'), 'matchNo' => get_text('MatchNo'), 'bib' => get_text('Code', 'Tournament'), 'target' => get_text('Target'), 'athlete' => get_text('Athlete'), 'familyname' => get_text('FamilyName', 'Tournament'), 'givenname' => get_text('Name', 'Tournament'), 'countryCode' => '', 'countryName' => get_text('Country'), 'countryIocCode' => '', 'qualRank' => get_text('RankScoreShort'), 'finRank' => get_text('FinalRank', 'Tournament'), 'qualscore' => get_text('TotalShort', 'Tournament'), 'score' => get_text('TotalShort', 'Tournament'), 'setScore' => get_text('SetTotal', 'Tournament'), 'setPoints' => get_text('SetPoints', 'Tournament'), 'tie' => 'S.O.', 'arrowstring' => get_text('Arrows', 'Tournament'), 'tiebreak' => get_text('TieArrows'), 'status' => get_text('Status', 'Tournament'), 'oppMatchNo' => get_text('MatchNo'), 'oppBib' => get_text('Code', 'Tournament'), 'oppTarget' => get_text('Target'), 'oppAthlete' => get_text('Athlete'), 'oppFamilyname' => get_text('FamilyName', 'Tournament'), 'oppGivenname' => get_text('Name', 'Tournament'), 'oppCountryCode' => '', 'oppCountryName' => get_text('Country'), 'oppCountryIocCode' => '', 'oppQualRank' => get_text('RankScoreShort'), 'oppFinRank' => get_text('FinalRank', 'Tournament'), 'oppQualScore' => get_text('TotalShort', 'Tournament'), 'oppScore' => get_text('TotalShort', 'Tournament'), 'oppSetScore' => get_text('SetTotal', 'Tournament'), 'oppSetPoints' => get_text('SetPoints', 'Tournament'), 'oppTie' => 'S.O.', 'oppArrowstring' => get_text('Arrows', 'Tournament'), 'oppTiebreak' => get_text('TieArrows'), 'oppStatus' => get_text('Status', 'Tournament')); while ($myRow = safe_fetch($r)) { if ($myRow->LastUpdated > $this->data['meta']['lastUpdate']) { $this->data['meta']['lastUpdate'] = $myRow->LastUpdated; } if ($myRow->OppLastUpdated > $this->data['meta']['lastUpdate']) { $this->data['meta']['lastUpdate'] = $myRow->OppLastUpdated; } if (!isset($this->data['sections'][$myRow->Event]['meta'])) { $this->data['sections'][$myRow->Event]['meta'] = array('phase' => get_text('Phase'), 'eventName' => get_text($myRow->EventDescr, '', '', true), 'firstPhase' => $myRow->EvFinalFirstPhase, 'printHead' => get_text($myRow->EvFinalPrintHead, '', '', true), 'maxTeamPerson' => $myRow->EvMaxTeamPerson, 'matchMode' => $myRow->EvMatchMode, 'order' => $myRow->EvProgr, 'shootOffSolved' => $myRow->EvShootOff, 'finEnds' => $myRow->EvFinEnds, 'finArrows' => $myRow->EvFinArrows, 'finSO' => $myRow->EvFinSO, 'elimEnds' => $myRow->EvElimEnds, 'elimArrows' => $myRow->EvElimArrows, 'elimSO' => $myRow->EvElimSO, 'targetType' => $myRow->TarDescr, 'targetTypeId' => $myRow->TarId, 'targetSize' => $myRow->TargetSize, 'distance' => $myRow->Distance); $this->data['sections'][$myRow->Event]['phases'] = array(); } if (!isset($this->data['sections'][$myRow->Event]['phases'][$myRow->Phase])) { $this->data['sections'][$myRow->Event]['phases'][$myRow->Phase]['meta'] = array('phaseName' => get_text($myRow->Phase . "_Phase")); $this->data['sections'][$myRow->Event]['phases'][$myRow->Phase]['items'] = array(); } $tmpArr = array(); $oppArr = array(); if ($myRow->TieBreak) { for ($countArr = 0; $countArr < strlen(trim($myRow->TieBreak)); $countArr += $myRow->EvMaxTeamPerson) { $tmp = ValutaArrowString(substr(trim($myRow->TieBreak), $countArr, $myRow->EvMaxTeamPerson)); if (!ctype_upper(trim($myRow->TieBreak))) { $tmp .= "*"; } $tmpArr[] = $tmp; } //debug_svela($myRow); } if ($myRow->OppTieBreak) { for ($countArr = 0; $countArr < strlen(trim($myRow->OppTieBreak)); $countArr += $myRow->EvMaxTeamPerson) { $tmp = ValutaArrowString(substr(trim($myRow->OppTieBreak), $countArr, $myRow->EvMaxTeamPerson)); if (!ctype_upper(trim($myRow->OppTieBreak))) { $tmp .= "*"; } $oppArr[] = $tmp; } } $this->data['sections'][$myRow->Event]['phases'][$myRow->Phase]['items'][] = array('liveFlag' => $myRow->LiveFlag, 'scheduledDate' => $myRow->ScheduledDate, 'scheduledTime' => $myRow->ScheduledTime, 'matchNo' => $myRow->MatchNo, 'target' => $myRow->Target, 'countryCode' => $myRow->CountryCode, 'countryName' => $myRow->CountryName, 'qualRank' => $myRow->QualRank, 'finRank' => $myRow->FinRank, 'qualScore' => $myRow->QualScore, 'winner' => $myRow->Winner, 'score' => $myRow->Score, 'setScore' => $myRow->SetScore, 'setPoints' => $myRow->SetPoints, 'arrowstring' => $myRow->arrowstring, 'tie' => $myRow->Tie, 'tiebreak' => $myRow->TieBreak, 'tiebreakDecoded' => implode(',', $tmpArr), 'status' => $myRow->Status, 'position' => $myRow->QualRank ? $myRow->QualRank : $myRow->Position, 'teamId' => $myRow->Team, 'subTeam' => $myRow->SubTeam, 'oppMatchNo' => $myRow->OppMatchNo, 'oppTarget' => $myRow->OppTarget, 'oppCountryCode' => $myRow->OppCountryCode, 'oppCountryName' => $myRow->OppCountryName, 'oppQualRank' => $myRow->OppQualRank, 'oppFinRank' => $myRow->OppFinRank, 'oppQualScore' => $myRow->OppQualScore, 'oppWinner' => $myRow->OppWinner, 'oppScore' => $myRow->OppScore, 'oppSetScore' => $myRow->OppSetScore, 'oppSetPoints' => $myRow->OppSetPoints, 'oppArrowstring' => $myRow->oppArrowstring, 'oppTie' => $myRow->OppTie, 'oppTiebreak' => $myRow->OppTieBreak, 'oppTiebreakDecoded' => implode(',', $oppArr), 'oppStatus' => $myRow->OppStatus, 'oppPosition' => $myRow->OppQualRank ? $myRow->OppQualRank : $myRow->OppPosition, 'oppTeamId' => $myRow->OppTeam, 'oppSubTeam' => $myRow->OppSubTeam); } }