xref: /plugin/struct/_test/mock/AccessTable.php (revision 0549dcc5bc88d4f9d923acdd09931d8d51be7097)
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