Issues (134)

src/api/metadata.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 * @author CONTENT CONTROL http://www.contentcontrol-berlin.de/
4
 * @copyright CONTENT CONTROL http://www.contentcontrol-berlin.de/
5
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License
6
 */
7
namespace midgard\portable\api;
8
9
/**
10
 * @todo These properties should be autogenerated from XML
11
 *
12
 * @property string $creator
13
 * @property \midgard_datetime $created
14
 * @property string $revisor"
15
 * @property \midgard_datetime $revised
16
 * @property integer $revision
17
 * @property string $locker
18
 * @property \midgard_datetime $locked
19
 * @property string $approver
20
 * @property \midgard_datetime $approved
21
 * @property string $authors
22
 * @property string $owner
23
 * @property \midgard_datetime $schedulestart
24
 * @property \midgard_datetime $scheduleend
25
 * @property boolean $hidden
26
 * @property boolean $navnoentry
27
 * @property integer $size
28
 * @property \midgard_datetime $published
29
 * @property integer $score
30
 * @property \midgard_datetime $imported
31
 * @property \midgard_datetime $exported
32
 * @property boolean $deleted
33
 * @property boolean $islocked
34
 * @property boolean $isapproved
35
 */
36
class metadata
37
{
38
    private readonly mgdobject $object;
39
40 104
    public function __construct(mgdobject $object)
41
    {
42 104
        $this->object = $object;
0 ignored issues
show
The property object is declared read-only in midgard\portable\api\metadata.
Loading history...
43
    }
44
45 103
    public function __get($property)
46
    {
47 103
        return $this->object->{'metadata_' . $property};
48
    }
49
50 100
    public function __set($property, $value)
51
    {
52
        //TODO: filter out readonly properties (?)
53 100
        $this->object->{'metadata_' . $property} = $value;
54
    }
55
56 1
    public function __isset($field)
57
    {
58 1
        return property_exists($this->object, 'metadata_' . $field);
59
    }
60
}
61