Added compatibility with Pairtwo-5

This commit is contained in:
Jeroen De Meerleer 2019-05-28 10:16:34 +02:00
parent bb214e7363
commit 23ca19772c
2 changed files with 6 additions and 3 deletions

View File

@ -5,11 +5,13 @@ namespace JeroenED\Libpairtwo;
use JeroenED\LibPairtwo\Exceptions\LibpairtwoException; use JeroenED\LibPairtwo\Exceptions\LibpairtwoException;
use JeroenED\Libpairtwo\Interfaces\ReaderInterface; use JeroenED\Libpairtwo\Interfaces\ReaderInterface;
use JeroenED\Libpairtwo\Readers\Pairtwo6;
abstract class IOFactory abstract class IOFactory
{ {
private static $readers = [ private static $readers = [
'Pairtwo-6' => Readers\Pairtwo6::class 'Pairtwo-6' => Readers\Pairtwo6::class,
'Pairtwo-5' => Readers\Pairtwo6::class // File structure identical
]; ];

View File

@ -52,6 +52,7 @@ class Pairtwo6 extends Pairtwo6Model implements ReaderInterface
private const PT_MONTHFACTOR = 16; private const PT_MONTHFACTOR = 16;
private const PT_YEARFACTOR = 512; private const PT_YEARFACTOR = 512;
private const PT_PASTOFFSET = 117; private const PT_PASTOFFSET = 117;
private const CompatibleVersions = ['6.', '5.'];
/** /**
* Reads out $swsfile and returns a Pairtwo6 class object * Reads out $swsfile and returns a Pairtwo6 class object
@ -72,8 +73,8 @@ class Pairtwo6 extends Pairtwo6Model implements ReaderInterface
$this->setRelease($this->readData('String', substr($swscontents, $offset, $length))); $this->setRelease($this->readData('String', substr($swscontents, $offset, $length)));
$offset += $length; $offset += $length;
if (substr($this->getRelease(), 0, 2) !== "6.") { if (array_search(substr($this->getRelease(), 0, 2), self::CompatibleVersions) === false) {
throw new IncompatibleReaderException("This file was not created with Pairtwo 6 or higher"); throw new IncompatibleReaderException("This file was not created with Pairtwo 5 or higher");
} }
$this->setTournament(new Tournament()); $this->setTournament(new Tournament());