function XmlCreateSessions()
{
    $XmlDoc = new DOMDocument('1.0', 'UTF-8');
    $TmpNode = $XmlDoc->createProcessingInstruction("xml-stylesheet", 'type="text/xsl" href="/Common/Styles/StyleStartList.xsl" ');
    $XmlDoc->appendChild($TmpNode);
    $XmlRoot = $XmlDoc->createElement('Results');
    $XmlRoot->setAttribute('IANSEO', ProgramVersion);
    $XmlRoot->setAttribute('TS', date('Y-m-d H:i:s'));
    $XmlDoc->appendChild($XmlRoot);
    $ListHeader = NULL;
    $MyQuery = getStartListQuery();
    $Rs = safe_r_sql($MyQuery);
    $CurSession = -1;
    $CurTarget = 'xx';
    $EmptySession = true;
    while ($MyRow = safe_fetch($Rs)) {
        // faccio il titolo
        if ($CurSession != $MyRow->Session) {
            if ($ListHeader and $EmptySession) {
                $XmlRoot->removechild($ListHeader);
            }
            $EmptySession = true;
            $CurSession = $MyRow->Session;
            $txt = '';
            if ($MyRow->SesName != '') {
                $txt = $MyRow->SesName . ' (' . get_text('Session') . ' ' . $CurSession . ')';
            } else {
                $txt = get_text('Session') . ' ' . $CurSession;
            }
            $ListHeader = $XmlDoc->createElement('List');
            //$ListHeader->setAttribute('Title', get_text('Session') . ' ' . $CurSession);
            $ListHeader->setAttribute('Title', $txt);
            $ListHeader->setAttribute('Columns', 10);
            $XmlRoot->appendChild($ListHeader);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Target'));
            $TmpNode->setAttribute('Name', 'Target');
            $TmpNode->setAttribute('Columns', '2');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Code', 'Tournament'));
            $TmpNode->setAttribute('Name', 'Code');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Athlete'));
            $TmpNode->setAttribute('Name', 'Athlete');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Country'));
            $TmpNode->setAttribute('Name', 'Country');
            $TmpNode->setAttribute('Columns', '2');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('AgeCl'));
            $TmpNode->setAttribute('Name', 'AgeClass');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('SubCl', 'Tournament'));
            $TmpNode->setAttribute('Name', 'SubCl');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Div'));
            $TmpNode->setAttribute('Name', 'Div');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
            $TmpNode = $XmlDoc->createElement('Caption', get_text('Cl'));
            $TmpNode->setAttribute('Name', 'Class');
            $TmpNode->setAttribute('Columns', '1');
            $ListHeader->appendChild($TmpNode);
        }
        $XmlAthlete = $XmlDoc->createElement('Athlete');
        $ListHeader->appendChild($XmlAthlete);
        $Target = '';
        if ($CurTarget != substr($MyRow->TargetNo, 0, -1)) {
            $Target = substr($MyRow->TargetNo, 0, -1);
            $CurTarget = substr($MyRow->TargetNo, 0, -1);
        }
        $Element = $XmlDoc->createElement('Item', $Target);
        $Element->setAttribute('Name', 'TargetNo');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', substr($MyRow->TargetNo, -1));
        $Element->setAttribute('Name', 'TargetLetter');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->Bib);
        $Element->setAttribute('Name', 'Bib');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->FirstName . ' ' . $MyRow->Name);
        $Element->setAttribute('Name', 'Athlete');
        $XmlAthlete->appendChild($Element);
        if (trim($MyRow->FirstName . ' ' . $MyRow->Name)) {
            $EmptySession = false;
        }
        $Element = $XmlDoc->createElement('Item', $MyRow->NationCode);
        $Element->setAttribute('Name', 'CountryCode');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->Nation . ($MyRow->NationCode2 ? ' (' . $MyRow->NationCode2 . ' ' . $MyRow->Nation2 . ')' : ''));
        $Element->setAttribute('Name', 'Country');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->AgeClass);
        $Element->setAttribute('Name', 'AgeClass');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->SubClass);
        $Element->setAttribute('Name', 'SubClass');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->DivCode);
        $Element->setAttribute('Name', 'Div');
        $XmlAthlete->appendChild($Element);
        $Element = $XmlDoc->createElement('Item', $MyRow->ClassCode);
        $Element->setAttribute('Name', 'Class');
        $XmlAthlete->appendChild($Element);
    }
    return $XmlDoc;
}
示例#2
0
function getStartList($ORIS = '', $Event = '', $Elim = false)
{
    $Data = new StdClass();
    $Data->Code = 'C51A';
    $Data->Order = $Elim ? '0' : '1';
    $Data->Description = 'Start List by Target';
    $Data->Header = array("Target", "Name", "NOC", "Country", "Date of Birth");
    $Data->HeaderWidth = array(15, 50, 15, 50, 60);
    $Data->Phase = 'Qualification Round';
    $Data->Continue = get_text('Continue');
    $Data->TournamentDate2String = TournamentDate2String($_SESSION['TourWhenFrom'], $_SESSION['TourWhenTo']);
    $Data->Data = array();
    $Data->Data['Fields'] = array("SesName" => get_text('SessionDescr', 'Tournament'), "EvCode" => get_text('EvCode'), "DivDescription" => get_text('Division'), "ClDescription" => get_text('Class'), "Bib" => get_text('Code', 'Tournament'), "Athlete" => get_text('Name', 'Tournament'), "Session" => get_text('Session'), "TargetNo" => get_text('Target'), "NationCode" => get_text('Country'), "Nation" => get_text('Nation'), "EventCode" => get_text('EvCode'), "EventName" => get_text('Event'), "DOB" => get_text('DOB', 'Tournament'), "SesAth4Target" => get_text('Ath4Target', 'Tournament'), "ClassCode" => get_text('Class'), "DivCode" => get_text('Division'), "AgeClass" => get_text('AgeCl'), "SubClass" => get_text('SubClass', 'Tournament'), "Status" => get_text('Status', 'Tournament'), "IC" => 'IC', "TC" => 'TC', "IF" => 'IF', "TF" => 'TF', "TM" => 'TM', "NationCode2" => get_text('Country'), "Nation2" => get_text('Nation'), "NationCode3" => get_text('Country'), "Nation3" => get_text('Nation'), "EnSubTeam" => 'EnSubTeam', "TargetFace" => get_text('TargetType'), "Poule" => get_text('Poule', 'Tournament'));
    if ($ORIS) {
        $Data->Data['Fields']['TargetNo'] = 'Target';
        $Data->Data['Fields']['Athlete'] = 'Name';
        $Data->Data['Fields']['NationCode'] = 'NOC';
        $Data->Data['Fields']['Nation'] = 'Country';
        $Data->Data['Fields']['EventName'] = 'Category';
        if ($Elim and $Event) {
            $Data->Description .= ' Round ' . $Event;
        }
    } else {
        $Data->Data['Fields']['Athlete'] = get_text('Athlete');
        $Data->HideCols = GetParameter("IntEvent");
        $Data->BisTarget = false;
        $Data->NumEnd = 0;
        $RsTour = safe_r_sql("SELECT (ToElabTeam!=0) as BisTarget, ToNumEnds AS TtNumEnds " . "FROM Tournament " . "WHERE ToId=" . StrSafe_DB($_SESSION['TourId']));
        if ($r = safe_fetch($RsTour)) {
            $Data->BisTarget = $r->BisTarget;
            $Data->NumEnd = $r->TtNumEnds;
        }
        $Data->Description = get_text('StartlistSession', 'Tournament');
    }
    $MyQuery = getStartListQuery($ORIS, $Event, $Elim);
    //echo $MyQuery;exit;
    $Rs = safe_r_sql($MyQuery);
    while ($MyRow = safe_fetch($Rs)) {
        $MyRow->EventName = get_text($MyRow->EventName, '', '', true);
        if (!$Elim) {
            $MyRow->DivDescription = get_text($MyRow->DivDescription, '', '', true);
            $MyRow->ClDescription = get_text($MyRow->ClDescription, '', '', true);
        } else {
            if ($MyRow->SesName != '') {
                $MyRow->SesName = $MyRow->SesName . ' (' . get_text('Eliminations_' . ($MyRow->Session + 1)) . ')';
            } else {
                $MyRow->SesName = get_text('Eliminations_' . ($MyRow->Session + 1));
            }
        }
        $Data->Data['Items'][] = $MyRow;
    }
    return $Data;
}