ENHANCEMENT: Compatibility with Pairtwo-5

Filestructure of pairtwo-5 files are identical to pairtwo-6
This commit is contained in:
Jeroen De Meerleer 2019-05-28 10:20:06 +02:00
parent 4403401703
commit 7442df191e
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

@ -51,6 +51,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
@ -71,8 +72,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());