Example #1
1
 /**
  * read()
  *
  * @Override
  *
  * (non-PHPdoc)
  * @see ianseo/Common/Rank/Obj_Rank#calculate()
  */
 public function read()
 {
     $f = $this->safeFilter();
     $filter = $f !== false ? $f : "";
     if (array_key_exists('cutRank', $this->opts) && is_numeric($this->opts['cutRank']) && $this->opts['cutRank'] > 0) {
         $filter .= "AND Teams.teRank<={$this->opts['cutRank']} ";
     }
     $q = "\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tTeTournament,CoId,TeSubTeam,CoCode,CoName, TeEvent,EvEventName,ToNumEnds,ToNumDist,ToMaxDistScore,FlContAssoc,\r\n\t\t\t\t\tEvMaxTeamPerson, EvProgr, EvFinalFirstPhase,\r\n\t\t\t\t\tClDescription, DivDescription,\r\n\t\t\t\t\tEnId,EnCode,EnFirstName,upper(EnFirstName) EnFirstNameUpper,EnName,EnClass,EnDivision,EnAgeClass,EnSubClass,\r\n\t\t\t\t\tIF(EvFinalFirstPhase=48, 104, IF(EvFinalFirstPhase=24, 56, (EvFinalFirstPhase*2))) AS QualifiedNo,\tEvQualPrintHead,\r\n\t\t\t\t\tSUBSTRING(QuTargetNo,1,1) AS Session, SUBSTRING(QuTargetNo,2) AS TargetNo,\r\n\t\t\t\t\tQuHits*EvMaxTeamPerson AS Arrows_Shot, QuScore, TeScore,TeRank, TeGold, TeXnine, ToGolds, ToXNine,TeHits,\r\n\t\t\t\t\tTeRank, EvRunning, IF(EvRunning=1,IFNULL(ROUND(TeScore/TeHits,3),0),0) as RunningScore,\r\n\t\t\t\t\tABS(TeSO) AS RankBeforeSO,\r\n\t\t\t\t\ttie.Quanti,\r\n\t\t\t\t\tTeTieBreak,(TeSO>0) AS isSO,IFNULL(sqY.Quanti,1) AS `NumCT`,\r\n\t\t\t\t\tIFNULL(Td1,'.1.') as Td1, IFNULL(Td2,'.2.') as Td2, IFNULL(Td3,'.3.') as Td3, IFNULL(Td4,'.4.') as Td4, IFNULL(Td5,'.5.') as Td5, IFNULL(Td6,'.6.') as Td6, IFNULL(Td7,'.7.') as Td7, IFNULL(Td8,'.8.') as Td8,\r\n\t\t\t\t\tTeTimeStamp, DiEnds, DiArrows\r\n\t\t\t\tFROM\r\n\t\t\t\t\tTournament\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tTeams\r\n\t\t\t\t\tON ToId=TeTournament AND TeFinEvent=1\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tCountries\r\n\t\t\t\t\tON TeCoId=CoId AND TeTournament=CoTournament\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tEvents\r\n\t\t\t\t\tON TeEvent=EvCode AND ToId=EvTournament AND EvTeamEvent=1\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\tTeEvent as tieEvent, TeFinEvent as tieFinEvent, TeTournament as tieTournament, TeScore as tieScore, Count(*) as Quanti\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tTeams\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tTeTournament = {$this->tournament}  {$filter}\r\n\t\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\t\tTeEvent, TeFinEvent, TeTournament, TeScore\r\n\t\t\t\t\t\t) AS tie\r\n\t\t\t\t\tON Teams.TeEvent=tie.tieEvent AND Teams.TeTournament=tie.tieTournament AND Teams.TeFinEvent=tie.tieFinEvent AND Teams.TeScore=tie.tieScore\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tTeamComponent AS tc\r\n\t\t\t\t\tON Teams.TeCoId=tc.TcCoId AND Teams.TeSubTeam=tc.TcSubTeam AND  Teams.TeEvent=tc.TcEvent AND Teams.TeTournament=tc.TcTournament AND Teams.TeFinEvent=tc.TcFinEvent\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tEntries\r\n\t\t\t\t\tON TcId=EnId\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tQualifications\r\n\t\t\t\t\tON EnId=QuId\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tDivisions\r\n\t\t\t\t\tON EnDivision=DivId AND EnTournament=DivTournament\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tClasses\r\n\t\t\t\t\tON EnClass=ClId AND EnTournament=ClTournament\r\n\t\t\t\t/* Contatori per CT (gialli)*/\r\n\t\t\t\t\tLEFT JOIN\r\n\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\tTeEvent as sqyEvent,Count(*) as Quanti, TeSO as sqyRank, TeTournament as sqyTournament\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tTeams\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tTeTournament = {$this->tournament} AND TeFinEvent=1 AND TeSO!=0 {$filter}\r\n\t\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\t\tTeSO, TeEvent, TeTournament\r\n\t\t\t\t\t\t) AS sqY\r\n\t\t\t\t\tON sqY.sqyRank=TeSO AND sqY.sqyEvent=Teams.TeEvent AND Teams.TeFinEvent=1 AND sqY.sqyTournament=Teams.TeTournament\r\n\t\t\t\t\tLEFT JOIN\r\n\t\t\t\t\t\tTournamentDistances\r\n\t\t\t\t\tON ToType=TdType AND TdTournament=ToId AND TeEvent like TdClasses\r\n\t\t\t\t\tLEFT JOIN\r\n\t\t\t\t\t\tFlags\r\n\t\t\t\t\t\tON FlIocCode='FITA' and FlCode=CoCode and FlTournament=-1\r\n\t\t\t\t\tleft join DistanceInformation on EnTournament=DiTournament and DiSession=1 and DiDistance=1 and DiType='Q'\r\n\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\tTeams.TeTournament={$this->tournament}\r\n\t\t\t\t\t{$filter}\r\n\t\t\t\tORDER BY\r\n\t\t\t\t\tEvProgr,TeEvent, RunningScore DESC, TeRank ASC, TeGold DESC, TeXnine DESC, CoCode, TeSubTeam ,tc.TcOrder\r\n\t\t\t";
     $r = safe_r_sql($q);
     $this->data['meta']['title'] = get_text('ResultSqAbs', 'Tournament');
     $this->data['meta']['lastUpdate'] = '0000-00-00 00:00:00';
     $this->data['sections'] = array();
     $myEv = '';
     $myTeam = '';
     if (safe_num_rows($r) > 0) {
         $section = null;
         while ($row = safe_fetch($r)) {
             if ($myEv != $row->TeEvent) {
                 if ($myEv != '') {
                     foreach ($section["meta"]["arrowsShot"] as $k => $v) {
                         if ($v) {
                             $section["meta"]["sesArrows"][$k] = get_text('AfterXArrows', 'Common', $v);
                         }
                     }
                     $this->data['sections'][$myEv] = $section;
                     $section = null;
                 }
                 $myEv = $row->TeEvent;
                 $fields = array('id' => 'Id', 'countryCode' => get_text('CountryCode'), 'countryName' => get_text('Country'), 'subteam' => get_text('PartialTeam'), 'athletes' => array('name' => get_text('Athletes'), 'fields' => array('id' => 'Id', 'bib' => get_text('Code', 'Tournament'), 'session' => get_text('Session'), 'target' => get_text('Target'), 'athlete' => get_text('Athlete'), 'familyname' => get_text('FamilyName', 'Tournament'), 'givenname' => get_text('Name', 'Tournament'), 'div' => get_text('Division'), 'class' => get_text('Cl'), 'ageclass' => get_text('AgeCl'), 'subclass' => get_text('SubCl', 'Tournament'), 'quscore' => get_text('TotaleScore'))), 'rank' => get_text('PositionShort'), 'rankBeforeSO' => '', 'score' => $row->EvRunning == 1 ? get_text('ArrowAverage') : get_text('TotaleScore'), 'gold' => $row->ToGolds, 'xnine' => $row->ToXNine, 'hits' => get_text('Arrows', 'Tournament'), 'tiebreak' => get_text('TieArrows'), 'tie' => get_text('Tie'), 'ct' => get_text('CoinTossShort', 'Tournament'), 'so' => get_text('ShotOffShort', 'Tournament'));
                 $distFields = array();
                 $distValid = $row->ToNumDist;
                 foreach (range(1, 8) as $n) {
                     $distFields['dist_' . $n] = $row->{'Td' . $n};
                     if ($distFields['dist_' . $n] == '-') {
                         $distValid--;
                     }
                 }
                 $section = array('meta' => array('event' => $myEv, 'firstPhase' => $row->EvFinalFirstPhase, 'descr' => get_text($row->EvEventName, '', '', true), 'qualifiedNo' => $row->QualifiedNo, 'printHeader' => $row->EvQualPrintHead, 'order' => $row->EvProgr, 'numDist' => $distValid, 'maxScore' => $row->ToMaxDistScore * $row->EvMaxTeamPerson, 'maxArrows' => ($row->DiEnds ? $row->DiEnds * $row->DiArrows : $row->ToNumEnds * 3) * $row->EvMaxTeamPerson, 'arrowsShot' => array(), 'sesArrows' => array(), 'running' => $row->EvRunning == 1 ? 1 : 0, 'fields' => $fields), 'items' => array());
             }
             if ($myTeam != $row->CoId . $row->TeSubTeam . $row->TeEvent) {
                 $tmpArr = array();
                 for ($countArr = 0; $countArr < strlen(trim($row->TeTieBreak)); $countArr = $countArr + $row->EvMaxTeamPerson) {
                     $tmpArr[] = ValutaArrowString(substr(trim($row->TeTieBreak), $countArr, $row->EvMaxTeamPerson)) . ",";
                 }
                 $item = array('id' => $row->CoId, 'countryCode' => $row->CoCode, 'contAssoc' => $row->FlContAssoc, 'countryName' => $row->CoName, 'subteam' => $row->TeSubTeam, 'athletes' => array(), 'rank' => $row->TeRank, 'rankBeforeSO' => $row->RankBeforeSO, 'score' => $row->EvRunning == 1 ? $row->RunningScore : $row->TeScore, 'gold' => $row->TeGold, 'xnine' => $row->TeXnine, 'hits' => $row->TeHits, 'recordGap' => $row->Arrows_Shot * 10 - $row->TeScore, 'tiebreak' => $row->TeTieBreak, 'tiebreakDecoded' => $row->TeTieBreak ? 'T.' . implode(',', $tmpArr) : '', 'ct' => $row->NumCT, 'tie' => $row->Quanti > 1, 'so' => $row->isSO);
                 //Gestisco il numero di frecce tirate per sessione
                 if (empty($section["meta"]["arrowsShot"][$row->Session]) || $section["meta"]["arrowsShot"][$row->Session] <= $row->Arrows_Shot) {
                     $section["meta"]["arrowsShot"][$row->Session] = $row->Arrows_Shot;
                 }
                 $section['items'][] = $item;
                 if ($row->TeTimeStamp > $this->data['meta']['lastUpdate']) {
                     $this->data['meta']['lastUpdate'] = $row->TeTimeStamp;
                 }
                 $myTeam = $row->CoId . $row->TeSubTeam . $row->TeEvent;
             }
             if (!array_key_exists('components', $this->opts) || $this->opts['components']) {
                 $athlete = array('id' => $row->EnId, 'bib' => $row->EnCode, 'session' => $row->Session, 'target' => $row->TargetNo, 'athlete' => $row->EnFirstNameUpper . ' ' . $row->EnName, 'familyname' => $row->EnFirstName, 'familynameUpper' => $row->EnFirstNameUpper, 'givenname' => $row->EnName, 'div' => $row->EnDivision, 'class' => $row->EnClass, 'ageclass' => $row->EnAgeClass, 'subclass' => $row->EnSubClass, 'quscore' => $row->QuScore);
                 $section['items'][count($section['items']) - 1]['athletes'][] = $athlete;
             }
         }
         foreach ($section["meta"]["arrowsShot"] as $k => $v) {
             if ($v) {
                 $section["meta"]["sesArrows"][$k] = str_replace("<br/>", " ", get_text('AfterXArrows', 'Common', $v));
             }
         }
         // ultimo giro
         $this->data['sections'][$myEv] = $section;
     }
 }
Example #2
0
function getStatEntriesByCountriesQuery($ORIS = false, $Athletes = false)
{
    $Sql = "";
    if ($ORIS) {
        $Sql = "SELECT SUM(IF((DivAthlete AND ClAthlete AND EnSex=0), 1,0)) as M, SUM(IF((DivAthlete AND ClAthlete AND EnSex=1), 1,0)) as W, SUM(IF((DivAthlete AND ClAthlete), 0,1)) as Of, ";
        $Sql .= "CoCode as NationCode, CoName as NationName ";
        $Sql .= "FROM Entries ";
        $Sql .= "INNER JOIN Countries ON EnCountry = CoId ";
        $Sql .= "LEFT JOIN Divisions ON EnDivision=DivId AND DivTournament=" . StrSafe_DB($_SESSION['TourId']) . " ";
        $Sql .= "LEFT JOIN Classes ON EnClass=ClId AND ClTournament=" . StrSafe_DB($_SESSION['TourId']) . " ";
        $Sql .= "WHERE EnTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
        $Sql .= "GROUP BY CoCode ";
        $Sql .= "ORDER BY CoCode ";
    } else {
        $Sql = "SELECT DISTINCT CONCAT(TRIM(EnDivision),'|',TRIM(EnClass)) as Id, (DivAthlete AND ClAthlete) as isAthlete " . "FROM Entries " . "LEFT JOIN Divisions ON EnDivision=DivId AND DivTournament=" . StrSafe_DB($_SESSION['TourId']) . " " . "LEFT JOIN Classes ON EnClass=ClId AND ClTournament=" . StrSafe_DB($_SESSION['TourId']) . " " . "WHERE EnTournament = " . StrSafe_DB($_SESSION['TourId']) . " " . ($Athletes ? 'AND DivAthlete=1 AND ClAthlete=1 ' : '') . "ORDER BY LENGTH(EnDivision) DESC, DivViewOrder, EnDivision, LENGTH(EnClass) DESC, ClViewOrder, EnClass";
        $Rs = safe_r_sql($Sql);
        $Sql = "SELECT ";
        if (safe_num_rows($Rs) > 0) {
            while ($MyRow = safe_fetch($Rs)) {
                $Sql .= "SUM(IF(CONCAT(TRIM(EnDivision),'|',TRIM(EnClass))='" . $MyRow->Id . "',1,0)) as `" . $MyRow->Id . "`, ";
            }
            safe_free_result($Rs);
        }
        $Sql .= "CoCode as NationCode, CoName as NationName ";
        $Sql .= "FROM Entries ";
        $Sql .= "INNER JOIN Countries ON EnCountry = CoId ";
        $Sql .= "WHERE EnTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
        $Sql .= "GROUP BY CoCode ";
        $Sql .= "ORDER BY CoCode ";
    }
    return $Sql;
}
Example #3
0
 function __construct($TemplateID = 0)
 {
     parent::__construct('BackNumber');
     $Select = "SELECT BackNumber.*, LENGTH(BnBackground) as ImgSize  " . "FROM BackNumber  " . "WHERE BnTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND BnFinal in (0," . $TemplateID . ") order by BnFinal desc limit 1";
     //print $Select;exit;
     $Rs = safe_r_sql($Select);
     if (safe_num_rows($Rs) == 1) {
         $this->RowBn = safe_fetch($Rs);
     } else {
         // fall back if no Backnumber creates from template!
         include_once 'Tournament/BackNumberEmpty.php';
         $this->RowBn = emptyBackNumber();
     }
     $this->Rotation = $this->RowBn->BnOffsetX != 0 || $this->RowBn->BnOffsetY != 0;
     $this->RotX = $this->RowBn->BnWidth / 2;
     $this->RotY = $this->RowBn->BnOffsetY / 2;
     // TargetNo Specs
     $this->TargetNoFont = ($this->RowBn->BnTargetNo & 4) == 4 ? $this->FontFix : (($this->RowBn->BnTargetNo & 2) == 2 ? 'dejavuserif' : $this->FontStd);
     $this->TargetNoStyle = ($this->RowBn->BnTargetNo & 8 ? 'B' : '') . ($this->RowBn->BnTargetNo & 16 ? 'I' : '');
     $this->TargetNoColor = array(base_convert(substr($this->RowBn->BnTnoColor, 0, 2), 16, 10), base_convert(substr($this->RowBn->BnTnoColor, 2, 2), 16, 10), base_convert(substr($this->RowBn->BnTnoColor, 4, 2), 16, 10));
     $this->TargetNoAlign = ($this->RowBn->BnTargetNo & 96) == 64 ? 'L' : (($this->RowBn->BnTargetNo & 96) == 32 ? 'R' : 'C');
     // Athlete Specs
     $this->AthleteFont = ($this->RowBn->BnAthlete & 4) == 4 ? $this->FontFix : (($this->RowBn->BnAthlete & 2) == 2 ? 'dejavuserif' : $this->FontStd);
     $this->AthleteStyle = ($this->RowBn->BnAthlete & 8 ? 'B' : '') . ($this->RowBn->BnAthlete & 16 ? 'I' : '');
     $this->AthleteColor = array(base_convert(substr($this->RowBn->BnAthColor, 0, 2), 16, 10), base_convert(substr($this->RowBn->BnAthColor, 2, 2), 16, 10), base_convert(substr($this->RowBn->BnAthColor, 4, 2), 16, 10));
     $this->AthleteAlign = ($this->RowBn->BnAthlete & 96) == 64 ? 'L' : (($this->RowBn->BnAthlete & 96) == 32 ? 'R' : 'C');
     if ($this->RowBn->BnCapitalFirstName) {
         $this->FirstNameAllCaps = true;
     }
     // Country Specs
     $this->CountryFont = ($this->RowBn->BnCountry & 4) == 4 ? $this->FontFix : (($this->RowBn->BnCountry & 2) == 2 ? 'dejavuserif' : $this->FontStd);
     $this->CountryStyle = ($this->RowBn->BnCountry & 8 ? 'B' : '') . ($this->RowBn->BnCountry & 16 ? 'I' : '');
     $this->CountryColor = array(base_convert(substr($this->RowBn->BnCoColor, 0, 2), 16, 10), base_convert(substr($this->RowBn->BnCoColor, 2, 2), 16, 10), base_convert(substr($this->RowBn->BnCoColor, 4, 2), 16, 10));
     $this->CountryAlign = ($this->RowBn->BnCountry & 96) == 64 ? 'L' : (($this->RowBn->BnCountry & 96) == 32 ? 'R' : 'C');
     // background temp creation
     if ($this->RowBn->ImgSize) {
         $this->BackGroundFile = tempnam('/tmp', 'bgf');
         $img = imagecreatefromstring($this->RowBn->BnBackground);
         if (!imagepng($img, $this->BackGroundFile)) {
             die('could not create image');
         }
     }
     $Orientation = $this->RowBn->BnWidth > $this->RowBn->BnHeight ? 'L' : 'P';
     $this->setPageOrientation($Orientation);
     $this->setPageFormat(array($this->RowBn->BnWidth, $this->RowBn->BnHeight), $Orientation);
     $this->SetFont($this->FontStd, '', 10);
     $this->AliasNbPages();
     $this->setPrintHeader(false);
     $this->setPrintFooter(false);
     $this->SetMargins(10, 10, 10);
     $this->SetAutoPageBreak(false, 10);
     $this->SetAuthor('http://www.ianseo.net');
     $this->SetCreator('Software Design by Ianseo');
     $this->SetTitle('IANSEO - Integrated Result System (release ' . ProgramVersion . ')');
     $this->SetSubject('BackNo');
 }
Example #4
0
function findClone()
{
    global $flags;
    $Select = "\r\n\t\t\tSELECT\r\n\t\t\t\tCONCAT(e1.ElElimPhase,'_',e1.ElEventCode,'_',e1.ElQualRank,'_',e1.ElTournament) AS `Id`,e1.ElSession,IFNULL(sq.q,0) AS `q`\r\n\t\t\tFROM\r\n\t\t\t\tEliminations AS e1\r\n\t\t\t\tLEFT JOIN\r\n\t\t\t\t\t(\r\n\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\tElElimPhase,ElTargetNo,ElEventCode,ElSession,COUNT(ElTargetNo) AS `q`\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\tEliminations\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\tElTargetNo<>'' AND ElTournament={$_SESSION['TourId']}\r\n\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\tElTargetNo,ElElimPhase,ElSession\r\n\t\t\t\t\t) AS sq\r\n\t\t\t\tON e1.ElTargetNo=sq.ElTargetNo AND e1.ElElimPhase=sq.ElElimPhase  AND e1.ElSession=sq.ElSession\r\n\t\t\tWHERE\r\n\t\t\t\te1.ElTournament={$_SESSION['TourId']}\r\n\t\t\tORDER BY\r\n\t\t\t\te1.ElElimPhase ASC,e1.ElQualRank ASC\r\n\t\t";
    //print $Select;
    $Rs = safe_r_sql($Select);
    if (safe_num_rows($Rs) > 0) {
        while ($MyRow = safe_fetch($Rs)) {
            $flags[$MyRow->Id]['quantity'] = $MyRow->q > 1 ? 0 : 1;
            $flags[$MyRow->Id]['out'] = 1;
            /*$xml
            		.= '<target>' . "\n"
            		 	. '<id>' . $MyRow->Id . '</id>' . "\n"
            		 	. '<good>' . ($MyRow->q>1 ? 0:1). '</good>'
            		 	. '<q>' . ($MyRow->q). '</q>'
            		 . '</target>' . "\n";*/
        }
    }
}
Example #5
0
 public function __construct($tourId, $phase)
 {
     $this->setTourId($tourId);
     $this->setPhase($phase);
     // Estraggo le info del torneo
     /*$query
     		= "SELECT "
     			. "ToCode,ToName,IF(TtElabTeam=1 || TtElabTeam=2,'1',IF(INSTR(TtName,'Indoor')=0,'0','2' )) AS MyType "
     		. "FROM "
     			. "Tournament INNER JOIN Tournament*Type ON ToType=TtId "
     		. "WHERE "
     			. "ToId=" . $this->getTourId() . " ";*/
     $query = "SELECT " . "ToCode,ToName,IF(ToElabTeam=1 || ToElabTeam=2,'1',IF(INSTR(ToTypeName,'Indoor')=0,'0','2' )) AS MyType " . "FROM " . "Tournament " . "WHERE " . "ToId=" . $this->getTourId() . " ";
     $rs = safe_r_sql($query);
     if (safe_num_rows($rs) == 1) {
         $myRow = safe_fetch($rs);
         $this->setTourCode($myRow->ToCode);
         $this->setTourName($myRow->ToName);
         $this->setType($myRow->MyType);
     } else {
         $this->setError(1);
     }
 }
Example #6
0
/**
 * Cerca quale evento è live in questo momento
 * Se trova più eventi contemporanei ritorna i dati di quello con modifiche più recenti.
 *
 * @param Int $Team: vale 0 se l'evento è individuale e 1 se è a squadre.
 *
 * @return Array: Un vettore formato dall'Evento e dal MatchNo oppure false in caso di errore.
 * 					Se non ci sono eventi live viene ritornato array(NULL,NULL)
 */
function FindLive($Team = -1)
{
    if ($Team == 0) {
        $Select = "SELECT" . "  '0' Team" . " , FinDateTime DateTime" . " , FinEvent AS Event" . " , FinMatchNo AS MatchNo" . " FROM" . "  Finals " . " WHERE" . "  FinTournament=" . StrSafe_DB($_SESSION['TourId']) . "  AND FinLive='1' " . "ORDER BY" . " Team," . " DateTime DESC," . " Event ASC," . " MatchNo ASC ";
    } elseif ($Team == 1) {
        $Select = "SELECT" . "  '1' Team " . " , TfDateTime DateTime" . " , TfEvent AS Event " . " , TfMatchNo AS MatchNo " . " FROM" . "  TeamFinals " . " WHERE" . "  TfTournament=" . StrSafe_DB($_SESSION['TourId']) . "  AND TfLive='1' " . "ORDER BY" . " Team," . " DateTime DESC," . " Event ASC," . " MatchNo ASC";
    } elseif ($Team == -1) {
        $Select = "(SELECT" . "  '0' Team" . " , FinDateTime DateTime" . " , FinEvent AS Event" . " , FinMatchNo AS MatchNo" . " FROM" . "  Finals " . " WHERE" . "  FinTournament=" . StrSafe_DB($_SESSION['TourId']) . "  AND FinLive='1') " . "UNION " . "(SELECT" . "  '1' Team " . " , TfDateTime DateTime " . " , TfEvent AS Event " . " , TfMatchNo AS MatchNo " . " FROM" . "  TeamFinals " . " WHERE" . "  TfTournament=" . StrSafe_DB($_SESSION['TourId']) . "  AND TfLive='1') " . "ORDER BY" . " Team," . " DateTime DESC," . " Event ASC," . " MatchNo ASC ";
    } else {
        return '';
    }
    $Rs = safe_r_sql($Select);
    // at least 2 rows because "live" is set on both opponents!
    if (safe_num_rows($Rs) < 2) {
        return '';
    }
    $MyRow1 = safe_fetch($Rs);
    $MyRow2 = safe_fetch($Rs);
    // check if these are really 2 opponents in the same match!!
    if ($MyRow1->Event == $MyRow2->Event and $MyRow1->Team == $MyRow2->Team and ($MyRow1->MatchNo == $MyRow2->MatchNo - 1 or $MyRow1->MatchNo == $MyRow2->MatchNo + 1)) {
        return array($MyRow1->Event, min($MyRow1->MatchNo, $MyRow2->MatchNo), $MyRow1->Team);
    }
    return '';
}
Example #7
0
function SetAccreditation($Id, $SetRap = 0, $return = 'RicaricaOpener', $TourId = 0, $AccOp = 0)
{
    $RicaricaOpener = false;
    if (!$TourId) {
        $TourId = $_SESSION['TourId'];
    }
    if (!$AccOp) {
        $AccOp = $_SESSION['AccOp'];
    }
    /*
     * Devo prevenire l'insert se l'id è in stato 7.
     * Per farlo cerco lo stato del tizio.
     * Se è 7 vuol dire che uno ha cliccato sul bottone dopo aver aperto il popup e io non scrivo in db
     */
    $Select = "SELECT EnId FROM Entries\n\t\tWHERE EnId=" . StrSafe_DB($Id) . " AND EnTournament={$TourId} AND EnStatus='7' ";
    $Rs = safe_r_sql($Select);
    //TODO Patchare la query per supportare bene IpV6
    if (safe_num_rows($Rs) == 0) {
        $Insert = "INSERT INTO AccEntries\n\t\t\t(AEId,AEOperation,AETournament,AEWhen,AEFromIp,AERapp)\n\t\t\tVALUES(\n\t\t\t\t{$Id}," . StrSafe_DB($AccOp) . "," . StrSafe_DB($TourId) . "," . StrSafe_DB(date('Y-m-d H:i')) . "," . "INET_ATON('" . ($_SERVER['REMOTE_ADDR'] != '::1' ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1') . "'), " . StrSafe_DB($SetRap) . "" . ") ON DUPLICATE KEY UPDATE " . "AEWhen=" . StrSafe_DB(date('Y-m-d H:i')) . "," . "AEFromIp=INET_ATON('" . ($_SERVER['REMOTE_ADDR'] != '::1' ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1') . "') ";
        $RsIns = safe_w_sql($Insert);
        $RicaricaOpener = $return == 'RicaricaOpener' ? true : (safe_w_affected_rows() ? 'AccreditationOK' : 'AccreditationTwice');
    }
    return $RicaricaOpener;
}
Example #8
0
 if ($isEvent == 0) {
     // individuali
     /*
      * IMPORTANTE!!!
      * Questa query non tiene conto del flag di partecipazione alla classifica di classe.
      * Un eventuale confronto con la classifica di classe potrebbe mostrare discrepanze
      * (l'elenco delle persone di questa query ha un numero di righe >= a quello della classifica di classe)
      */
     $query = "SELECT " . "QuId, EnFirstName, EnName, EnWChair, EnDoubleSpace, CONCAT(EnDivision,EnClass) AS `Event`, QuSession, QuTargetNo, QuClRank as Rank " . "FROM " . "Tournament " . "INNER JOIN " . "Entries " . "ON ToId=EnTournament " . "INNER JOIN " . "Qualifications " . "ON EnId=QuId " . "WHERE " . "CONCAT(EnDivision,EnClass) LIKE " . StrSafe_DB($filter) . " AND EnAthlete=1  AND EnStatus<=1 " . "AND EnTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND QuScore<>0 " . "ORDER BY " . "QuClRank ASC, EnFirstName, EnName ";
 } else {
     // assoluti individuali
     $query = "SELECT " . "QuId, EnFirstName, EnName,EnWChair, EnDoubleSpace, CONCAT(EnDivision,EnClass) AS `Event`, QuSession, QuTargetNo, IndRank as Rank " . "FROM " . "Tournament " . "INNER JOIN " . "Entries " . "ON ToId=EnTournament " . "INNER JOIN " . "Qualifications " . "ON EnId=QuId " . "INNER JOIN " . "EventClass " . "ON EnClass=EcClass AND EnDivision=EcDivision AND EnTournament=EcTournament AND EcTeamEvent=0 " . "INNER JOIN " . "Events " . "ON EvCode=EcCode AND EvTeamEvent=EcTeamEvent AND EvTournament=EcTournament " . "INNER JOIN " . "Individuals " . "ON IndId=EnId AND IndEvent=EvCode AND IndTournament=EvTournament " . "WHERE " . "EnAthlete=1 AND EnIndFEvent=1 AND EnStatus <= 1  AND QuScore<>'0' AND ToId = " . StrSafe_DB($_SESSION['TourId']) . " " . "AND EvCode LIKE " . StrSafe_DB($filter) . " " . "ORDER BY " . "IndRank ASC, EnFirstName, EnName ";
 }
 $Rs = safe_r_sql($query);
 $CurrentRow = -1;
 if ($Rs && safe_num_rows($Rs) > 0) {
     while ($MyRow = safe_fetch($Rs)) {
         /*
          * Se la persona ha la rank tra quelle selezionate, la sessione è quella selezionata
          * E HO ancora bersagli di destinazione aggiungo in $data2up
          */
         if ($index < count($targets)) {
             if ($MyRow->Rank >= $rank1 && $MyRow->Rank <= $rank2 && ($startSession == 0 || $MyRow->QuSession != 0 && $MyRow->QuSession == $startSession)) {
                 $trgt = $targets[0];
                 $index = 0;
                 if ($MyRow->EnWChair) {
                     // cerca il target B successivo
                     while ($index < count($targets) and substr($targets[$index], -1) != 'B') {
                         $index++;
                     }
                     // se esiste sposta l'arciere su quel bersaglio ed elimina il 'D' relativo
Example #9
0
 /**
  * Viene chiamata per fare i passaggi di fase delle finali
  *
  * @param array int $keys: vettore delle chiavi per il passaggio di fase
  * @param array int $team: 0 individuali 1 squadre
  * @param boolean &$error: true se il post processo genera un errore
  */
 private function nextPhase($keys, $team, &$error)
 {
     /*
      * Se non ci sono $keys buone non ho passaggi di fase e il post-processing fallisce
      */
     if (count($keys) == 0) {
         $error = true;
         return;
     }
     foreach ($keys as $key => $value) {
         $events = implode(',', array_keys($value));
         $query = "";
         if ($team == 0) {
             $query = "SELECT GrPhase AS Phase,GrPosition AS Position,\t/* Grids*/ " . "FinMatchNo AS MatchNo,FinEvent AS Event, FinAthlete AS Id, FinScore AS Score,FinTie AS Tie, " . "IF(GrPhase>2, FLOOR(FinMatchNo/2),FLOOR(FinMatchNo/2)-2) AS NextMatchNo " . "FROM Finals INNER JOIN Grids ON FinMatchNo=GrMatchNo AND GrPhase=" . StrSafe_DB($key) . " " . "LEFT JOIN Entries ON FinAthlete=EnId AND FinEvent IN(" . $events . ') ' . "WHERE FinTournament=" . $this->getTourId() . " " . "ORDER BY FinEvent, NextMatchNo ASC, FinScore DESC, FinTie DESC ";
         } else {
             $query = "SELECT GrPhase AS Phase,GrPosition AS Position,\t/* Grids*/ " . "TfTeam AS Id,TfMatchNo AS MatchNo,TfEvent AS Event, TfScore AS Score,TfTie AS Tie, " . "IF(GrPhase>2, FLOOR(TfMatchNo/2),FLOOR(TfMatchNo/2)-2) AS NextMatchNo " . "FROM TeamFinals INNER JOIN Grids ON TfMatchNo=GrMatchNo AND GrPhase=" . StrSafe_DB($key) . " " . "WHERE TfTournament=" . $this->getTourId() . " AND TfEvent IN (" . $events . ") " . "ORDER BY TfEvent, NextMatchNo ASC, TfScore DESC, TfTie DESC ";
         }
         //print $query . '<br>';exit;
         $rs = safe_r_SQL($query);
         $myNextMatchNo = 'xx';
         $row = array();
         if (safe_num_rows($rs) > 0) {
             while ($row0 = safe_fetch($rs)) {
                 $row1 = safe_fetch($rs);
                 $athProp = 0;
                 $myUpQuery = "";
                 if ($row0->Phase >= 2) {
                     if (($row0->Score > 0 || $row0->Tie > 0) && ($row0->Score != $row1->Score || $row0->Tie != $row1->Tie)) {
                         if ($team == 0) {
                             $myUpQuery = "UPDATE Finals SET ";
                             $myUpQuery .= "FinAthlete =" . StrSafe_DB($row0->Id) . ", ";
                             $myUpQuery .= "FinDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE FinEvent=" . StrSafe_DB($row0->Event) . " AND FinMatchNo=" . StrSafe_DB($row0->NextMatchNo) . " AND FinTournament=" . $this->getTourId() . " ";
                         } else {
                             $myUpQuery = "UPDATE TeamFinals SET ";
                             $myUpQuery .= "TfTeam =" . StrSafe_DB($row0->Id) . ", ";
                             $myUpQuery .= "TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE TfEvent=" . StrSafe_DB($row0->Event) . " AND TfMatchNo=" . StrSafe_DB($row0->NextMatchNo) . " AND TfTournament=" . $this->getTourId() . " ";
                         }
                         //print $myUpQuery . '<br><br>';
                         $rsUp = safe_w_sql($myUpQuery);
                         $athProp = $row0->Id;
                     } else {
                         if ($team == 0) {
                             $myUpQuery = "UPDATE Finals SET ";
                             $myUpQuery .= "FinAthlete ='0', ";
                             $myUpQuery .= "FinDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE FinEvent=" . StrSafe_DB($row0->Event) . " AND FinMatchNo=" . StrSafe_DB($row0->NextMatchNo) . " AND FinTournament=" . $this->getTourId() . " ";
                         } else {
                             $myUpQuery = "UPDATE TeamFinals SET ";
                             $myUpQuery .= "TfTeam ='0', ";
                             $myUpQuery .= "TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE TfEvent=" . StrSafe_DB($row0->Event) . " AND TfMatchNo=" . StrSafe_DB($row0->NextMatchNo) . " AND TfTournament=" . $this->getTourId() . " ";
                         }
                         $rsUp = safe_w_sql($myUpQuery);
                     }
                 }
                 if ($row1->Phase == 2) {
                     if (($row1->Score > 0 || $row1->Tie > 0) && ($row0->Score != $row1->Score || $row0->Tie != $row1->Tie)) {
                         if ($team == 0) {
                             $myUpQuery = "UPDATE Finals SET ";
                             $myUpQuery .= "FinAthlete =" . StrSafe_DB($row1->Id) . ", ";
                             $myUpQuery .= "FinDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE FinEvent=" . StrSafe_DB($row1->Event) . " AND FinMatchNo=" . StrSafe_DB($row1->NextMatchNo + 2) . " AND FinTournament=" . $this->getTourId() . " ";
                         } else {
                             $myUpQuery = "UPDATE TeamFinals SET ";
                             $myUpQuery .= "TfTeam =" . StrSafe_DB($row1->Id) . ", ";
                             $myUpQuery .= "TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE TfEvent=" . StrSafe_DB($row1->Event) . " AND TfMatchNo=" . StrSafe_DB($row1->NextMatchNo + 2) . " AND TfTournament=" . $this->getTourId() . " ";
                         }
                         $rsUp = safe_w_sql($myUpQuery);
                         $athProp = $Row1->FinAthlete;
                     } else {
                         if ($team == 0) {
                             $myUpQuery = "UPDATE Finals SET ";
                             $myUpQuery .= "FinAthlete =" . StrSafe_DB($row1->Id) . ", ";
                             // 0
                             $myUpQuery .= "FinDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE FinEvent=" . StrSafe_DB($row1->Event) . " AND FinMatchNo=" . StrSafe_DB($row1->NextMatchNo + 2) . " AND FinTournament=" . $this->getTourId() . " ";
                         } else {
                             $myUpQuery = "UPDATE TeamFinals SET ";
                             $myUpQuery .= "TfTeam =" . StrSafe_DB($row1->Id) . ", ";
                             // 0
                             $myUpQuery .= "TfDateTime=" . StrSafe_DB(date('Y-m-d H:i:s')) . " ";
                             $myUpQuery .= "WHERE TfEvent=" . StrSafe_DB($row1->Event) . " AND TfMatchNo=" . StrSafe_DB($row1->NextMatchNo + 2) . " AND TfTournament=" . $this->getTourId() . " ";
                         }
                         $rsUp = safe_w_sql($myUpQuery);
                     }
                     // Devo fare la propagazione del nome se il matchno>7 (fase>2)
                     $oldId = $athProp != 0 ? StrSafe_DB($row1->Id) : StrSafe_DB($row0->Id) . ',' . StrSafe_DB($row1->Id);
                     $update = "";
                     if ($team == 0) {
                         $update = "UPDATE Finals SET " . "FinAthlete=" . StrSafe_DB($athProp) . " " . "WHERE FinAthlete IN (" . $oldId . ") AND FinTournament=" . $this->getTourId() . " AND FinEvent=" . StrSafe_DB($row0->Event) . " AND FinMatchNo<" . StrSafe_DB($row0->NextMatchNo) . " AND (FinScore<>0 OR FinTie<>0) ";
                     } else {
                         $update = "UPDATE TeamFinals SET " . "TfTeam=" . StrSafe_DB($athProp) . " " . "WHERE TfTeam IN (" . $oldId . ") AND TfTournament=" . $this->getTourId() . " AND TfEvent=" . StrSafe_DB($row0->Event) . " AND TfMatchNo<" . StrSafe_DB($row0->NextMatchNo) . " AND (TfScore<>0 OR TfTie<>0) ";
                     }
                     //print $update . '<br><br>';
                     $rsProp = safe_w_sql($update);
                     if (safe_w_affected_rows() > 0) {
                         $error = false;
                     }
                 }
             }
         }
     }
 }
Example #10
0
<?php

require_once dirname(dirname(dirname(__FILE__))) . '/config.php';
CheckTourSession(true);
print_r($_COOKIE);
$JS_SCRIPT = array('<script type="text/javascript" src="Fun_AJAX_GetImage.js"></script>', '<script type="text/javascript" src="../Fun_JS.js"></script>');
$txtHeader = "";
$athId = empty($_REQUEST['AthId']) || $_REQUEST['AthId'] == 0 ? null : $_REQUEST['AthId'];
$sql = "SELECT EnCode, EnFirstName, EnName FROM Entries WHERE EnId=" . StrSafe_DB($athId) . " AND EnTournament=" . StrSafe_DB($_SESSION['TourId']);
$Rs = safe_r_sql($sql);
if (safe_num_rows($Rs) == 1) {
    $MyRow = safe_fetch($Rs);
    $txtHeader = $MyRow->EnCode . " - " . $MyRow->EnFirstName . " " . $MyRow->EnName;
}
$x = 168;
$y = 78;
$w = 300;
$camurl = empty($_REQUEST['CamUrl']) ? "" : urldecode($_REQUEST['CamUrl']);
if (!$camurl) {
    $camurl = $_COOKIE['CamUrl'];
}
$boundary = "\n--";
$f = @fopen($camurl, "r");
if ($camurl and $f) {
    $r = "";
    $im = null;
    if (preg_match('/\\.jpg$/i', $camurl) != 0) {
        while (!feof($f)) {
            $r .= fread($f, 4096);
        }
        $im = imagecreatefromstring($r);
Example #11
0
if (safe_num_rows($Rs) > 0) {
    echo get_text('Event') . '<br><select id="event1" name="Event[]" multiple="multiple" rows="' . (safe_num_rows($Rs) + 1) . '">';
    while ($MyRow = safe_fetch($Rs)) {
        echo '<option value="' . $MyRow->EvCode . '@1">' . $MyRow->EvCode . ' - ' . get_text($MyRow->EvEventName, '', '', true) . '</option>';
    }
    echo '</select>';
    safe_free_result($Rs);
}
echo '<br><br><a class="Link" href="javascript:SelectAllOpt(\'event1\');">' . get_text('SelectAll') . '</a>';
print '</td>';
//2o girone eliminatorio
print '<td colspan="2" width="50%" class="Center">';
$MySql = "SELECT EvCode, EvEventName FROM Events WHERE EvTeamEvent='0' AND EvElim2!=0 AND EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " ORDER BY EvProgr";
$Rs = safe_r_sql($MySql);
if (safe_num_rows($Rs) > 0) {
    echo get_text('Event') . '<br><select id="event2" name="Event[]" multiple="multiple" rows="' . (safe_num_rows($Rs) + 1) . '">';
    while ($MyRow = safe_fetch($Rs)) {
        echo '<option value="' . $MyRow->EvCode . '@2">' . $MyRow->EvCode . ' - ' . get_text($MyRow->EvEventName, '', '', true) . '</option>';
    }
    echo '</select>';
    safe_free_result($Rs);
}
echo '<br><br><a class="Link" href="javascript:SelectAllOpt(\'event2\');">' . get_text('SelectAll') . '</a>';
print '</td>';
echo '</tr>';
//Oris e Pulsante
echo '<tr>';
print '<td colspan="4" class="Center">';
echo '<br/><br/><input id="ShowOrisIndividual" name="ShowOrisIndividual" type="checkbox" value="1" onClick="javascript:CheckIfOris(\'ShowOrisIndividual\',\'PrnParametersInd\');"' . ($_SESSION['ISORIS'] ? ' checked="checked"' : '') . '>&nbsp;' . get_text('StdORIS', 'Tournament') . '<br>';
echo '<br><input type="submit" name="Button" value="' . get_text('Print', 'Tournament') . '"><br>&nbsp;';
print '</td>';
Example #12
0
     $num4session = $ses[0]->SesTar4Session * $ses[0]->SesAth4Target;
 }
 // Mi serve la sessione attuale del tizio
 $query = "SELECT " . "QuSession " . "FROM " . "Qualifications " . "WHERE QuId=" . StrSafe_DB($id) . " ";
 $rs = safe_r_sql($query);
 $old = 0;
 if ($rs) {
     if (safe_num_rows($rs) == 1) {
         $myRow = safe_fetch($rs);
         $old = $myRow->QuSession;
         if ($session != 0 && $session != $old) {
             // conto gli arcieri di $session sessione
             $query = "SELECT " . "COUNT(QuId) AS HowMany " . "FROM " . "Qualifications INNER JOIN Entries ON QuId=EnId AND EnTournament=" . $tourId . " " . "WHERE QuSession=" . StrSafe_DB($session) . " ";
             $rs = safe_r_sql($query);
             if ($rs) {
                 if (safe_num_rows($rs) == 1) {
                     $myRow = safe_fetch($rs);
                     if ($num4session < $myRow->HowMany + 1) {
                         $tooMany = 1;
                         $msg = get_text('NoMoreAth4Session', 'Tournament');
                     }
                 }
             }
         }
         if ($tooMany == 0) {
             $query = "UPDATE " . "Qualifications " . "SET " . "QuSession=" . StrSafe_DB($session) . " " . "WHERE " . "QuId=" . StrSafe_DB($id) . " ";
             $rs = safe_w_sql($query);
             // se la riga è stata aggiornata significa che la session è cambiata quindi annullo il target
             if (safe_w_affected_rows() == 1) {
                 $query = "UPDATE " . "Qualifications " . "SET " . "QuTargetNo='', QuBacknoPrinted=0 " . "WHERE " . "QuId=" . StrSafe_DB($id) . " ";
                 $rs = safe_w_sql($query);
Example #13
0
if ($Rs) {
    while ($RowEv = safe_fetch($Rs)) {
        if ($RowEv->EvTeamEvent == '0') {
            $FinEventInd = $RowEv->Quanti;
        } elseif ($RowEv->EvTeamEvent == '1') {
            $FinEventTeam = $RowEv->Quanti;
        }
    }
}
// Cerco gli eventi delle eliminatorie
$ElimEvent = array(1 => 0, 2 => 0);
for ($i = 1; $i <= 2; ++$i) {
    $Select = "SELECT EvCode FROM Events " . "WHERE EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND EvElim" . $i . ">0 AND EvE" . $i . "ShootOff=1 ";
    $Rs = safe_r_sql($Select);
    if ($Rs && safe_num_rows($Rs) > 0) {
        $ElimEvent[$i] = safe_num_rows($Rs);
    }
}
list($asc, ) = ExportASC();
/*
 * preparo il vettore con i file che non sono pdf
 * Mentre lo faccio inizializzo il vettore per ciclare tra i pdf
 */
$pdfFiles = array($ToCode . '_report.pdf' => dirname(__FILE__) . '/FinalReport/PDFReport.php', $ToCode . '.pdf' => dirname(dirname(__FILE__)) . '/Qualification/PrnIndividual.php', $ToCode . '_team.pdf' => dirname(dirname(__FILE__)) . '/Qualification/PrnTeam.php');
$Tour = array();
$Tour[$ToCode . '.ianseo'] = gzcompress(serialize(export_tournament($_SESSION['TourId'], false)));
$Tour[$ToCode . '.asc'] = $asc;
$Tour[$ToCode . '.lst'] = ExportLSTInd();
$Tour[$ToCode . '_team.lst'] = ExportLSTTeam();
if ($ElimEvent[1] > 0 || $ElimEvent[2] > 0) {
    //$Tour[$ToCode . '_elim.pdf'] = URLWrapper($CFG->ROOT_DIR .'Elimination/PrnIndividual.php?Lang=' . SelectLanguage(). '&TourId=' . $_SESSION['TourId'] . '&ToFitarco=ignored&Dest=S');
Example #14
0
<?php

require_once dirname(dirname(__FILE__)) . '/config.php';
require_once 'Common/pdf/LabelPDF.inc.php';
require_once 'CommonCard.php';
$Rs = safe_r_sql($MyQuery);
if (!safe_num_rows($Rs)) {
    include 'Common/Templates/head-popup.php';
    echo '<table height="' . ($_SESSION['WINHEIGHT'] - 50) . '" width="100%"><tr><td>';
    echo '<div align="center">' . get_text('BadgeNoData', 'Tournament') . '';
    echo '<br/><br/><input type="button" onclick="window.close();" value="' . get_text('Close') . '">';
    echo '</td></tr></table>';
    include 'Common/Templates/tail-popup.php';
    die;
}
$pdf = new LabelPDF();
$pdf->SetAutoPageBreak(false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$cntPass = 0;
$ImgSxSize = NULL;
$ImgDxSize = NULL;
$ImgLowSize = NULL;
if (!empty($pdf->ToPaths['ToLeft'])) {
    $ImgSxSize = getimagesize($pdf->ToPaths['ToLeft']);
}
if (!empty($pdf->ToPaths['ToRight'])) {
    $ImgDxSize = getimagesize($pdf->ToPaths['ToRight']);
}
if (!empty($pdf->ToPaths['ToBottom'])) {
    $ImgLowSize = getimagesize($pdf->ToPaths['ToBottom']);
Example #15
0
        //$year = date('Y') - $yy;
        $year = date('Y', $_SESSION['ToWhenFromUTS']) - $yy;
        // Estraggo l'ageclass dalla tabella
        $Select = "SELECT ClId,ClValidClass " . "FROM Classes " . "WHERE ClTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND ClAgeFrom<=" . StrSafe_DB($year) . " AND ClAgeTo>=" . StrSafe_DB($year) . " ";
        //. "AND ClSex = " . StrSafe_DB($Sex) . " ";
        $cond = "AND ClSex = " . StrSafe_DB($_REQUEST['d_e_EnSex']) . " ";
        $condUnisex = "AND ClSex = -1 ";
        $RsCl = safe_r_sql($Select . $cond);
        //print $Select.$cond;exit;
        if (safe_num_rows($RsCl) == 1) {
            $MyRow = safe_fetch($RsCl);
            $AgeClass = $MyRow->ClId;
            $Classes = $MyRow->ClValidClass;
        } elseif (safe_num_rows($RsCl) == 0) {
            $RsCl = safe_r_sql($Select . $condUnisex);
            if (safe_num_rows($RsCl) == 1) {
                $Row = safe_fetch($RsCl);
                $AgeClass = $Row->ClId;
                $Classes = $MyRow->ClValidClass;
            }
        }
    }
} else {
    $Errore = 1;
}
if (!debug) {
    header('Content-Type: text/xml');
}
print '<response>' . "\n";
print '<error>' . $Errore . '</error>' . "\n";
print '<ageclass><![CDATA[' . $AgeClass . ']]></ageclass>' . "\n";
Example #16
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>';
                    }
                }
            }
        } else {
            $Msg = '<strong>' . get_text('SetDistanceError', 'HTT') . '</strong>';
        }
    }
    //exit;
}
$PAGE_TITLE = get_text('CmdImport', 'HTT');
include 'Common/Templates/head.php';
?>
 /**
  * calcFromPhase()
  * Calcola la FinalRank per un evento in una certa fase
  * @param string $event: evento
  * @param int $phase: fase
  * @return boolean: true ok false altrimenti. In un ciclo il primo errore fa terminare il metodo con false!
  */
 protected function calcFromPhase($event, $phase)
 {
     // trasformo la fase
     $phase = valueFirstPhase($phase);
     $date = date('Y-m-d H:i:s');
     // reset delle RankFinal della fase x le persone di quell'evento e quella fase
     $q = "\r\n\t\t\t\tUPDATE\r\n\t\t\t\t\tIndividuals\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tFinals\r\n\t\t\t\t\tON IndId=FinAthlete AND IndTournament=FinTournament AND IndEvent=FinEvent\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tGrids\r\n\t\t\t\t\tON FinMatchNo=GrMatchNo AND GrPhase={$phase}\r\n\t\t\t\tSET\r\n\t\t\t\t\tIndRankFinal=0,\r\n\t\t\t\t\tIndTimestampFinal='{$date}'\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tGrPhase={$phase} AND IndTournament={$this->tournament} AND IndEvent='{$event}'\r\n\t\t\t";
     //print $q.'<br><br>';
     $r = safe_w_sql($q);
     if (!$r) {
         return false;
     }
     /*
      *  Tiro fuori gli scontri con i perdenti nei non Opp
      */
     $q = "\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tf.FinAthlete AS AthId,\r\n\t\t\t\t\tf2.FinAthlete AS OppAthId,\r\n\t\t\t\t\tIF(EvMatchMode=0,f.FinScore,f.FinSetScore) AS Score, f.FinScore AS CumScore,f.FinTie AS Tie,\r\n\t\t\t\t\tIF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) as OppScore, f2.FinScore AS OppCumScore,f2.FinTie as OppTie\r\n\t\t\t\tFROM\r\n\t\t\t\t\tFinals AS f\r\n\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tFinals AS f2\r\n\t\t\t\t\tON f.FinEvent=f2.FinEvent AND f.FinMatchNo=IF((f.FinMatchNo % 2)=0,f2.FinMatchNo-1,f2.FinMatchNo+1) AND f.FinTournament=f2.FinTournament\r\n\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tGrids\r\n\t\t\t\t\tON f.FinMatchNo=GrMatchNo\r\n\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tEvents\r\n\t\t\t\t\tON f.FinEvent=EvCode AND f.FinTournament=EvTournament AND EvTeamEvent=0\r\n\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tf.FinTournament={$this->tournament} AND f.FinEvent='{$event}' AND GrPhase={$phase}\r\n\t\t\t\t\tAND (IF(EvMatchMode=0,f.FinScore,f.FinSetScore) < IF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) OR (IF(EvMatchMode=0,f.FinScore,f.FinSetScore)=IF(EvMatchMode=0,f2.FinScore,f2.FinSetScore) AND f.FinTie < f2.FinTie))\r\n\t\t\t\tORDER BY\r\n\t\t\t\t\tIF(EvMatchMode=0,f.FinScore,f.FinSetScore) DESC,f.FinScore DESC\r\n\t\t\t";
     //print $q.'<br><br>';
     $rs = safe_r_sql($q);
     if ($rs) {
         if (safe_num_rows($rs) > 0) {
             /*
              * Se fase 0 (oro) il perdente ha la rank=2 e il vincente piglia 1,
              * se fase 1 (bronzo) il perdente ha la rank=4 e il vincete piglia 3
              * e in entrambi i casi avrò sempre e solo una riga.
              *
              * Se fase 2 (semi) non succede nulla.
              *
              * Per le altre fasi si cicla nel recordset che ha il numero di righe >=0
              */
             if ($phase == 0 || $phase == 1) {
                 $myRow = safe_fetch($rs);
                 $toWrite = array();
                 if ($phase == 0) {
                     // vincente
                     $toWrite[] = array('event' => $event, 'id' => $myRow->OppAthId, 'rank' => 1);
                     // perdente
                     $toWrite[] = array('event' => $event, 'id' => $myRow->AthId, 'rank' => 2);
                 } elseif ($phase == 1) {
                     // vincente
                     $toWrite[] = array('event' => $event, 'id' => $myRow->OppAthId, 'rank' => 3);
                     // perdente
                     $toWrite[] = array('event' => $event, 'id' => $myRow->AthId, 'rank' => 4);
                 }
                 foreach ($toWrite as $values) {
                     $x = $this->writeRow($values['id'], $values['event'], $values['rank']);
                     if ($x === false) {
                         return false;
                     }
                 }
             } elseif ($phase == 2) {
                 // non faccio nulla!
             } else {
                 // qui posso avere tante righe
                 $pos = 0;
                 /*
                  * Le posizioni partono dal numero della fase perchè poi l'incremento avverrà sempre.
                  * (@see Obj_Rank_FinalInd_calc base)
                  * I 1/48 quindi andranno inizializzati a 56 perchè la prima rank buona è 57.
                  * Con tutte le fase avverrno gli incrementi
                  */
                 switch ($phase) {
                     case 4:
                         $pos = 4;
                         // si parte da 5 quindi qui metto 4 dato che la fase è 4 (vedi commento qui sopra)
                         break;
                     case 8:
                         $pos = 8;
                         break;
                     case 16:
                         $pos = 16;
                         break;
                     case 32:
                         // (e 24)
                         $pos = 32;
                         break;
                     case 48:
                         $pos = 56;
                         break;
                     case 64:
                         $pos = 64;
                         break;
                     default:
                         return false;
                 }
                 $rank = $pos + 1;
                 $scoreOld = 0;
                 $cumOld = 0;
                 while ($myRow = safe_fetch($rs)) {
                     ++$pos;
                     //print $pos . ' - ';
                     if (!($myRow->Score == $scoreOld && $myRow->CumScore == $cumOld)) {
                         $rank = $pos;
                     }
                     //print $rank.'<br>';
                     $scoreOld = $myRow->Score;
                     $cumOld = $myRow->CumScore;
                     // devo scrivere solo il perdente
                     $x = $this->writeRow($myRow->AthId, $event, $rank);
                     if ($x === false) {
                         return false;
                     }
                 }
             }
         }
     } else {
         return false;
     }
     return true;
 }
Example #18
0
}
//Individual Cl/div
$Sql = "SELECT CONCAT(DivId,ClId) as Event\r\n\t\tFROM Divisions INNER JOIN Classes ON DivTournament=ClTournament\r\n\t\tLEFT JOIN Awards ON DivTournament=AwTournament AND CONCAT(DivId,ClId)=AwEvent AND AwFinEvent=0 AND AwTeam=0\r\n\t\tWHERE DivTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND ClAthlete=1 AND DivAthlete=1 AND AwEvent IS NULL";
$Rs = safe_r_SQL($Sql);
if (safe_num_rows($Rs)) {
    $needSubmit = true;
    echo '<tr><th style="width: 15%">' . get_text('ResultIndClass', 'Tournament') . '</th><td>';
    while ($row = safe_fetch($Rs)) {
        echo '<input type="checkbox" name="addField[]" value="' . $row->Event . '|0|0">' . $row->Event . "&nbsp;&nbsp;&nbsp;";
    }
    echo '</td></tr>';
}
//Team Cl/div
$Sql = "SELECT CONCAT(DivId,ClId) as Event\r\n\t\tFROM Divisions INNER JOIN Classes ON DivTournament=ClTournament\r\n\t\tLEFT JOIN Awards ON DivTournament=AwTournament AND CONCAT(DivId,ClId)=AwEvent AND AwFinEvent=0 AND AwTeam=1\r\n\t\tWHERE DivTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND ClAthlete=1 AND DivAthlete=1 AND AwEvent IS NULL";
$Rs = safe_r_SQL($Sql);
if (safe_num_rows($Rs)) {
    $needSubmit = true;
    echo '<tr><th style="width: 15%">' . get_text('ResultSqClass', 'Tournament') . '</th><td>';
    while ($row = safe_fetch($Rs)) {
        echo '<input type="checkbox" name="addField[]" value="' . $row->Event . '|0|1">' . $row->Event . "&nbsp;&nbsp;&nbsp;";
    }
    echo '</td></tr>';
}
if ($needSubmit) {
    echo '<tr><td colspan="2" class="Center"><input type="hidden" name="Command" value="ADD"><input type="submit" name="' . get_text('CmdAdd', 'Tournament') . '"></td></th>';
}
echo '</table></td></tr>';
?>
</table>
<?php 
include 'Common/Templates/tail.php';
Example #19
0
function getTeamBracketsQuery($ORIS = false, $EventRequested = '')
{
    require_once 'Common/Lib/Fun_PrintOuts.php';
    if (!$EventRequested and !empty($_REQUEST['Event'])) {
        $EventRequested = $_REQUEST['Event'];
    }
    if ($ORIS) {
        //Genero la Query dei Nomi
        $MyQueryNames = "SELECT TfcEvent, TfcCoId, TfcSubTeam, TfcOrder, EnFirstName, EnName, CONCAT(TeRank,CHAR(64+TfcOrder)) AS BackNo  ";
        $MyQueryNames .= "FROM TeamFinComponent ";
        $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 = " . StrSafe_DB($_SESSION['TourId']) . " ";
        //Genero la query Degli eventi
        $MyQuery = "SELECT f.TfTeam, f.TfSubTeam, f.TfEvent AS Event, EvEventName AS EventDescr, f.TfMatchNo, EvFinalFirstPhase, TeRank, TeScore, " . "IF(GrPhase!=0,GrPhase,1) as Phase, (GrPhase=1) as Finalina, " . "CONCAT(CoName, IF(f.TfSubTeam>'1',CONCAT(' (',f.TfSubTeam,')'),'')) as Team, CoCode as Country, IF(EvMatchMode=0,f.TfScore,f.TfSetScore) AS Score, f.TfTie, f.TfTieBreak, IF(EvMatchMode=0,f2.TfScore,f2.TfSetScore) as OppScore, f2.TfTie as OppTie, f.TfSetPoints as SetPoints,  " . "IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) GrPosition, EvFinalPrintHead, FSTarget, IFNULL(NComponenti,0) AS NumComponenti, DATE_FORMAT(FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate, DATE_FORMAT(FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime ";
        $MyQuery .= "FROM TeamFinals as f ";
        $MyQuery .= "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 ";
        $MyQuery .= "INNER JOIN Events ON f.TfEvent=EvCode AND f.TfTournament=EvTournament AND EvTeamEvent=1 ";
        $MyQuery .= "INNER JOIN Grids ON f.TfMatchNo=GrMatchNo ";
        $MyQuery .= "LEFT JOIN Teams ON f.TfTeam=TeCoId AND f.TfSubTeam=TeSubTeam AND f.TfEvent=TeEvent AND f.TfTournament=TeTournament AND TeFinEvent=1 ";
        $MyQuery .= "LEFT JOIN Countries ON f.TfTeam=CoId AND f.TfTournament=CoTournament ";
        $MyQuery .= "LEFT JOIN FinSchedule ON f.TfEvent=FSEvent AND f.TfMatchNo=FSMatchNo AND f.TfTournament=FSTournament AND FSTeamEvent='1' ";
        $MyQuery .= "LEFT JOIN (SELECT TfcEvent AS Evento, Max(Quanti) AS NComponenti FROM ( ";
        $MyQuery .= "SELECT TfcEvent, Count( * ) AS Quanti FROM TeamFinComponent WHERE TfcTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
        $MyQuery .= "GROUP BY TfcEvent, TfcCoId, TfcSubTeam) AS Ssqy  GROUP BY TfcEvent) as Sqy ON f.TfEvent=Evento ";
        $MyQuery .= "WHERE f.TfTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
        if ($EventRequested) {
            $MyQuery .= CleanEvents($EventRequested, 'f.TfEvent');
            $MyQueryNames .= CleanEvents($EventRequested, 'TfcEvent');
        }
        $MyQuery .= "ORDER BY EvProgr ASC, EvCode, Phase DESC, f.TfMatchNo ASC ";
        $MyQueryNames .= "ORDER BY TfcEvent, TfcCoId, TfcSubTeam, TfcOrder ";
        //* DEBUG --> */ print $MyQuery;
        $ArrNames = array();
        $RsNames = safe_r_sql($MyQueryNames);
        if (safe_num_rows($RsNames) > 0) {
            $arrKeys = array();
            $arrValues = array();
            while ($MyRow = safe_fetch($RsNames)) {
                $arrKeys[] = $MyRow->TfcEvent . "_" . $MyRow->TfcCoId . "_" . $MyRow->TfcSubTeam . "_" . $MyRow->TfcOrder;
                $arrValues[] = array($MyRow->BackNo, $MyRow->EnFirstName . ' ' . $MyRow->EnName);
            }
            $ArrNames = array_combine($arrKeys, $arrValues);
        }
        return array($MyQuery, $ArrNames);
    }
    //Genero la Query dei Nomi
    $MyQueryNames = "SELECT TfcEvent, TfcCoId, TfcSubTeam, TfcOrder, EnFirstName, EnName ";
    $MyQueryNames .= "FROM TeamFinComponent ";
    $MyQueryNames .= "INNER JOIN Entries ON TfcId=EnId AND TfcTournament=EnTournament ";
    $MyQueryNames .= "WHERE TfcTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
    //Genero la query Degli eventi
    $MyQuery = "SELECT TfTeam, TfSubTeam, TfEvent AS Event, EvEventName AS EventDescr, TfMatchNo, EvFinalFirstPhase, " . "IF(GrPhase!=0,GrPhase,1) as Phase, (GrPhase=1) as finalina, " . "CONCAT(CoName, IF(TfSubTeam>'1',CONCAT(' (',TfSubTeam,')'),'')) as Team, CoCode as Country, IF(EvMatchMode=0,TfScore,TfSetScore) as Score, TfTie, TfTieBreak, " . "IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) GrPosition, EvFinalPrintHead, FSTarget, NumComponenti, DATE_FORMAT(FSScheduledDate,'" . get_text('DateFmtDB') . "') as ScheduledDate, DATE_FORMAT(FSScheduledTime,'" . get_text('TimeFmt') . "') AS ScheduledTime ";
    $MyQuery .= "FROM TeamFinals ";
    $MyQuery .= "INNER JOIN Events ON TfEvent=EvCode AND TfTournament=EvTournament AND EvTeamEvent=1 ";
    $MyQuery .= "INNER JOIN Grids ON TfMatchNo=GrMatchNo ";
    $MyQuery .= "LEFT JOIN Countries ON TfTeam=CoId AND TfTournament=CoTournament ";
    $MyQuery .= "LEFT JOIN FinSchedule ON TfEvent=FSEvent AND TfMatchNo=FSMatchNo AND TfTournament=FSTournament AND FSTeamEvent='1' ";
    $MyQuery .= "LEFT JOIN (SELECT TfcEvent AS Evento, Max( Quanti ) AS NumComponenti FROM ( ";
    $MyQuery .= "SELECT TfcEvent, Count( * ) AS Quanti FROM TeamFinComponent WHERE TfcTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
    $MyQuery .= "GROUP BY TfcEvent, TfcCoId, TfcSubTeam) AS Ssqy  GROUP BY TfcEvent) as Sqy ON TfEvent=Evento ";
    $MyQuery .= "WHERE TfTournament = " . StrSafe_DB($_SESSION['TourId']) . " ";
    if ($EventRequested) {
        $MyQuery .= CleanEvents($EventRequested, 'TfEvent');
        $MyQueryNames .= CleanEvents($EventRequested, 'TfcEvent');
    }
    $MyQuery .= "ORDER BY EvProgr ASC, EvCode, Phase DESC, TfMatchNo ASC ";
    $MyQueryNames .= "ORDER BY TfcEvent, TfcCoId, TfcSubTeam, TfcOrder ";
    //* DEBUG --> */ print $MyQueryNames;
    $ArrNames = array();
    $RsNames = safe_r_sql($MyQueryNames);
    if (safe_num_rows($RsNames) > 0) {
        $arrKeys = array();
        $arrValues = array();
        while ($MyRow = safe_fetch($RsNames)) {
            $arrKeys[] = $MyRow->TfcEvent . "_" . $MyRow->TfcCoId . "_" . $MyRow->TfcSubTeam . "_" . $MyRow->TfcOrder;
            $arrValues[] = $MyRow->EnFirstName . ' ' . $MyRow->EnName;
        }
        $ArrNames = array_combine($arrKeys, $arrValues);
    }
    return array($MyQuery, $ArrNames);
}
 /**
  * read()
  *
  * @Override
  *
  * (non-PHPdoc)
  * @see ianseo/Common/Rank/Obj_Rank#calculate()
  */
 public function read()
 {
     $filter = $this->safeFilter();
     if (array_key_exists('cutScore', $this->opts) && is_numeric($this->opts['cutScore'])) {
         $filter .= "AND TeScore>={$this->opts['cutScore']} ";
     }
     if (array_key_exists('cutRank', $this->opts) && is_numeric($this->opts['cutRank']) && $this->opts['cutRank'] > 0) {
         $filter .= "AND TeRank<={$this->opts['cutRank']} ";
     }
     $orderBy = "DivViewOrder, ClViewOrder, TeRank ASC,CoCode ASC, TcOrder ";
     $q = "\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tToId,TeRank,CoId,CoCode,CoName,\tTeSubTeam \t,TeEvent,ClDescription, DivDescription,\r\n\t\t\t\t\tEnId,EnCode,EnFirstName,upper(EnFirstName) EnFirstNameUpper,EnName,Q,EnClass,EnDivision,EnAgeClass,EnSubClass,\r\n\t\t\t\t\t(QuHits*Q) AS Arrows_Shot, QuSession AS Session, QuScore,QuGold,\tQuXnine, QuClRank, TeScore, TeGold, TeXnine, TeHits, ToGolds, ToXNine, TeTimeStamp\r\n\t\t\t\tFROM\r\n\t\t\t\t\tTournament\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tTeams\r\n\t\t\t\t\tON ToId=TeTournament AND TeFinEvent=0\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tCountries\r\n\t\t\t\t\tON TeCoId=CoId AND TeTournament=CoTournament\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\tTcCoId, TcEvent, TcTournament, TcFinEvent, COUNT(TcId) as Q\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tTeamComponent\r\n\t\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\t\tTcCoId, TcEvent\r\n\t\t\t\t\t\t) AS sq\r\n\t\t\t\t\tON TeCoId=sq.TcCoId AND TeEvent=sq.TcEvent AND TeTournament=sq.TcTournament AND TeFinEvent=sq.TcFinEvent\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tTeamComponent  AS tc\r\n\t\t\t\t\tON TeCoId=tc.TcCoId AND TeEvent=tc.TcEvent AND TeTournament=tc.TcTournament AND TeFinEvent=tc.TcFinEvent\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tEntries\r\n\t\t\t\t\tON TcId=EnId\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tQualifications\r\n\t\t\t\t\tON EnId=QuId\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\tSELECT\r\n\t\t\t\t\t\t\t\tCONCAT(DivId, ClId) DivClass, Divisions.*, Classes.*\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\tDivisions\r\n\t\t\t\t\t\t\t\t\tINNER JOIN Classes\r\n\t\t\t\t\t\t\t\tON DivTournament=ClTournament\r\n\t\t\t\t\t\t\tWHERE DivAthlete AND ClAthlete\r\n\t\t\t\t\t\t) AS DivClass\r\n\t\t\t\t\tON TeEvent=DivClass AND TeTournament=DivTournament\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tToId={$this->tournament}\r\n\t\t\t\t\t{$filter}\r\n\t\t\t\tORDER BY\r\n\t\t\t\t\t{$orderBy}\r\n\t\t\t";
     //print $q;exit;
     $r = safe_r_sql($q);
     $this->data['meta']['title'] = get_text('ResultClass', 'Tournament') . ' - ' . get_text('Teams');
     $this->data['meta']['lastUpdate'] = '0000-00-00 00:00:00';
     $this->data['sections'] = array();
     $myEv = '';
     $myTeam = '';
     if (safe_num_rows($r) > 0) {
         $section = null;
         while ($row = safe_fetch($r)) {
             if ($myEv != $row->TeEvent) {
                 if ($myEv != '') {
                     foreach ($section["meta"]["arrowsShot"] as $k => $v) {
                         if ($v) {
                             $section["meta"]["sesArrows"][$k] = str_replace("<br/>", " ", get_text('AfterXArrows', 'Common', $v));
                         }
                     }
                     $this->data['sections'][$myEv] = $section;
                     $section = null;
                 }
                 $myEv = $row->TeEvent;
                 $tmp = '';
                 if (substr($row->TeEvent, 0, 2) == 'XX' && !is_null($row->ClDescription)) {
                     $tmp = get_text('Team', '', '', true) . " - " . get_text($row->ClDescription, '', '', true);
                 } else {
                     if (!is_null($row->DivDescription) && !is_null($row->ClDescription)) {
                         $tmp = get_text($row->DivDescription, '', '', true) . " - " . get_text($row->ClDescription, '', '', true);
                     } else {
                         $tmp = get_text($row->TeEvent, '', '', true);
                     }
                 }
                 $fields = array('id' => 'Id', 'countryCode' => '', 'countryName' => get_text('Country'), 'subteam' => get_text('PartialTeam'), 'athletes' => array('name' => get_text('Name', 'Tournament'), 'fields' => array('id' => 'Id', 'bib' => get_text('Code', 'Tournament'), 'athlete' => get_text('Athlete'), 'familyname' => get_text('FamilyName', 'Tournament'), 'givenname' => get_text('Name', 'Tournament'), 'div' => get_text('Division'), 'class' => get_text('Cl'), 'ageclass' => get_text('AgeCl'), 'subclass' => get_text('SubCl', 'Tournament'), 'quscore' => get_text('TotaleScore'), 'qugold' => $row->ToGolds, 'quxnine' => $row->ToXNine)), 'rank' => get_text('PositionShort'), 'score' => get_text('TotaleScore'), 'gold' => $row->ToGolds, 'xnine' => $row->ToXNine, 'hits' => get_text('Arrows', 'Tournament'));
                 $section = array('meta' => array('event' => $myEv, 'descr' => get_text($row->DivDescription, '', '', true) . " - " . get_text($row->ClDescription, '', '', true), 'arrowsShot' => array(), 'sesArrows' => array(), 'fields' => $fields));
             }
             if ($myTeam != $row->CoId . $row->TeEvent) {
                 $item = array('id' => $row->CoId, 'countryCode' => $row->CoCode, 'countryName' => $row->CoName, 'subteam' => $row->TeSubTeam, 'athletes' => array(), 'rank' => $row->TeRank, 'score' => $row->TeScore . "(" . $row->TeHits . ")", 'gold' => $row->TeGold, 'xnine' => $row->TeXnine, 'hits' => $row->TeHits);
                 $section['items'][] = $item;
                 //Gestisco il numero di frecce tirate per sessione
                 if (empty($section["meta"]["arrowsShot"][$row->Session]) || $section["meta"]["arrowsShot"][$row->Session] <= $row->Arrows_Shot) {
                     $section["meta"]["arrowsShot"][$row->Session] = $row->Arrows_Shot;
                 }
                 if ($row->TeTimeStamp > $this->data['meta']['lastUpdate']) {
                     $this->data['meta']['lastUpdate'] = $row->TeTimeStamp;
                 }
                 $myTeam = $row->CoId . $row->TeEvent;
             }
             if (!array_key_exists('components', $this->opts) || $this->opts['components']) {
                 $athlete = array('id' => $row->EnId, 'bib' => $row->EnCode, 'athlete' => $row->EnFirstNameUpper . ' ' . $row->EnName, 'familyname' => $row->EnFirstName, 'familynameUpper' => $row->EnFirstNameUpper, 'givenname' => $row->EnName, 'div' => $row->EnDivision, 'class' => $row->EnClass, 'ageclass' => $row->EnAgeClass, 'subclass' => $row->EnSubClass, 'quscore' => $row->QuClRank . "(" . $row->QuScore . ")", 'qugold' => $row->QuGold, 'quxnine' => $row->QuXnine);
                 //						$i=0;
                 //						if (array_key_exists('items',$section))
                 //							$i=count($section['items'])-1;
                 //						$section['items'][$i]['athletes']['items'][]=$athlete;
                 $section['items'][count($section['items']) - 1]['athletes'][] = $athlete;
             }
         }
         foreach ($section["meta"]["arrowsShot"] as $k => $v) {
             if ($v) {
                 $section["meta"]["sesArrows"][$k] = str_replace("<br/>", " ", get_text('AfterXArrows', 'Common', $v));
             }
         }
         // ultimo giro
         $this->data['sections'][$myEv] = $section;
     }
 }
 /**
  * calculate()
  *
  * @Override
  *
  * (non-PHPdoc)
  * @see ianseo/Common/Rank/Obj_Rank#calculate()
  */
 public function calculate()
 {
     $f = $this->safeFilter();
     $filter = $f !== false ? $f : "";
     $orderBy = "TeEvent, TeScore DESC, TeGold DESC, TeXnine DESC, TeSubTeam ";
     $q = "\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tTeTournament,TeCoId,TeSubTeam,TeEvent,\r\n\t\t\t\t\tIFNULL(IF(EvRunning=1, TeScore/TeHits,TeScore),0) as TeScore, TeGold, TeXnine,\r\n\t\t\t\t\tIF(EvFinalFirstPhase=0,9999,IF(EvFinalFirstPhase=48, 104, IF(EvFinalFirstPhase=24, 56, (EvFinalFirstPhase*2)))) AS QualifiedNo,\r\n\t\t\t\t\tTeRank AS ActualRank\r\n\t\t\t\t FROM\r\n\t\t\t\t \tTeams\r\n\t\t\t\t \tINNER JOIN\r\n\t\t\t\t \t\tEvents\r\n\t\t\t\t \tON TeEvent=EvCode AND TeTournament=EvTournament AND EvTeamEvent=1\r\n\t\t\t\t WHERE\r\n\t\t\t\t \tTeTournament={$this->tournament} AND TeFinEvent=1 AND TeScore<>'0'\r\n\t\t\t\t \t{$filter}\r\n\t\t\t\t ORDER BY\r\n\t\t\t\t \t{$orderBy}\r\n\t\t\t";
     //print $q;exit;
     $r = safe_r_sql($q);
     if (!$r) {
         return false;
     }
     if (safe_num_rows($r) > 0) {
         $curGroup = "";
         $myRank = 1;
         $myPos = 0;
         $endQualified = false;
         $myScoreOld = 0;
         $myGoldOld = 0;
         $myXNineOld = 0;
         $myEndScore = -1;
         $myGroupStartPos = 0;
         $currentRow = -1;
         while ($myRow = safe_fetch($r)) {
             ++$currentRow;
             if ($curGroup != $myRow->TeEvent) {
                 $curGroup = $myRow->TeEvent;
                 $myRank = 1;
                 $myPos = 0;
                 $myScoreOld = 0;
                 $myGoldOld = 0;
                 $myXNineOld = 0;
                 $endQualified = false;
                 $myGroupStartPos = $currentRow;
                 /*
                  * Carico l'ultimo punteggio per entrare.
                  * Vado a brancare la riga con l'ultimo Score buono
                  */
                 if (safe_num_rows($r) > $myGroupStartPos + $myRow->QualifiedNo) {
                     safe_data_seek($r, $myGroupStartPos + $myRow->QualifiedNo - 1);
                     $tmpMyRow = safe_fetch($r);
                     if ($curGroup == $tmpMyRow->TeEvent) {
                         $myEndScore = $tmpMyRow->TeScore;
                         $tmpMyRow = safe_fetch($r);
                         //Controllo se c'è parimerito per entrare
                         if ($myEndScore != $tmpMyRow->TeScore || $curGroup != $tmpMyRow->TeEvent) {
                             $myEndScore *= -1;
                         }
                     } else {
                         $myEndScore = -1;
                     }
                     $tmpMyRow = NULL;
                 } else {
                     safe_data_seek($r, safe_num_rows($r) - 1);
                     $tmpMyRow = safe_fetch($r);
                     $myEndScore = -1;
                 }
                 safe_data_seek($r, $myGroupStartPos + 1);
             }
             ++$myPos;
             $so = -1;
             // Se non ho parimerito il ranking è uguale alla posizione
             if ($myEndScore == $myRow->TeScore) {
                 if ($myRow->TeScore != $myScoreOld) {
                     $myRank = $myPos;
                 }
                 $so = 1;
                 // rosso
             } else {
                 if (!($myRow->TeScore == $myScoreOld && $myRow->TeGold == $myGoldOld && $myRow->TeXnine == $myXNineOld)) {
                     $myRank = $myPos;
                 }
             }
             if ($myRank > $myRow->QualifiedNo) {
                 $so = 0;
             }
             $myScoreOld = $myRow->TeScore;
             $myGoldOld = $myRow->TeGold;
             $myXNineOld = $myRow->TeXnine;
             $x = false;
             if ($myRow->ActualRank != 0 && array_key_exists('skipExisting', $this->opts) && $this->opts['skipExisting'] == 1) {
                 $x = $this->setRow(array(array('team' => $myRow->TeCoId, 'subteam' => $myRow->TeSubTeam, 'event' => $myRow->TeEvent, 'so' => $so * $myRank)));
             } else {
                 $x = $this->setRow(array(array('team' => $myRow->TeCoId, 'subteam' => $myRow->TeSubTeam, 'event' => $myRow->TeEvent, 'so' => $so * $myRank, 'rank' => $myRank, 'tiebreak' => '')));
             }
             //print '..'.$x.'<br>';
             if ($x === false) {
                 return false;
             }
         }
     }
     //			debug_svela($tmpChris);
     return true;
 }
}
$xml = '';
$error = 0;
$query = "";
if ($isEvent) {
    $query = "SELECT DISTINCT EvCode AS code, EvEventName as name, EvTeamEvent as isTeam\n\t\tFROM Events\n\t\tWHERE EvTournament=" . StrSafe_DB($_SESSION['TourId']) . ($viewInd == $viewTeam ? "" : ($viewInd ? " AND EvTeamEvent=0 " : ($viewTeam ? " AND EvTeamEvent!=0" : ""))) . "\n\t\tORDER BY EvTeamEvent, EvProgr, EvCode";
} else {
    if ($viewInd) {
        $query .= "SELECT DISTINCT 0 Team, CONCAT(ClId, '_', DivId) as code, CONCAT(DivDescription, ' - ', ClDescription) as name, 0 as isTeam, DivViewOrder, ClViewOrder\r\n\t\t\tFROM Entries\n\t\t\tINNER JOIN Qualifications ON EnId=QuId\n\t\t\tINNER JOIN Classes ON EnClass=ClId AND EnTournament=ClTournament AND ClAthlete=1\n\t\t\tINNER JOIN Divisions ON EnDivision=DivId AND EnTournament=DivTournament AND DivAthlete=1\r\n\t\t\tWHERE EnTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND EnAthlete=1 AND EnStatus<=1";
    }
    if ($viewTeam) {
        if ($query != "") {
            $query .= " UNION ALL ";
        }
        $query .= "SELECT DISTINCT 1, CONCAT(ClId, '_', DivId) as code, CONCAT(DivDescription, ' - ', ClDescription) as name, 1 as isTeam, DivViewOrder, ClViewOrder\r\n\t\t\tFROM Teams\n\t\t\tLEFT JOIN\n\t\t\t(\n\t\t\t\tSELECT CONCAT(DivId, ClId) DivClass, Divisions.*, Classes.*\n\t\t\t\tFROM Divisions\n\t\t\t\tINNER JOIN Classes ON DivTournament=ClTournament\n\t\t\t\tWHERE DivTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND DivAthlete AND ClAthlete\n\t\t\t) AS DivClass ON TeEvent=DivClass AND TeTournament=DivTournament\n\t\t\tWHERE TeTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TeFinEvent=0";
    }
    if ($query != "") {
        $query .= " ORDER BY DivViewOrder, ClViewOrder, Team";
    }
}
$rs = safe_r_sql($query);
if ($rs && safe_num_rows($rs) > 0) {
    while ($myRow = safe_fetch($rs)) {
        $xml .= '<event><code>' . $myRow->isTeam . "_" . $myRow->code . '</code><name>' . ($myRow->isTeam ? get_text('Team') : get_text('Individual')) . ": " . $myRow->name . '</name></event>' . "\n";
    }
}
header('Content-Type: text/xml');
print '<response>' . "\n";
print '<error>' . $error . '</error>' . "\n";
print $xml;
print '</response>' . "\n";
$team = isset($_REQUEST['team']) ? $_REQUEST['team'] : null;
$subTeam = isset($_REQUEST['subTeam']) ? $_REQUEST['subTeam'] : null;
$ev = isset($_REQUEST['ev']) ? $_REQUEST['ev'] : null;
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
if (is_null($team) || is_null($subTeam) || is_null($ev) || is_null($id)) {
    exit;
}
$query = "SELECT " . "CoCode,CoName " . "FROM " . "Countries " . "WHERE " . "CoTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND " . "CoId=" . StrSafe_DB($team) . " ";
$rs = safe_r_sql($query);
$MyRow = safe_fetch($rs);
$title = $MyRow->CoCode . ' - ' . stripslashes($MyRow->CoName);
$athletes = array();
$query = "SELECT " . "EnId AS `id`,EnDivision AS `div`,EnClass AS `class`,EnAgeClass AS `ageClass`,EnCode AS `code`,CONCAT(EnFirstName,' ',EnName) AS `name` " . "FROM " . "Entries " . "INNER JOIN " . "EventClass " . "ON EcCode=" . StrSafe_DB($ev) . " AND EcTeamEvent!=0 AND EcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND EcClass=EnClass AND EcDivision=EnDivision " . "WHERE " . "EnTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND IF(EnCountry2=0,EnCountry,EnCountry2)=" . StrSafe_DB($team) . " AND EnAthlete=1 AND EnStatus<=1 " . "AND EnId NOT IN(" . "SELECT " . "TfcId " . "FROM " . "TeamFinComponent " . "WHERE " . "TfcTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND TfcEvent=" . StrSafe_DB($ev) . " " . ")";
//print $query;exit;
$rs = safe_r_sql($query);
if (safe_num_rows($rs) > 0) {
    while ($MyRow = safe_fetch($rs)) {
        $athletes[] = $MyRow;
    }
}
/*print '<pre>';
	print_r($athletes);
	print '</pre>';exit;*/
$JS_SCRIPT = array('<script type="text/javascript">', '	function updateOpener(team,subTeam,ev,oldId,newId)', '	{', '		window.opener.location', '			= \'ChangeComponents2.php\'', '			+ \'?ev=\' + ev', '			+ \'&command=Set\'', '			+ \'&team=\' + team', '			+ \'&subTeam=\' + subTeam', '			+ \'&oldId=\' + oldId', '			+ \'&newId=\' + newId;', '		window.close();', '	}', '</script>');
include 'Common/Templates/head-popup.php';
?>
<table class="Tabella">
	<tr><th class="Title" colspan="4"><?php 
print $title;
?>
</th></tr>
/**
 * getQualTargetsInfoForSession().
 * Ritorna il numero di bersagli e le persone per bersaglio per una certa sessione
 * @param int $SesTournament: torneo
 * @param int $SesOrder: numero sessione
 * @return mixed: array[SesTar4Session,SesAth4Target] se ok altrimenti false
 */
function getQualTargetsInfoForSession($SesTournament, $SesOrder)
{
    $SesTar4Session = 0;
    $SesAth4Target = 0;
    $q = "SELECT " . "SesTar4Session,SesAth4Target " . "FROM " . "Session " . "WHERE " . "SesTournament=" . StrSafe_DB($SesTournament) . " AND SesOrder=" . StrSafe_DB($SesOrder) . "";
    //print $q . '<br><br>';
    $rs = safe_r_sql($q);
    if (!($rs && safe_num_rows($rs) == 1)) {
        return false;
    }
    $row = safe_fetch($rs);
    $SesTar4Session = $row->SesTar4Session;
    $SesAth4Target = $row->SesAth4Target;
    return array($SesTar4Session, $SesAth4Target);
}
Example #25
0
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
$status = isset($_REQUEST['status']) ? $_REQUEST['status'] : null;
if (!CheckTourSession()) {
    print get_text('CrackError');
    exit;
}
$error = 0;
$tourId = StrSafe_DB($_SESSION['TourId']);
if (!IsBlocked(BIT_BLOCK_PARTICIPANT)) {
    $recalc = false;
    $indFEvent = $teamFEvent = $country = $div = $cl = $zero = null;
    // se cambio status ricalcolo gli spareggi
    $query = "SELECT EnClass FROM Entries WHERE EnId=" . StrSafe_DB($id) . " AND EnStatus<>" . StrSafe_DB($status) . " ";
    //print $query;exit;
    $rs = safe_r_sql($query);
    if ($rs && safe_num_rows($rs) == 1) {
        $recalc = true;
        $x = Params4Recalc($id);
        if ($x !== false) {
            list($indFEvent, $teamFEvent, $country, $div, $cl, $zero) = $x;
        }
    }
    //Adesso aggiorno lo status
    $query = "UPDATE " . "Entries " . "SET " . "EnStatus=" . StrSafe_DB($status) . " " . "WHERE " . "EnId=" . StrSafe_DB($id) . " ";
    $rs = safe_w_sql($query);
    if (!$rs) {
        $error = 1;
    }
    if ($recalc) {
        // ricalcolo il vecchio e il nuovo
        if (!is_null($indFEvent)) {
$row = isset($_REQUEST['row']) ? $_REQUEST['row'] : null;
$col = isset($_REQUEST['col']) ? $_REQUEST['col'] : null;
if (is_null($id) || is_null($countryCode) || is_null($row) || is_null($col) || !CheckTourSession()) {
    print get_text('CrackError');
    exit;
}
$tourId = StrSafe_DB($_SESSION['TourId']);
$error = 0;
$coId = 0;
$coName = '';
if (!IsBlocked(BIT_BLOCK_PARTICIPANT)) {
    if (strlen($countryCode) > 0) {
        $query = "SELECT " . "CoId,CoName " . "FROM " . "Countries " . "WHERE " . "CoCode=" . StrSafe_DB($countryCode) . " AND CoTournament=" . $tourId . " ";
        $rs = safe_r_sql($query);
        if ($rs) {
            $count = safe_num_rows($rs);
            $countryCode = mb_convert_case($countryCode, MB_CASE_UPPER, "UTF-8");
            // se non c'è lo aggiungo
            if ($count == 0) {
                $query = "INSERT INTO Countries (CoTournament,CoCode,CoName) " . "VALUES(" . $tourId . "," . StrSafe_DB($countryCode) . "," . "''" . ") ";
                $rs = safe_w_sql($query);
                if ($rs) {
                    $coId = safe_w_last_id();
                } else {
                    $error = 1;
                }
            } elseif ($count == 1) {
                $myRow = safe_fetch($rs);
                //$coName=$myRow->CountryName;
                $coName = AdjustCaseTitle($myRow->CoName);
                $coId = $myRow->CoId;
Example #27
0
    while ($Row = safe_fetch($RsSel)) {
        //print '<input type="checkbox" name="New_EcDivision[]" id="New_EcDivision_' . $MyRow->DivId .'" value="1">' . $MyRow->DivId . '<br>';
        $ComboDiv .= '<option value="' . $Row->DivId . '">' . $Row->DivId . '</option>' . "\n";
    }
}
$ComboDiv .= '</select>' . "\n";
print $ComboDiv;
print '<br><br><a class="Link" href="javascript:SelectAllOpt(\'New_EcDivision\');">' . get_text('SelectAll') . '</a>';
?>
</td>
<td width="25%" class="Center" valign="top">
<?php 
$ComboCl = '<select name="New_EcClass" id="New_EcClass" multiple="multiple">' . "\n";
$Select = "SELECT * " . "FROM Classes " . "WHERE ClTournament = " . StrSafe_DB($_SESSION['TourId']) . " AND ClAthlete=1 " . "ORDER BY ClViewOrder ASC ";
$RsSel = safe_r_sql($Select);
if (safe_num_rows($RsSel) > 0) {
    while ($Row = safe_fetch($RsSel)) {
        //print '<input type="checkbox" name="New_EcClass[]" id="New_EcClass_' . $MyRow->ClId .'" value="1">' . $MyRow->ClId . '<br>';
        $ComboCl .= '<option value="' . $Row->ClId . '">' . $Row->ClId . '</option>' . "\n";
    }
}
$ComboCl .= '</select>' . "\n";
print $ComboCl;
print '<br><br><a class="Link" href="javascript:SelectAllOpt(\'New_EcClass\');">' . get_text('SelectAll') . '</a>';
?>
</td>
<td width="25%" class="Center" valign="top">
<input type="button" name="Command" id="Command" value="<?php 
print get_text('CmdSave');
?>
" onclick="javascript:AddEventRule('<?php 
Example #28
0
         $HeadRows = 2 * $HeadRows + 1;
         $MiddleRows = 2 * $MiddleRows + 2;
         $MiddleLineRows['Right'] = 2 * $MiddleLineRows['Right'] + 1;
         $MiddleLineRows[''] = 2 * $MiddleLineRows[''] + 1;
         $HeadLineRows = 2 * $HeadLineRows;
     } else {
         $Status = 1;
     }
 }
 // end semifinali
 // oro/bronzo
 $Select = "SELECT GrPhase,IF(EvFinalFirstPhase=48 || EvFinalFirstPhase=24,GrPosition2, GrPosition) as GrPosition,GrMatchNo,\t/* Grids*/ " . "FinEvent,/* Finals*/" . "FSTarget /* FinSchedule*/" . "FROM Finals INNER JOIN Grids ON FinMatchNo=GrMatchNo " . "INNER JOIN Events ON FinEvent=EvCode AND EvTeamEvent='0' AND EvTournament=" . StrSafe_DB($_SESSION['TourId']) . " " . "LEFT JOIN FinSchedule ON FinEvent=FSEvent AND FinMatchNo=FSMatchNo AND FinTournament=FSTournament AND (FSTeamEvent='0' OR FSTeamEvent IS NULL) " . "WHERE FinTournament=" . StrSafe_DB($_SESSION['TourId']) . " AND FinEvent=" . StrSafe_DB($_REQUEST['d_Event']) . " AND GrPhase<='1' " . "ORDER BY GrPhase ASC , GrMatchNo ASC ";
 $Rs = safe_r_sql($Select);
 //print $Select;
 $Row = 0;
 if (safe_num_rows($Rs) == 4) {
     $JS_RedTarget .= "FindRedTarget('" . $_REQUEST['d_Event'] . "','1','');" . "FindRedTarget('" . $_REQUEST['d_Event'] . "','0','');";
     // Estraggo il bit corrispondete alla fase oro e alla fase bronzo
     $Bit_0 = 1;
     $Ath4Tar_0 = ($Bit_0 & $BitMask) == $Bit_0 ? 1 : 0;
     $Bit_1 = 2;
     $Ath4Tar_1 = ($Bit_1 & $BitMask) == $Bit_1 ? 1 : 0;
     $AthPrinted = 0;
     $Ultima = 0;
     $MiddleRows = 2;
     // righe di testa della fase
     for ($i = 0; $i <= $HeadRows + 2; ++$i) {
         // se sto stampando l'ultima riga di testa scrivo la fase
         //$MyGrid[$Row++][$Col].= '<td  nowrap class="Center" colspan="5">' . ($i==$HeadRows ? get_text('0_Phase') : '&nbsp;') . '</td>';
         //$MyGrid[$Row++][$Col].= '<td  nowrap class="Center" colspan="5">' . ($i==$HeadRows ? get_text('0_Phase') : ($i==0 ? $Bottone : '&nbsp;')) . '</td>';
         $Txt = '';
Example #29
0
print get_text('TVOutRules', 'Tournament');
?>
</th>
</tr>
<?php 
$Select = "SELECT TVRId, TVRTournament, TVRName, ToCode, ToName, ToWhere, ";
$Select .= "date_format(ToWhenFrom, '" . get_text('DateFmtDB') . "') as ToFrom, ";
$Select .= "date_format(ToWhenTo, '" . get_text('DateFmtDB') . "') as ToTo ";
$Select .= "FROM TVRules inner join Tournament on ToId=TVRTournament ";
if ($TourId) {
    $Select .= "where TVRTournament={$TourId} ";
}
$Select .= "order by ToWhenFrom desc, ToCode";
$riga = 1;
$Rs = safe_r_sql($Select);
if (safe_num_rows($Rs) > 0) {
    $old_code = '';
    while ($MyRow = safe_fetch($Rs)) {
        if ($MyRow->ToCode != $old_code) {
            $riga = 1 - $riga;
            $old_code = $MyRow->ToCode;
        }
        print '<tr' . ($riga ? ' class="alt"' : '') . ' style="height:3em">';
        print "<td>{$MyRow->ToCode}</td>";
        print "<td>{$MyRow->ToName}</td>";
        print "<td>{$MyRow->ToWhere}</td>";
        if ($MyRow->ToFrom != $MyRow->ToTo) {
            print "<td>" . get_text('DateFmtMoreDays', '', array($MyRow->ToFrom, $MyRow->ToTo)) . "</td>";
        } else {
            print "<td>{$MyRow->ToFrom}</td>";
        }
Example #30
0
 /**
  * calculate().
  * La classifica abs viene calcolata quando si calcola quella di classe e l'evento
  * prevede la div/cl della persona coinvolta
  * e quando si fanno gli spareggi per passare alle eliminatorie o alle finali.
  * Nel primo caso questo è il metodo da chiamare perchè calcolerà l'IndRank o l'IndD[1-8]Rank lavorando su tutto l'evento
  * (utilizza setRow()) altrimenti occorre usare setRow() direttamente.
  *
  * @override
  *
  * (non-PHPdoc)
  * @see ianseo/Common/Rank/Obj_Rank#calculate()
  */
 public function calculate()
 {
     $dd = $this->opts['dist'] > 0 ? 'D' . $this->opts['dist'] : '';
     $f = $this->safeFilter();
     $filter = $f !== false ? $f : "";
     $q = "\r\n\t\t\t\tSELECT\r\n\t\t\t\t\tIndId AS `athId`,IndEvent AS `EventCode`,\r\n\t\t\t\t\tQu{$dd}Score AS Score,Qu{$dd}Gold AS Gold,Qu{$dd}Xnine AS XNine, Qu{$dd}Hits AS Hits, IndRank as actualRank,\r\n\t\t\t\t\tEvFinalFirstPhase, EvElim1, EvElim2,\r\n\t\t\t\t\tIF(EvFinalFirstPhase=0,9999,IF(EvElim1=0 && EvElim2=0, IF(EvFinalFirstPhase=48, 104, IF(EvFinalFirstPhase=24, 56, (EvFinalFirstPhase*2))) ,IF(EvElim1=0,EvElim2,EvElim1))) as QualifiedNo\r\n\t\t\t\tFROM\r\n\t\t\t\t\tEvents\r\n\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tIndividuals\r\n\t\t\t\t\tON EvCode=IndEvent AND EvTournament=IndTournament AND EvTeamEvent=0\r\n\r\n\t\t\t\t\tINNER JOIN\r\n\t\t\t\t\t\tQualifications\r\n\t\t\t\t\tON IndId=QuId\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tIndTournament={$this->tournament}\r\n\t\t\t" . (empty($this->opts['includeNullPoints']) ? " AND QuScore != 0 " : "") . "\r\n\t\t\t\t\t{$filter}\r\n\t\t\t\tORDER BY\r\n\t\t\t\t\tIndEvent,Qu{$dd}Score DESC,Qu{$dd}Gold DESC,Qu{$dd}Xnine DESC\r\n\t\t\t";
     //print $q.'<br><br>';
     $r = safe_r_sql($q);
     if (!$r) {
         return false;
     }
     if (safe_num_rows($r) > 0) {
         $curGroup = "";
         $myRank = 1;
         $myPos = 0;
         $endQualified = false;
         $myScoreOld = 0;
         $myGoldOld = 0;
         $myXNineOld = 0;
         $mySoScore = array();
         $myGroupStartPos = 0;
         $currentRow = -1;
         while ($myRow = safe_fetch($r)) {
             ++$currentRow;
             if ($curGroup != $myRow->EventCode) {
                 $curGroup = $myRow->EventCode;
                 $myRank = 1;
                 $myPos = 0;
                 $myScoreOld = 0;
                 $myGoldOld = 0;
                 $myXNineOld = 0;
                 $mySoScore = array();
                 $endQualified = false;
                 $myGroupStartPos = $currentRow;
                 /*
                  * If starting phase is 1/48 or 1/24, I check the 8th position for shootoff,
                  */
                 if (($myRow->EvFinalFirstPhase == 48 || $myRow->EvFinalFirstPhase == 24) && $myRow->EvElim1 == 0 && $myRow->EvElim2 == 0) {
                     if (safe_num_rows($r) > $myGroupStartPos + 8) {
                         safe_data_seek($r, $myGroupStartPos + 8 - 1);
                         $tmpMyRow = safe_fetch($r);
                         if ($curGroup == $tmpMyRow->EventCode) {
                             $tmpScore = $tmpMyRow->Score;
                             $tmpMyRow = safe_fetch($r);
                             //Controllo se c'è parimerito per entrare
                             if ($tmpScore == $tmpMyRow->Score && $curGroup == $tmpMyRow->EventCode) {
                                 $mySoScore[] = $tmpScore;
                             }
                         }
                         $tmpMyRow = NULL;
                     }
                     safe_data_seek($r, $myGroupStartPos + 1);
                 }
                 /*
                  * Carico l'ultimo punteggio per entrare.
                  * Vado a prendere la riga con l'ultimo Score buono
                  */
                 if (safe_num_rows($r) > $myGroupStartPos + $myRow->QualifiedNo) {
                     safe_data_seek($r, $myGroupStartPos + $myRow->QualifiedNo - 1);
                     $tmpMyRow = safe_fetch($r);
                     if ($curGroup == $tmpMyRow->EventCode) {
                         $tmpScore = $tmpMyRow->Score;
                         $tmpMyRow = safe_fetch($r);
                         //Controllo se c'è parimerito per entrare
                         if ($tmpScore == $tmpMyRow->Score && $curGroup == $tmpMyRow->EventCode) {
                             $mySoScore[] = $tmpScore;
                         }
                     }
                     $tmpMyRow = NULL;
                 }
                 safe_data_seek($r, $myGroupStartPos + 1);
             }
             ++$myPos;
             $so = -1;
             // Se non ho parimerito il ranking è uguale alla posizione
             if (in_array($myRow->Score, $mySoScore)) {
                 if ($myRow->Score != $myScoreOld) {
                     $myRank = $myPos;
                 }
                 $so = 1;
                 // rosso
             } else {
                 if (!($myRow->Score == $myScoreOld && $myRow->Gold == $myGoldOld && $myRow->XNine == $myXNineOld)) {
                     $myRank = $myPos;
                 }
             }
             if ($myRank > $myRow->QualifiedNo) {
                 $so = 0;
             }
             $myScoreOld = $myRow->Score;
             $myGoldOld = $myRow->Gold;
             $myXNineOld = $myRow->XNine;
             $x = false;
             if ($this->opts['dist'] == 0 && $myRow->actualRank != 0 && array_key_exists('skipExisting', $this->opts) && $this->opts['skipExisting'] == 1) {
                 $x = $this->setRow(array(array('ath' => $myRow->athId, 'event' => $myRow->EventCode, 'dist' => $this->opts['dist'], 'hits' => $myRow->Hits, 'so' => $so * $myRank)));
             } else {
                 $x = $this->setRow(array(array('ath' => $myRow->athId, 'event' => $myRow->EventCode, 'dist' => $this->opts['dist'], 'hits' => $myRow->Hits, 'rank' => $myRank, 'tiebreak' => '', 'so' => $so * $myRank)));
             }
             //print '..'.$x.'<br>';
             if ($x === false) {
                 return false;
             }
         }
     }
     return true;
 }