1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Services/Table/classes/class.ilTable2GUI.php';
5
6/**
7 * Class ilTestPersonalDefaultSettingsTableGUI
8 */
9class ilTestPersonalDefaultSettingsTableGUI extends ilTable2GUI
10{
11    public function __construct($parentObj, $cmd)
12    {
13        /**
14         * @var $ilCtrl ilCtrl
15         */
16        global $DIC;
17        $ilCtrl = $DIC['ilCtrl'];
18
19        $this->setId('tst_pers_def_set_' . $parentObj->object->getId());
20
21        parent::__construct($parentObj, $cmd);
22
23        $this->setTitle($this->lng->txt('tst_defaults_available'));
24        $this->setNoEntriesText($this->lng->txt('tst_defaults_not_defined'));
25        $this->setFormAction($ilCtrl->getFormAction($parentObj, $cmd));
26
27        $this->setRowTemplate('tpl.il_as_tst_defaults_row.html', 'Modules/Test');
28
29        $this->setShowRowsSelector(true);
30        $this->setSelectAllCheckbox('chb_defaults');
31        $this->setFormName('formDefaults');
32        $this->addMultiCommand('deleteDefaults', $this->lng->txt('delete'));
33        $this->addMultiCommand('applyDefaults', $this->lng->txt('apply_def_settings_to_tst'));
34        $this->initColumns();
35    }
36
37    /**
38     *
39     */
40    private function initColumns()
41    {
42        $this->addColumn('', '', '1px', true);
43        $this->addColumn($this->lng->txt('title'), 'name', '80%');
44        $this->addColumn($this->lng->txt('date'), 'tstamp', '19%');
45    }
46
47    /**
48     * @param array $row
49     */
50    public function fillRow($row)
51    {
52        parent::fillRow(array(
53            'name' => $row['name'],
54            'checkbox' => ilUtil::formCheckbox(false, 'chb_defaults[]', $row['test_defaults_id']),
55            'tstamp' => ilDatePresentation::formatDate(new ilDateTime($row['tstamp'], IL_CAL_UNIX))
56        ));
57    }
58
59    /**
60     * @return bool
61     */
62    public function numericOrdering($field)
63    {
64        return in_array($field, array(
65            'tstamp'
66        ));
67    }
68}
69