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 8*0549dcc5SAndreas Gohrabstract class AccessTable extends meta\AccessTable 9*0549dcc5SAndreas Gohr{ 10ea9843dcSAndreas Gohr 114cd5cc28SAnna Dabrowska public static function getPageAccess($tablename, $pid, $ts = 0) 124cd5cc28SAnna Dabrowska { 134cd5cc28SAnna Dabrowska $schema = new Schema($tablename, $ts); 14308cc83fSAndreas Gohr return new AccessTablePage($schema, $pid, $ts, 0); 154cd5cc28SAnna Dabrowska } 164cd5cc28SAnna Dabrowska 177b5b21b7SAnna Dabrowska public static function getGlobalAccess($tablename, $rid = 0) 187b5b21b7SAnna Dabrowska { 197b5b21b7SAnna Dabrowska $schema = new Schema($tablename, 0); 207b5b21b7SAnna Dabrowska return new AccessTableGlobal($schema, '', 0, $rid); 217b5b21b7SAnna Dabrowska } 227b5b21b7SAnna Dabrowska 23ea9843dcSAndreas Gohr /** 24ea9843dcSAndreas Gohr * @param Schema $schema 25ea9843dcSAndreas Gohr * @param int|string $pid 26daf34b99SAndreas Gohr * @param int $ts 2710575566SAnna Dabrowska * @param int $rid 28308cc83fSAndreas Gohr * @return AccessTableGlobal|AccessTablePage 29308cc83fSAndreas Gohr * @deprecated 30ea9843dcSAndreas Gohr */ 31*0549dcc5SAndreas Gohr public static function bySchema(Schema $schema, $pid, $ts = 0, $rid = 0) 32*0549dcc5SAndreas Gohr { 331e11f3d9SAnna Dabrowska if (self::isTypePage($pid, $ts, $rid)) { 34308cc83fSAndreas Gohr return new AccessTablePage($schema, $pid, $ts, $rid); 35ea9843dcSAndreas Gohr } 36308cc83fSAndreas Gohr return new AccessTableGlobal($schema, $pid, $ts, $rid); 3710575566SAnna Dabrowska } 38ea9843dcSAndreas Gohr 394cd5cc28SAnna Dabrowska /** 404cd5cc28SAnna Dabrowska * @param string $tablename 414cd5cc28SAnna Dabrowska * @param string $pid 424cd5cc28SAnna Dabrowska * @param int $ts 434cd5cc28SAnna Dabrowska * @param int $rid 44308cc83fSAndreas Gohr * @return meta\AccessTablePage|AccessTableGlobal|AccessTablePage 45308cc83fSAndreas Gohr * @deprecated 464cd5cc28SAnna Dabrowska */ 47*0549dcc5SAndreas Gohr public static function byTableName($tablename, $pid, $ts = 0, $rid = 0) 48*0549dcc5SAndreas Gohr { 49ea9843dcSAndreas Gohr $schema = new Schema($tablename, $ts); 50daf34b99SAndreas Gohr return self::bySchema($schema, $pid, $ts); // becuse we have a static call here we can not rely on inheritance 51ea9843dcSAndreas Gohr } 52ea9843dcSAndreas Gohr 53ea9843dcSAndreas Gohr} 54