Added compatibility with Pairtwo-5

This commit is contained in:
Jeroen De Meerleer 2019-05-28 10:16:34 +02:00
parent e3175568a4
commit efc3c35024
Signed by: JeroenED
GPG Key ID: 28CCCB8F62BFADD6
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\Interfaces\ReaderInterface;
use JeroenED\Libpairtwo\Readers\Pairtwo6;
abstract class IOFactory
{
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_YEARFACTOR = 512;
private const PT_PASTOFFSET = 117;
private const CompatibleVersions = ['6.', '5.'];
/**
* 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)));
$offset += $length;
if (substr($this->getRelease(), 0, 2) !== "6.") {
throw new IncompatibleReaderException("This file was not created with Pairtwo 6 or higher");
if (array_search(substr($this->getRelease(), 0, 2), self::CompatibleVersions) === false) {
throw new IncompatibleReaderException("This file was not created with Pairtwo 5 or higher");
}
$this->setTournament(new Tournament());