1ea9843dcSAndreas Gohr<?php 2ea9843dcSAndreas Gohr 3ea9843dcSAndreas Gohrnamespace dokuwiki\plugin\struct\test\mock; 4ea9843dcSAndreas Gohr 5ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta; 61e11f3d9SAnna Dabrowskause dokuwiki\plugin\struct\meta\AccessTableLookup; 7daf34b99SAndreas Gohruse dokuwiki\plugin\struct\meta\Schema; 8ea9843dcSAndreas Gohr 9ea9843dcSAndreas Gohrabstract class AccessTable extends meta\AccessTable { 10ea9843dcSAndreas Gohr 11*4cd5cc28SAnna Dabrowska public static function getPageAccess($tablename, $pid, $ts = 0) 12*4cd5cc28SAnna Dabrowska { 13*4cd5cc28SAnna Dabrowska $schema = new Schema($tablename, $ts); 14*4cd5cc28SAnna Dabrowska return new AccessTableData($schema, $pid, $ts, 0); 15*4cd5cc28SAnna Dabrowska } 16*4cd5cc28SAnna Dabrowska 17ea9843dcSAndreas Gohr /** 18*4cd5cc28SAnna Dabrowska * @deprecated 19ea9843dcSAndreas Gohr * @param Schema $schema 20ea9843dcSAndreas Gohr * @param int|string $pid 21daf34b99SAndreas Gohr * @param int $ts 2210575566SAnna Dabrowska * @param int $rid 231e11f3d9SAnna Dabrowska * @return AccessTableLookup|AccessTableData 24ea9843dcSAndreas Gohr */ 2510575566SAnna Dabrowska public static function bySchema(Schema $schema, $pid, $ts = 0, $rid = 0) { 261e11f3d9SAnna Dabrowska if (self::isTypePage($pid, $ts, $rid)) { 271e11f3d9SAnna Dabrowska return new AccessTableData($schema, $pid, $ts, $rid); 28ea9843dcSAndreas Gohr } 291e11f3d9SAnna Dabrowska return new AccessTableLookup($schema, $pid, $ts, $rid); 3010575566SAnna Dabrowska } 31ea9843dcSAndreas Gohr 32*4cd5cc28SAnna Dabrowska /** 33*4cd5cc28SAnna Dabrowska * @deprecated 34*4cd5cc28SAnna Dabrowska * @param string $tablename 35*4cd5cc28SAnna Dabrowska * @param string $pid 36*4cd5cc28SAnna Dabrowska * @param int $ts 37*4cd5cc28SAnna Dabrowska * @param int $rid 38*4cd5cc28SAnna Dabrowska * @return meta\AccessTableData|AccessTableLookup|AccessTableData 39*4cd5cc28SAnna Dabrowska */ 4010575566SAnna Dabrowska public static function byTableName($tablename, $pid, $ts = 0, $rid = 0) { 41ea9843dcSAndreas Gohr $schema = new Schema($tablename, $ts); 42daf34b99SAndreas Gohr return self::bySchema($schema, $pid, $ts); // becuse we have a static call here we can not rely on inheritance 43ea9843dcSAndreas Gohr } 44ea9843dcSAndreas Gohr 45ea9843dcSAndreas Gohr} 46