xref: /plugin/struct/meta/RowColumn.php (revision d6d97f6064c3b0f90310be8341edc9585520ee54)
1f107f479SAndreas Gohr<?php
2f107f479SAndreas Gohr
3f107f479SAndreas Gohrnamespace dokuwiki\plugin\struct\meta;
4f107f479SAndreas Gohr
5f107f479SAndreas Gohruse dokuwiki\plugin\struct\types\Decimal;
6f107f479SAndreas Gohr
7f107f479SAndreas Gohr/**
8f107f479SAndreas Gohr * Like a Page Column but for Lookups using a decimal type
9f107f479SAndreas Gohr */
10*d6d97f60SAnna Dabrowskaclass RowColumn extends PageColumn
11*d6d97f60SAnna Dabrowska{
12f107f479SAndreas Gohr
13f107f479SAndreas Gohr    /** @noinspection PhpMissingParentConstructorInspection
14f107f479SAndreas Gohr     * @param int $sort
15f107f479SAndreas Gohr     * @param Decimal $type
16f107f479SAndreas Gohr     * @param string $table
17f107f479SAndreas Gohr     */
18*d6d97f60SAnna Dabrowska    public function __construct($sort, Decimal $type, $table)
19*d6d97f60SAnna Dabrowska    {
20f107f479SAndreas Gohr        if ($type->isMulti()) throw new StructException('RowColumns can not be multi value types!');
21f107f479SAndreas Gohr        Column::__construct($sort, $type, 0, true, $table);
22f107f479SAndreas Gohr    }
23f107f479SAndreas Gohr
24f107f479SAndreas Gohr    /**
25f107f479SAndreas Gohr     * @return string always '%rowid%'
26f107f479SAndreas Gohr     */
27*d6d97f60SAnna Dabrowska    public function getLabel()
28*d6d97f60SAnna Dabrowska    {
29f107f479SAndreas Gohr        return '%rowid%';
30f107f479SAndreas Gohr    }
31f107f479SAndreas Gohr
32f107f479SAndreas Gohr    /**
330ceefd5cSAnna Dabrowska     * @param bool $enforceSingleColumn ignored
340ceefd5cSAnna Dabrowska     * @return string
350ceefd5cSAnna Dabrowska     */
36*d6d97f60SAnna Dabrowska    public function getColName($enforceSingleColumn = true)
37*d6d97f60SAnna Dabrowska    {
380ceefd5cSAnna Dabrowska        return 'rid';
390ceefd5cSAnna Dabrowska    }
400ceefd5cSAnna Dabrowska
410ceefd5cSAnna Dabrowska    /**
42f107f479SAndreas Gohr     * @return string preconfigured label
43f107f479SAndreas Gohr     */
44*d6d97f60SAnna Dabrowska    public function getTranslatedLabel()
45*d6d97f60SAnna Dabrowska    {
46f107f479SAndreas Gohr        /** @var \helper_plugin_struct_config $helper */
47f107f479SAndreas Gohr        $helper = plugin_load('helper', 'struct_config');
48f107f479SAndreas Gohr        return $helper->getLang('rowlabel');
49f107f479SAndreas Gohr    }
50f107f479SAndreas Gohr}
51