xref: /plugin/struct/_test/mock/AccessTable.php (revision ea9843dc7331cbb471767ef4002d9bbddc12b79a)
1*ea9843dcSAndreas Gohr<?php
2*ea9843dcSAndreas Gohr
3*ea9843dcSAndreas Gohrnamespace dokuwiki\plugin\struct\test\mock;
4*ea9843dcSAndreas Gohr
5*ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta\Schema;
6*ea9843dcSAndreas Gohruse dokuwiki\plugin\struct\meta;
7*ea9843dcSAndreas Gohr
8*ea9843dcSAndreas Gohrabstract class AccessTable extends meta\AccessTable {
9*ea9843dcSAndreas Gohr
10*ea9843dcSAndreas Gohr    /**
11*ea9843dcSAndreas Gohr     * @param Schema $schema
12*ea9843dcSAndreas Gohr     * @param int|string $pid
13*ea9843dcSAndreas Gohr     * @return meta\SchemaLookupData|SchemaData
14*ea9843dcSAndreas Gohr     */
15*ea9843dcSAndreas Gohr    public static function bySchema(Schema $schema, $pid) {
16*ea9843dcSAndreas Gohr        if($schema->isLookup()) {
17*ea9843dcSAndreas Gohr            return new meta\SchemaLookupData($schema, $pid); // FIXME not mocked, yet
18*ea9843dcSAndreas Gohr        } else {
19*ea9843dcSAndreas Gohr            return new SchemaData($schema, $pid);
20*ea9843dcSAndreas Gohr        }
21*ea9843dcSAndreas Gohr    }
22*ea9843dcSAndreas Gohr
23*ea9843dcSAndreas Gohr    public static function byTableName($tablename, $pid, $ts = 0) {
24*ea9843dcSAndreas Gohr        $schema = new Schema($tablename, $ts);
25*ea9843dcSAndreas Gohr        return self::bySchema($schema, $pid); // becuse we have a static call here we can not rely on inheritance
26*ea9843dcSAndreas Gohr    }
27*ea9843dcSAndreas Gohr
28*ea9843dcSAndreas Gohr}
29