Example #1
0
                    } else {
                        $Tie_Error[$ee . '_' . $mm] = true;
                    }
                }
                $Update .= ",TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " " . "WHERE TfEvent='" . $ee . "' AND TfMatchNo='" . $mm . "' AND TfTournament=" . StrSafe_DB($_SESSION['TourId']) . " ";
                //debug_svela($Update);
                $RsUp = safe_w_sql($Update);
                if (debug) {
                    print $Update . '<br><br>';
                }
            }
        }
    }
    // Faccio i passaggi di fase
    foreach ($AllowedEvents as $event => $phase) {
        move2NextPhaseTeam($phase, $event);
    }
}
$PAGE_TITLE = get_text('MenuLM_Data insert (Table view)');
$JS_SCRIPT = array('<script type="text/javascript" src="' . $CFG->ROOT_DIR . 'Final/Individual/Fun_JS.js"></script>');
include 'Common/Templates/head.php';
?>
<form name="Frm" method="post" action="InsertPoint2.php">
<input type="hidden" name="Command" value="">
<?php 
$useSession = false;
$PrecPhase = '';
//($_REQUEST['d_Phase']==0 ? 1 : $_REQUEST['d_Phase']*2);
$NextPhase = '';
//($_REQUEST['d_Phase']>1 ? $_REQUEST['d_Phase']/2 : 0);
$PP = $PrecPhase;
Example #2
0
require_once 'Fun_ChangePhase.inc.php';
CheckTourSession(true);
$event = isset($_REQUEST['event']) ? $_REQUEST['event'] : null;
$team = isset($_REQUEST['team']) ? $_REQUEST['team'] : null;
$match = isset($_REQUEST['match']) ? $_REQUEST['match'] : null;
$Errore = 0;
$msg = get_text('CmdOk');
$ok = false;
$isBlocked = $team == 0 ? IsBlocked(BIT_BLOCK_IND) : IsBlocked(BIT_BLOCK_TEAM);
if (is_null($event) || is_null($team) || is_null($match) || $isBlocked) {
    $Errore = 1;
} else {
    if ($team == 0) {
        $ok = move2NextPhase(null, $event, $match);
    } else {
        $ok = move2NextPhaseTeam(null, $event, $match);
    }
    if ($ok === false) {
        $Errore = 1;
    }
}
if ($Errore == 1) {
    $msg = get_text('Error');
}
if (!debug) {
    header('Content-Type: text/xml');
}
print '<response>' . "\n";
print '<error>' . $Errore . '</error>' . "\n";
print '<msg>' . $msg . '</msg>' . "\n";
print '</response>' . "\n";
Example #3
0
        // qui la rank finale
        // calcolo la finalrank di quelli che si son fermati alle qualifiche
        $coppie = array();
        $q = "SELECT EvCode FROM Events WHERE EvTournament={$_SESSION['TourId']} AND EvTeamEvent=1 AND EvCode NOT IN ('" . implode(',', $VetoEvents) . "')" . (count($Events) > 0 ? " AND EvCode IN('" . implode("','", $Events) . "') " : '');
        $r = safe_r_sql($q);
        while ($rr = safe_fetch($r)) {
            $coppie[$rr->EvCode] = $rr->EvCode . "@-3";
        }
        /*foreach ($Events as $e)
        		{
        			$coppie[$e]= $e . "@-3";
        		}*/
        //print_r($coppie);exit;
        Obj_RankFactory::create('FinalTeam', array('eventsC' => $coppie))->calculate();
        foreach ($EventList as $key => $value) {
            move2NextPhaseTeam($value, $key, null);
        }
    }
    //exit;
}
$PAGE_TITLE = get_text('ShootOff4Final') . ' - ' . get_text('Team');
include 'Common/Templates/head.php';
?>
<table class="Tabella">
<TR><TH class="Title"><?php 
print get_text('ShootOff4Final') . ' - ' . get_text('Team');
?>
</TH></TR>
<?php 
if (count($NotResolvedMsg) > 0) {
    ?>
Example #4
0
     }
 } elseif (substr($Key, 0, 4) == 'd_t_') {
     $tiebreak = '';
     $tiepoints = explode('|', $_REQUEST['d_t_' . $ee . '_' . $mm]);
     for ($i = 0; $i < count($tiepoints); ++$i) {
         $tiebreak .= GetLetterFromPrint($tiepoints[$i]);
     }
     $Update = "UPDATE TeamFinals SET " . "TfTiebreak=" . StrSafe_DB($tiebreak) . ", " . "TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " " . "WHERE TfTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TfEvent=" . StrSafe_DB($ee) . " AND TfMatchNo=" . StrSafe_DB($mm) . " ";
     $Rs = safe_w_sql($Update);
 }
 $xml .= '<which>' . $Which . '</which>' . "\n";
 $xml .= '<field_error>' . $FieldError . '</field_error>' . "\n";
 // faccio il passaggio di fase di quel matchno e di quello accoppiato
 if ($Errore == 0) {
     //Faccio i passaggi di fase
     $updateTS = move2NextPhaseTeam(NULL, $ee, $mm);
     if (!is_null($updateTS)) {
         $Select = "SELECT " . "TfMatchNo, TfEvent,  TfTeam, TfSubTeam, IF(EvMatchMode=0,TfScore,TfSetScore) AS Score, TfTie, " . "CoCode, CONCAT(CoName, IF(TfSubTeam>'1',CONCAT(' (',TfSubTeam,')'),'')) AS TeamName " . "FROM TeamFinals " . "INNER JOIN Events ON TfEvent=EvCode AND EvTeamEvent='1' AND EvTournament=TfTournament " . "LEFT JOIN Countries ON TfTeam=CoId " . "WHERE TfTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TfEvent=" . StrSafe_DB($ee) . " AND TfDateTime=" . StrSafe_DB($updateTS) . " " . " and TfMatchNo in (" . ($mm % 2 ? $mm - 1 . ',' . $mm : $mm . ',' . ($mm + 1)) . ")" . "ORDER BY TfEvent, TfMatchNo";
         $Rs = safe_w_sql($Select);
         if (safe_num_rows($Rs) > 0) {
             while ($MyRow = safe_fetch($Rs)) {
                 $xml .= '<ath>';
                 $xml .= '<name><![CDATA[' . $MyRow->TeamName . ']]></name>' . "\n";
                 $xml .= '<cty><![CDATA[' . $MyRow->CoCode . ']]></cty>' . "\n";
                 $xml .= '<event><![CDATA[' . $MyRow->TfEvent . ']]></event>' . "\n";
                 $xml .= '<matchno>' . $MyRow->TfMatchNo . '</matchno>' . "\n";
                 $xml .= '<score>' . $MyRow->Score . '</score>' . "\n";
                 $xml .= '<tie>' . $MyRow->TfTie . '</tie>' . "\n";
                 $xml .= '</ath>' . "\n";
             }
         }
function MatchTotal($MatchNo, $EvCode, $TeamEvent = 0)
{
    if (is_null($MatchNo) || is_null($EvCode)) {
        //Devono esistere sia il MatchNo che l'evento
        return;
    }
    $MatchFinished = false;
    // serve per vedere se il match è finito
    $TablePrefix = "Fin";
    $Select = "SELECT " . "f.FinEvent as EvCode, f.FinMatchNo as MatchNo, f2.FinMatchNo as OppMatchNo, EvMatchMode, EvMatchArrowsNo, " . "IF(f.FinDateTime>=f2.FinDateTime, f.FinDateTime, f2.FinDateTime) AS DateTime," . "f.FinScore AS Score, f.FinSetScore AS SetScore, f.FinTie as Tie, IFNULL(f.FinArrowString,'') as ArString, IFNULL(f.FinTieBreak,'') as TbString, " . "f2.FinScore AS OppScore, f2.FinSetScore AS OppSetScore, f2.FinTie as OppTie, IFNULL(f2.FinArrowString,'') as OppArString, IFNULL(f2.FinTieBreak,'') as OppTbString, " . "GrPhase " . "FROM Finals AS f " . "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 " . "INNER JOIN Events ON f.FinEvent=EvCode AND f.FinTournament=EvTournament AND EvTeamEvent=0 " . "INNER JOIN Grids ON f.FinMatchNo=GrMatchNo " . "WHERE f.FinTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND (f.FinMatchNo % 2)=0 AND GrMatchNo=" . StrSafe_DB($MatchNo % 2 == 0 ? $MatchNo : $MatchNo - 1) . " AND f.FinEvent=" . StrSafe_DB($EvCode) . " " . "ORDER BY f.FinEvent, f.FinMatchNo ";
    if ($TeamEvent) {
        $TablePrefix = "Tf";
        $Select = "SELECT " . "f.TfEvent as EvCode, f.TfMatchNo as MatchNo, f2.TfMatchNo as OppMatchNo, EvMatchMode, EvMatchArrowsNo, " . "IF(f.TfDateTime>=f2.TfDateTime, f.TfDateTime, f2.TfDateTime) AS DateTime," . "f.TfScore AS Score, f.TfSetScore AS SetScore, f.TfTie as Tie, IFNULL(f.TfArrowString,'') as ArString, IFNULL(f.TfTieBreak,'') as TbString, " . "f2.TfScore AS OppScore, f2.TfSetScore AS OppSetScore, f2.TfTie as OppTie, IFNULL(f2.TfArrowString,'') as OppArString, IFNULL(f2.TfTieBreak,'') as OppTbString, " . "GrPhase " . "FROM TeamFinals AS f " . "INNER JOIN TeamFinals AS f2 ON f.TfEvent=f2.TfEvent AND f.TfMatchNo=IF((f.TfMatchNo % 2)=0,f2.TfMatchNo-1,f2.TfMatchNo+1) AND f.TfTournament=f2.TfTournament " . "INNER JOIN Events ON f.TfEvent=EvCode AND f.TfTournament=EvTournament AND EvTeamEvent=1 " . "INNER JOIN Grids ON f.TfMatchNo=GrMatchNo " . "WHERE f.TfTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND (f.TfMatchNo % 2)=0 AND GrMatchNo=" . StrSafe_DB($MatchNo % 2 == 0 ? $MatchNo : $MatchNo - 1) . " AND f.TfEvent=" . StrSafe_DB($EvCode) . " " . "ORDER BY f.TfEvent, f.TfMatchNo ";
    }
    //print $Select . "<br>";exit;
    $MatchUpdated = false;
    // serve per aggiornare il timestamp
    $Rs = safe_r_sql($Select);
    if (safe_num_rows($Rs) == 1) {
        $MyRow = safe_fetch($Rs);
        $obj = getEventArrowsParams($MyRow->EvCode, $MyRow->GrPhase, $TeamEvent);
        $TotArrows = $obj->ends * $obj->arrows;
        $Winner = -1;
        // set winner... of Ties
        if ($MyRow->Tie) {
            $Winner = $MyRow->MatchNo;
            $MatchFinished = true;
        } elseif ($MyRow->OppTie) {
            $Winner = $MyRow->OppMatchNo;
            $MatchFinished = true;
        }
        $Score = ValutaArrowString(substr($MyRow->ArString, 0, $TotArrows));
        $OppScore = ValutaArrowString(substr($MyRow->OppArString, 0, $TotArrows));
        if ($MyRow->EvMatchMode == 0) {
            //Sistema Cumulativo
            if (strlen(str_replace(' ', '', $MyRow->ArString)) == $TotArrows and strlen(str_replace(' ', '', $MyRow->OppArString)) == $TotArrows and strlen(str_replace(' ', '', $MyRow->TbString)) == strlen(str_replace(' ', '', $MyRow->OppTbString))) {
                $MatchFinished = true;
                // if match is over establish the winner
                // only if not already decided by the tie
                // and if there are no doubts
                // and no SO are going on
                if ($Winner == -1 and $MyRow->ArString == strtoupper($MyRow->ArString) and $MyRow->OppArString == strtoupper($MyRow->OppArString) and strlen(trim($MyRow->TbString)) == strlen(trim($MyRow->OppTbString))) {
                    if ($Score > $OppScore) {
                        $Winner = $MyRow->MatchNo;
                    } elseif ($Score < $OppScore) {
                        $Winner = $MyRow->OppMatchNo;
                    }
                }
            }
            $query = "UPDATE " . ($TeamEvent == 0 ? "Finals" : "TeamFinals") . " " . "SET " . "{$TablePrefix}WinLose=" . ($Winner == $MyRow->MatchNo ? '1' : '0') . ", " . "{$TablePrefix}Score=" . $Score . ", " . "{$TablePrefix}SetScore=0, " . "{$TablePrefix}SetPoints='', " . "{$TablePrefix}DateTime={$TablePrefix}DateTime " . "WHERE " . " {$TablePrefix}Event=" . StrSafe_DB($MyRow->EvCode) . " " . " AND {$TablePrefix}MatchNo=" . StrSafe_DB($MyRow->MatchNo) . " " . " AND {$TablePrefix}Tournament=" . StrSafe_DB($_SESSION['TourId']);
            safe_w_sql($query);
            $MatchUpdated = ($MatchUpdated or safe_w_affected_rows());
            //print $query.'<br><br>';
            $query = "UPDATE " . ($TeamEvent == 0 ? "Finals" : "TeamFinals") . " " . "SET " . "{$TablePrefix}WinLose=" . ($Winner == $MyRow->OppMatchNo ? '1' : '0') . ", " . "{$TablePrefix}Score=" . $OppScore . ", " . "{$TablePrefix}SetScore=0, " . "{$TablePrefix}SetPoints='', " . "{$TablePrefix}DateTime={$TablePrefix}DateTime " . "WHERE " . " {$TablePrefix}Event=" . StrSafe_DB($MyRow->EvCode) . " " . " AND {$TablePrefix}MatchNo=" . StrSafe_DB($MyRow->OppMatchNo) . " " . " AND {$TablePrefix}Tournament=" . StrSafe_DB($_SESSION['TourId']);
            safe_w_sql($query);
            $MatchUpdated = ($MatchUpdated or safe_w_affected_rows());
            //print $query.'<br><br>';
        } else {
            //Sistema a Set
            $SetPointsAth = array();
            $SetPointsOpp = array();
            $SetAth = 0;
            $SetOpp = 0;
            $SetAthWin = 0;
            $SetOppWin = 0;
            $WinnerId = -1;
            for ($i = 0; $i < $TotArrows; $i = $i + $obj->arrows) {
                //Cicla per tutte le volee dell'incontro
                $AthEndString = substr($MyRow->ArString, $i, $obj->arrows);
                $OppEndString = substr($MyRow->OppArString, $i, $obj->arrows);
                $MatchString = $AthEndString . $OppEndString;
                $AthSetPoints = ValutaArrowString($AthEndString);
                $OppSetPoints = ValutaArrowString($OppEndString);
                $SetPointsAth[] = $AthSetPoints;
                $SetPointsOpp[] = $OppSetPoints;
                if (strpos($MatchString, ' ') === false and ctype_upper($MatchString)) {
                    if ($AthSetPoints > $OppSetPoints) {
                        $SetAth += 2;
                        $SetAthWin++;
                    } elseif ($AthSetPoints < $OppSetPoints) {
                        $SetOpp += 2;
                        $SetOppWin++;
                    } else {
                        $SetAth++;
                        $SetOpp++;
                    }
                }
            }
            if ($SetAth == $SetOpp && !empty($MyRow->TbString) && !empty($MyRow->OppTbString) && strlen(trim($MyRow->TbString)) == strlen(trim($MyRow->OppTbString))) {
                //Verifico le stringhe CASE INSENSITIVE - in questo momento me ne frego degli "*"
                $AthTbValue = ValutaArrowString($MyRow->TbString);
                $OppTbValue = ValutaArrowString($MyRow->OppTbString);
                if ($AthTbValue < $OppTbValue) {
                    $Winner = $MyRow->OppMatchNo;
                    //OppTbString è maggiore di TbString --> il secondo vince
                    $WinnerId = $MyRow->OppMatchNo;
                    //OppTbString è maggiore di TbString --> il secondo vince
                    $SetOpp++;
                } elseif ($AthTbValue > $OppTbValue) {
                    $Winner = $MyRow->MatchNo;
                    //TbString è maggiore di OppTbString --> il primo vince
                    $WinnerId = $MyRow->MatchNo;
                    //TbString è maggiore di OppTbString --> il primo vince
                    $SetAth++;
                } elseif ($AthTbValue > 0 and $OppTbValue > 0) {
                    //le stringhe CASE INSENSITIVE sono uguali
                    if (!ctype_upper(trim($MyRow->OppTbString)) and ctype_upper(trim($MyRow->TbString))) {
                        // Verifico gli "*" e lo star è nella stringa del secondo (è maggiore)
                        $Winner = $MyRow->OppMatchNo;
                        $WinnerId = $MyRow->OppMatchNo;
                        $SetOpp++;
                    } elseif (ctype_upper(trim($MyRow->OppTbString)) and !ctype_upper(trim($MyRow->TbString))) {
                        // Verifico gli "*" e lo star è nella stringa del primo (è maggiore)
                        $Winner = $MyRow->MatchNo;
                        $WinnerId = $MyRow->MatchNo;
                        $SetAth++;
                    }
                }
            } elseif ($SetAth >= $obj->winAt) {
                $Winner = $MyRow->MatchNo;
            } elseif ($SetOpp >= $obj->winAt) {
                $Winner = $MyRow->OppMatchNo;
            }
            $query = "UPDATE " . ($TeamEvent == 0 ? "Finals" : "TeamFinals") . " " . "SET " . "{$TablePrefix}WinLose=" . ($Winner == $MyRow->MatchNo ? '1' : '0') . ", " . "{$TablePrefix}Score=" . $Score . ", " . "{$TablePrefix}SetScore=" . $SetAth . ", " . "{$TablePrefix}SetPoints=" . StrSafe_DB(implode($SetPointsAth, '|')) . ", " . "{$TablePrefix}WinnerSet=" . $SetAthWin . ", " . "{$TablePrefix}Tie=" . ($WinnerId == $MyRow->MatchNo ? '1' : '0') . ", " . "{$TablePrefix}DateTime={$TablePrefix}DateTime " . "WHERE " . "{$TablePrefix}Event=" . StrSafe_DB($MyRow->EvCode) . " " . "AND {$TablePrefix}MatchNo=" . StrSafe_DB($MyRow->MatchNo) . " " . "AND {$TablePrefix}Tournament=" . StrSafe_DB($_SESSION['TourId']);
            // 			debug_svela($Winner==$MyRow->MatchNo, true);
            safe_w_sql($query);
            $MatchUpdated = ($MatchUpdated or safe_w_affected_rows());
            $query = "UPDATE " . ($TeamEvent == 0 ? "Finals" : "TeamFinals") . " " . "SET " . "{$TablePrefix}WinLose=" . ($Winner == $MyRow->OppMatchNo ? '1' : '0') . ", " . "{$TablePrefix}Score=" . $OppScore . ", " . "{$TablePrefix}SetScore=" . $SetOpp . ", " . "{$TablePrefix}SetPoints=" . StrSafe_DB(implode($SetPointsOpp, '|')) . ", " . "{$TablePrefix}WinnerSet=" . $SetOppWin . ", " . "{$TablePrefix}Tie=" . ($WinnerId == $MyRow->OppMatchNo ? '1' : '0') . ", " . "{$TablePrefix}DateTime={$TablePrefix}DateTime " . "WHERE " . "{$TablePrefix}Event=" . StrSafe_DB($MyRow->EvCode) . " " . "AND {$TablePrefix}MatchNo=" . StrSafe_DB($MyRow->OppMatchNo) . " " . "AND {$TablePrefix}Tournament=" . StrSafe_DB($_SESSION['TourId']);
            safe_w_sql($query);
            $MatchUpdated = ($MatchUpdated or safe_w_affected_rows());
            if ($SetAth >= $obj->winAt || $SetOpp >= $obj->winAt) {
                $MatchFinished = true;
            }
        }
        if ($MatchUpdated) {
            $query = "UPDATE " . ($TeamEvent == 0 ? "Finals" : "TeamFinals") . " " . "SET " . "{$TablePrefix}DateTime=now() " . "WHERE " . " {$TablePrefix}Event=" . StrSafe_DB($MyRow->EvCode) . " " . "AND {$TablePrefix}MatchNo in (" . StrSafe_DB($MyRow->MatchNo) . ',' . StrSafe_DB($MyRow->OppMatchNo) . ") " . "AND {$TablePrefix}Tournament=" . StrSafe_DB($_SESSION['TourId']);
            safe_w_sql($query);
        }
        //Serve per ricalcolare le ranking, solo medaglie
        if ($MatchNo < 4 and $MatchFinished) {
            if ($TeamEvent) {
                move2NextPhaseTeam(NULL, $EvCode, $MatchNo);
            } else {
                move2NextPhase(NULL, $EvCode, $MatchNo);
            }
        }
    }
    return $MatchFinished;
}