function SetElimArrowValue($Phase, $Event, $Target, $ArIndex, $ArSymbol, $Output = 'XML', $CompId = '')
{
    require_once 'Common/Lib/Obj_RankFactory.php';
    $JsonResult = array();
    $JsonResult['error'] = 1;
    $JsonResult['qutarget'] = $_REQUEST['qutarget'];
    $JsonResult['distnum'] = $_REQUEST['distnum'];
    $JsonResult['arrowindex'] = $_REQUEST['arrowindex'];
    $JsonResult['arrowsymbol'] = '';
    $JsonResult['curscore'] = '';
    $JsonResult['curgold'] = '';
    $JsonResult['curxnine'] = '';
    $JsonResult['score'] = '';
    $JsonResult['gold'] = '';
    $JsonResult['xnine'] = '';
    if (empty($CompId)) {
        $CompId = $_SESSION['TourId'];
    }
    $q = safe_r_sql("select * from Eliminations\r\n\t\twhere ElElimPhase=" . ($Phase[1] - 1) . "\r\n\t\tand ElEventCode='{$Event}'\r\n\t\tand ElTargetNo='{$Target}'\r\n\t\tand ElTournament={$CompId}\r\n\t\t");
    if ($r = safe_fetch($q)) {
        $Arrowstring = str_pad($r->ElArrowString, $ArIndex + 1, ' ', STR_PAD_RIGHT);
        $xx = GetLetterFromPrint($ArSymbol);
        $Arrowstring[$ArIndex] = str_pad($xx, 1, ' ', STR_PAD_RIGHT);
        list($CurScore, $CurGold, $CurXNine) = ValutaArrowStringGX($Arrowstring);
        safe_w_sql("update Eliminations\r\n\t\t\tset ElArrowString='{$Arrowstring}',\r\n\t\t\tElScore={$CurScore},\r\n\t\t\tElGold={$CurGold},\r\n\t\t\tElXnine={$CurXNine}\r\n\t\t\twhere ElElimPhase=" . ($Phase[1] - 1) . "\r\n\t\t\tand ElEventCode='{$Event}'\r\n\t\t\tand ElTargetNo='{$Target}'\r\n\t\t\tand ElTournament={$CompId}");
        if (safe_w_affected_rows()) {
            if ($Phase[1] == 1) {
                require_once 'Common/Fun_Sessions.inc.php';
                ResetElimRows($Event, 2);
            }
            Obj_RankFactory::create('ElimInd', array('tournament' => $CompId, 'eventsC' => array($Event . '@' . $Phase[1])))->calculate();
        }
        $JsonResult['error'] = 0;
        $JsonResult['arrowsymbol'] = $xx ? strtoupper($ArSymbol) : '';
        $JsonResult['curscore'] = $CurScore;
        $JsonResult['curgold'] = $CurGold;
        $JsonResult['curxnine'] = $CurXNine;
        $JsonResult['score'] = $CurScore;
        $JsonResult['gold'] = $CurGold;
        $JsonResult['xnine'] = $CurXNine;
    }
    return $JsonResult;
}
Exemplo n.º 2
0
 //print '..' . safe_w_affected_rows() . '<br>';
 if (safe_w_affected_rows() == 1 && $OldValue != $Value) {
     /*
      * QUI il reset della fase successiva delle elim (se c'è)
      * e il calcolo della rank elim della fase attuale.
      *
      * Se fase è 0 sicuramente ho anche la 1 perchè in caso di solo un girone l'unica fase buona è la 1
      */
     $q = "SELECT ElEventCode FROM Eliminations WHERE ElId={$Atleta} AND ElElimPhase={$Fase}";
     $r = safe_r_sql($q);
     $ev = '';
     $row = safe_fetch($r);
     $ev = $row->ElEventCode;
     if ($ev != '') {
         if ($Fase == 0) {
             ResetElimRows($ev, 2);
         }
         Obj_RankFactory::create('ElimInd', array('eventsC' => array($ev . '@' . ($Fase + 1))))->calculate();
     }
     // azzero gli shootoff
     /*$Update
     			= "UPDATE Events INNER JOIN EventClass ON EvCode=EcCode AND EvTeamEvent='0' AND EcTournament=" . StrSafe_DB($_SESSION['TourId']) . " "
     			. "INNER JOIN Entries ON EcDivision=EnDivision AND EcClass=EnClass  AND EnId=" . StrSafe_DB($Atleta) . " "
     			. "SET EvShootOff='0' " . ($Fase==0 ? ", EvE2ShootOff='0' " : "")
     			. "WHERE EvTeamEvent='0' AND EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " ";
     		$Rs=safe_w_sql($Update);
     		set_qual_session_flags();*/
     $q = "\r\n\t\t\t\t\t\tSELECT EvCode\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\tEvents\r\n\t\t\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\t\t\tEventClass\r\n\t\t\t\t\t\t\tON EvCode=EcCode AND EvTeamEvent='0' AND EcTournament={$_SESSION['TourId']}\r\n\t\t\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\t\t\tEntries\r\n\t\t\t\t\t\t\tON EcDivision=EnDivision AND EcClass=EnClass  AND EnId={$Atleta}\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t EvTeamEvent='0' AND EvTournament={$_SESSION['TourId']}\r\n\t\t\t\t\t";
     $Rs = safe_w_sql($q);
     if ($Rs && safe_num_rows($Rs) > 0) {
         while ($row = safe_fetch($Rs)) {
Exemplo n.º 3
0
 }
 //exit;
 if (count($Ties) > 0) {
     /*print '<pre>';
     		print_r($Ties);
     		print '</pre>';Exit;*/
     foreach ($Ties as $Key => $Value) {
         list($ev, $ath) = explode('_', $Key);
         $x = $rank->setRow(array(array('ath' => $ath, 'event' => $ev, 'dist' => 0, 'phase' => $RequestedElim - 1, 'tiebreak' => $Value)));
     }
 }
 if (count($IdAffected) > 0) {
     // se non sto passando alle finali resetto i gironi successivi all'attuale
     if ($RequestedElim < 2) {
         for ($i = $RequestedElim; $i <= 1; ++$i) {
             ResetElimRows($RequestedEvent, $i + 1);
         }
     }
     /* rifaccio le griglie */
     $Delete = "DELETE FROM Finals " . "WHERE FinTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND FinEvent = " . StrSafe_DB($RequestedEvent);
     $Rs = safe_w_sql($Delete);
     // ricreo la griglia distrutta
     $Insert = "INSERT INTO Finals (FinEvent,FinMatchNo,FinTournament,FinDateTime) " . "SELECT EvCode,GrMatchNo," . StrSafe_DB($_SESSION['TourId']) . "," . StrSafe_DB(date('Y-m-d H:i')) . " " . "FROM Events INNER JOIN Grids ON GrPhase<=EvFinalFirstPhase AND EvTeamEvent='0' " . "AND EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " " . "WHERE EvCode = " . StrSafe_DB($RequestedEvent);
     $RsIns = safe_w_sql($Insert);
 }
 if (!$NotResolved) {
     /*
      *  Adesso metto a posto gli id delle Eliminations.
      *  Per farlo rileggo la rank (la prima lettura avviene al carimento della pagina quando non si passa di qua)
      *  e uso i dati per scrivere gli id nei posti giusti
      */
Exemplo n.º 4
0
 if (debug) {
     print $Update . ' <br><br>';
 }
 //print '..' . safe_w_affected_rows() . '<br>';
 if (safe_w_affected_rows() == 1 && $OldValue != $Value) {
     // distruggo e ricreo le eliminatorie
     // scopro in che evento elim si trova la divcl del tipo
     $q = "\n\t\t\t\t\t\tSELECT EvCode\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tEntries\n\t\t\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\t\t\tEventClass\n\t\t\t\t\t\t\tON EnTournament=EcTournament AND EcTeamEvent=0 AND EnDivision=EcDivision AND EnClass=EcClass\n\t\t\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\t\t\tEvents\n\t\t\t\t\t\t\tON EcCode=EvCode AND EcTournament=EvTournament AND EvTeamEvent=EcTeamEvent AND EcTeamEvent=0 AND (EvElim1+EvElim2)>0\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tEnId={$Atleta}\n\t\t\t\t\t";
     $r = safe_r_sql($q);
     //print $q;exit;
     if ($r && safe_num_rows($r) > 0) {
         while ($row = safe_fetch($r)) {
             $ev = $row->EvCode;
             for ($j = 1; $j <= 2; ++$j) {
                 //print 'pp';
                 ResetElimRows($ev, $j);
             }
         }
     }
     // azzero gli shootoff
     $q = "\n\t\t\t\t\t\tSELECT DISTINCT EvCode,EvTeamEvent\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tEvents\n\t\t\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\t\t\tEventClass\n\t\t\t\t\t\t\tON EvCode=EcCode AND (EvTeamEvent='0' OR EvTeamEvent='1') AND EcTournament={$_SESSION['TourId']}\n\t\t\t\t\t\t\tINNER JOIN\n\t\t\t\t\t\t\t\tEntries\n\t\t\t\t\t\t\tON TRIM(EcDivision)=TRIM(EnDivision) AND TRIM(EcClass)=TRIM(EnClass)  AND EnId={$Atleta}\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t (EvTeamEvent='0' AND EnIndFEvent='1') OR (EvTeamEvent='1' AND EnTeamFEvent='1') AND EvTournament={$_SESSION['TourId']}\n\t\t\t\t\t";
     //print $q;
     $Rs = safe_r_sql($q);
     if ($Rs && safe_num_rows($Rs) > 0) {
         while ($row = safe_fetch($Rs)) {
             ResetShootoff($row->EvCode, $row->EvTeamEvent, 0);
         }
     }
     if (debug) {
         print $Update . '<br>';
     }