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