1*ea9843dcSAndreas Gohr<?php 2*ea9843dcSAndreas Gohr 3*ea9843dcSAndreas Gohrnamespace dokuwiki\plugin\struct\test\mock; 4*ea9843dcSAndreas Gohr 5*ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta\Schema; 6*ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta; 7*ea9843dcSAndreas Gohr 8*ea9843dcSAndreas Gohrabstract class AccessTable extends meta\AccessTable { 9*ea9843dcSAndreas Gohr 10*ea9843dcSAndreas Gohr /** 11*ea9843dcSAndreas Gohr * @param Schema $schema 12*ea9843dcSAndreas Gohr * @param int|string $pid 13*ea9843dcSAndreas Gohr * @return meta\SchemaLookupData|SchemaData 14*ea9843dcSAndreas Gohr */ 15*ea9843dcSAndreas Gohr public static function bySchema(Schema $schema, $pid) { 16*ea9843dcSAndreas Gohr if($schema->isLookup()) { 17*ea9843dcSAndreas Gohr return new meta\SchemaLookupData($schema, $pid); // FIXME not mocked, yet 18*ea9843dcSAndreas Gohr } else { 19*ea9843dcSAndreas Gohr return new SchemaData($schema, $pid); 20*ea9843dcSAndreas Gohr } 21*ea9843dcSAndreas Gohr } 22*ea9843dcSAndreas Gohr 23*ea9843dcSAndreas Gohr public static function byTableName($tablename, $pid, $ts = 0) { 24*ea9843dcSAndreas Gohr $schema = new Schema($tablename, $ts); 25*ea9843dcSAndreas Gohr return self::bySchema($schema, $pid); // becuse we have a static call here we can not rely on inheritance 26*ea9843dcSAndreas Gohr } 27*ea9843dcSAndreas Gohr 28*ea9843dcSAndreas Gohr} 29