xref: /plugin/struct/_test/mock/AccessTable.php (revision 308cc83fd5391df29d21d2bc1306c8da49fdb335)
1ea9843dcSAndreas Gohr<?php
2ea9843dcSAndreas Gohr
3ea9843dcSAndreas Gohrnamespace dokuwiki\plugin\struct\test\mock;
4ea9843dcSAndreas Gohr
5ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta;
6*308cc83fSAndreas Gohruse dokuwiki\plugin\struct\meta\AccessTableGlobal;
7daf34b99SAndreas Gohruse dokuwiki\plugin\struct\meta\Schema;
8ea9843dcSAndreas Gohr
9ea9843dcSAndreas Gohrabstract class AccessTable extends meta\AccessTable {
10ea9843dcSAndreas Gohr
114cd5cc28SAnna Dabrowska    public static function getPageAccess($tablename, $pid, $ts = 0)
124cd5cc28SAnna Dabrowska    {
134cd5cc28SAnna Dabrowska        $schema = new Schema($tablename, $ts);
14*308cc83fSAndreas Gohr        return new AccessTablePage($schema, $pid, $ts, 0);
154cd5cc28SAnna Dabrowska    }
164cd5cc28SAnna Dabrowska
17ea9843dcSAndreas Gohr    /**
18ea9843dcSAndreas Gohr     * @param Schema $schema
19ea9843dcSAndreas Gohr     * @param int|string $pid
20daf34b99SAndreas Gohr     * @param int $ts
2110575566SAnna Dabrowska     * @param int $rid
22*308cc83fSAndreas Gohr     * @return AccessTableGlobal|AccessTablePage
23*308cc83fSAndreas Gohr     *@deprecated
24ea9843dcSAndreas Gohr     */
2510575566SAnna Dabrowska    public static function bySchema(Schema $schema, $pid, $ts = 0, $rid = 0) {
261e11f3d9SAnna Dabrowska        if (self::isTypePage($pid, $ts, $rid)) {
27*308cc83fSAndreas Gohr            return new AccessTablePage($schema, $pid, $ts, $rid);
28ea9843dcSAndreas Gohr        }
29*308cc83fSAndreas Gohr        return new AccessTableGlobal($schema, $pid, $ts, $rid);
3010575566SAnna Dabrowska    }
31ea9843dcSAndreas Gohr
324cd5cc28SAnna Dabrowska    /**
334cd5cc28SAnna Dabrowska     * @param string $tablename
344cd5cc28SAnna Dabrowska     * @param string $pid
354cd5cc28SAnna Dabrowska     * @param int $ts
364cd5cc28SAnna Dabrowska     * @param int $rid
37*308cc83fSAndreas Gohr     * @return meta\AccessTablePage|AccessTableGlobal|AccessTablePage
38*308cc83fSAndreas Gohr     *@deprecated
394cd5cc28SAnna 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