xref: /plugin/struct/meta/PublishedColumn.php (revision 12d2f24f56e51f623113e6c5ac6486e27c39b35c)
1*da62ec9cSAnna Dabrowska<?php
2*da62ec9cSAnna Dabrowska
3*da62ec9cSAnna Dabrowskanamespace dokuwiki\plugin\struct\meta;
4*da62ec9cSAnna Dabrowska
5*da62ec9cSAnna Dabrowskause dokuwiki\plugin\struct\types\Decimal;
6*da62ec9cSAnna Dabrowska
7*da62ec9cSAnna Dabrowska/**
8*da62ec9cSAnna Dabrowska * Published Column
9*da62ec9cSAnna Dabrowska */
10*da62ec9cSAnna Dabrowskaclass PublishedColumn extends PageColumn
11*da62ec9cSAnna Dabrowska{
12*da62ec9cSAnna Dabrowska    /** @noinspection PhpMissingParentConstructorInspection
13*da62ec9cSAnna Dabrowska     * @param int $sort
14*da62ec9cSAnna Dabrowska     * @param Decimal $type
15*da62ec9cSAnna Dabrowska     * @param string $table
16*da62ec9cSAnna Dabrowska     */
17*da62ec9cSAnna Dabrowska    public function __construct($sort, Decimal $type, $table)
18*da62ec9cSAnna Dabrowska    {
19*da62ec9cSAnna Dabrowska        if ($type->isMulti()) throw new StructException('PublishedColumns can not be multi value types!');
20*da62ec9cSAnna Dabrowska        Column::__construct($sort, $type, 0, true, $table);
21*da62ec9cSAnna Dabrowska    }
22*da62ec9cSAnna Dabrowska
23*da62ec9cSAnna Dabrowska    /**
24*da62ec9cSAnna Dabrowska     * @return string
25*da62ec9cSAnna Dabrowska     */
26*da62ec9cSAnna Dabrowska    public function getLabel()
27*da62ec9cSAnna Dabrowska    {
28*da62ec9cSAnna Dabrowska        return '%published%';
29*da62ec9cSAnna Dabrowska    }
30*da62ec9cSAnna Dabrowska
31*da62ec9cSAnna Dabrowska    /**
32*da62ec9cSAnna Dabrowska     * @param bool $enforceSingleColumn ignored
33*da62ec9cSAnna Dabrowska     * @return string
34*da62ec9cSAnna Dabrowska     */
35*da62ec9cSAnna Dabrowska    public function getColName($enforceSingleColumn = true)
36*da62ec9cSAnna Dabrowska    {
37*da62ec9cSAnna Dabrowska        return 'published';
38*da62ec9cSAnna Dabrowska    }
39*da62ec9cSAnna Dabrowska
40*da62ec9cSAnna Dabrowska    /**
41*da62ec9cSAnna Dabrowska     * @return string preconfigured label
42*da62ec9cSAnna Dabrowska     */
43*da62ec9cSAnna Dabrowska    public function getTranslatedLabel()
44*da62ec9cSAnna Dabrowska    {
45*da62ec9cSAnna Dabrowska        /** @var \helper_plugin_struct_config $helper */
46*da62ec9cSAnna Dabrowska        $helper = plugin_load('helper', 'struct_config');
47*da62ec9cSAnna Dabrowska        return $helper->getLang('publishedlabel');
48*da62ec9cSAnna Dabrowska    }
49*da62ec9cSAnna Dabrowska}
50