/** * Import match plan from text file * @param Tournament $tournament Import related to tournament * @param String $date Date of match * @param String $importStr Match plan - must follow this syntax: * - Match no * - Match date (local format - j-m-Y) * - Match time (local format - G.i) * - Category name * - Group name * - Playground no * - Home team * team name 'division' (country) * rank group name * - Away team * team name 'division' (country) * rank group name * * Examples: 385;10-7-2015;13.00;C;(A);7;1 A;2 B * 212;5-7-2015;9.15;C;A;7;AETNA MASCALUCIA (ITA);TVIS KFUM 'A' (DNK) * * Country is only used if team name is ambigious - however syntax must be maintained. * Division can be ommitted. */ public function import(UploadedFile $uploadedFile) { $keys = array("matchno", "date", "time", "category", "group", "playground", "teamA", "teamB"); $matches = array(); if ($uploadedFile->isValid() && $uploadedFile->isFile()) { /* @var $file SplFileObject */ $file = $uploadedFile->openFile(); while (!$file->eof()) { $csv = $file->fgetcsv(";"); $match = array(); foreach ($csv as $idx => $data) { if ($data) { if (array_key_exists($idx, $keys)) { if ($keys[$idx] == 'teamA' || $keys[$idx] == 'teamB') { $match[$keys[$idx]] = $this->parseImportTeam($data); } else { $match[$keys[$idx]] = $data; } } else { $match[] = $data; } } } if (count($match) > 0) { $matches[] = $match; } } } return $matches; }