xref: /plugin/struct/_test/mock/AccessTable.php (revision 7b5b21b7f0f130db505c1aa668b70da3f2a092e5)
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
104cd5cc28SAnna Dabrowska    public static function getPageAccess($tablename, $pid, $ts = 0)
114cd5cc28SAnna Dabrowska    {
124cd5cc28SAnna Dabrowska        $schema = new Schema($tablename, $ts);
13308cc83fSAndreas Gohr        return new AccessTablePage($schema, $pid, $ts, 0);
144cd5cc28SAnna Dabrowska    }
154cd5cc28SAnna Dabrowska
16*7b5b21b7SAnna Dabrowska    public static function getGlobalAccess($tablename, $rid = 0)
17*7b5b21b7SAnna Dabrowska    {
18*7b5b21b7SAnna Dabrowska        $schema = new Schema($tablename, 0);
19*7b5b21b7SAnna Dabrowska        return new AccessTableGlobal($schema, '', 0, $rid);
20*7b5b21b7SAnna Dabrowska    }
21*7b5b21b7SAnna Dabrowska
22ea9843dcSAndreas Gohr    /**
23ea9843dcSAndreas Gohr     * @param Schema $schema
24ea9843dcSAndreas Gohr     * @param int|string $pid
25daf34b99SAndreas Gohr     * @param int $ts
2610575566SAnna Dabrowska     * @param int $rid
27308cc83fSAndreas Gohr     * @return AccessTableGlobal|AccessTablePage
28308cc83fSAndreas Gohr     *@deprecated
29ea9843dcSAndreas Gohr     */
3010575566SAnna Dabrowska    public static function bySchema(Schema $schema, $pid, $ts = 0, $rid = 0) {
311e11f3d9SAnna Dabrowska        if (self::isTypePage($pid, $ts, $rid)) {
32308cc83fSAndreas Gohr            return new AccessTablePage($schema, $pid, $ts, $rid);
33ea9843dcSAndreas Gohr        }
34308cc83fSAndreas Gohr        return new AccessTableGlobal($schema, $pid, $ts, $rid);
3510575566SAnna Dabrowska    }
36ea9843dcSAndreas Gohr
374cd5cc28SAnna Dabrowska    /**
384cd5cc28SAnna Dabrowska     * @param string $tablename
394cd5cc28SAnna Dabrowska     * @param string $pid
404cd5cc28SAnna Dabrowska     * @param int $ts
414cd5cc28SAnna Dabrowska     * @param int $rid
42308cc83fSAndreas Gohr     * @return meta\AccessTablePage|AccessTableGlobal|AccessTablePage
43308cc83fSAndreas Gohr     *@deprecated
444cd5cc28SAnna Dabrowska     */
4510575566SAnna Dabrowska    public static function byTableName($tablename, $pid, $ts = 0, $rid = 0) {
46ea9843dcSAndreas Gohr        $schema = new Schema($tablename, $ts);
47daf34b99SAndreas Gohr        return self::bySchema($schema, $pid, $ts); // becuse we have a static call here we can not rely on inheritance
48ea9843dcSAndreas Gohr    }
49ea9843dcSAndreas Gohr
50ea9843dcSAndreas Gohr}
51