1ea9843dcSAndreas Gohr<?php 2ea9843dcSAndreas Gohr 3ea9843dcSAndreas Gohrnamespace dokuwiki\plugin\struct\test\mock; 4ea9843dcSAndreas Gohr 5ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta; 6*1e11f3d9SAnna Dabrowskause dokuwiki\plugin\struct\meta\AccessTableLookup; 7daf34b99SAndreas Gohruse dokuwiki\plugin\struct\meta\Schema; 8ea9843dcSAndreas Gohr 9ea9843dcSAndreas Gohrabstract class AccessTable extends meta\AccessTable { 10ea9843dcSAndreas Gohr 11ea9843dcSAndreas Gohr /** 12ea9843dcSAndreas Gohr * @param Schema $schema 13ea9843dcSAndreas Gohr * @param int|string $pid 14daf34b99SAndreas Gohr * @param int $ts 1510575566SAnna Dabrowska * @param int $rid 16*1e11f3d9SAnna Dabrowska * @return AccessTableLookup|AccessTableData 17ea9843dcSAndreas Gohr */ 1810575566SAnna Dabrowska public static function bySchema(Schema $schema, $pid, $ts = 0, $rid = 0) { 19*1e11f3d9SAnna Dabrowska if (self::isTypePage($pid, $ts, $rid)) { 20*1e11f3d9SAnna Dabrowska return new AccessTableData($schema, $pid, $ts, $rid); 21ea9843dcSAndreas Gohr } 22*1e11f3d9SAnna Dabrowska return new AccessTableLookup($schema, $pid, $ts, $rid); 2310575566SAnna Dabrowska } 24ea9843dcSAndreas Gohr 2510575566SAnna 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