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; }
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; }