ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilAccountCodesTableGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once("./Services/Table/classes/class.ilTable2GUI.php");
5
16{
20 public function __construct($a_parent_obj, $a_parent_cmd)
21 {
22 global $DIC;
23
24 $ilCtrl = $DIC['ilCtrl'];
25 $lng = $DIC['lng'];
26
27 $this->setId("user_account_code");
28
29 parent::__construct($a_parent_obj, $a_parent_cmd);
30
31 $this->addColumn("", "", "1", true);
32 $this->addColumn($lng->txt("user_account_code"), "code");
33 $this->addColumn($lng->txt("user_account_code_valid_until"), "valid_until");
34 $this->addColumn($lng->txt("user_account_code_generated"), "generated");
35 $this->addColumn($lng->txt("user_account_code_used"), "used");
36
37 $this->setExternalSorting(true);
38 $this->setExternalSegmentation(true);
39 $this->setEnableHeader(true);
40 $this->setFormAction($ilCtrl->getFormAction($this->parent_obj, "listCodes"));
41 $this->setRowTemplate("tpl.code_list_row.html", "Services/User");
42 $this->setEnableTitle(true);
43 $this->initFilter();
44 $this->setFilterCommand("applyCodesFilter");
45 $this->setResetCommand("resetCodesFilter");
46 $this->setDefaultOrderField("generated");
47 $this->setDefaultOrderDirection("desc");
48
49 $this->setSelectAllCheckbox("id[]");
50 $this->setTopCommands(true);
51 $this->addMultiCommand("deleteConfirmation", $lng->txt("delete"));
52
53 include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
55 $button->setCaption("user_account_codes_export");
56 $button->setCommand("exportCodes");
57 $button->setOmitPreventDoubleSubmission(true);
58 $this->addCommandButtonInstance($button);
59
60 $this->getItems();
61 }
62
66 public function getItems()
67 {
68 global $DIC;
69
70 $lng = $DIC['lng'];
71 $rbacreview = $DIC['rbacreview'];
72 $ilObjDataCache = $DIC['ilObjDataCache'];
73
75
76 include_once("./Services/User/classes/class.ilAccountCode.php");
77
78 $codes_data = ilAccountCode::getCodesData(
83 $this->filter["code"],
84 $this->filter["valid_until"],
85 $this->filter["generated"]
86 );
87
88 if (count($codes_data["set"]) == 0 && $this->getOffset() > 0) {
89 $this->resetOffset();
90 $codes_data = ilAccountCode::getCodesData(
95 $this->filter["code"],
96 $this->filter["valid_until"],
97 $this->filter["generated"]
98 );
99 }
100
101 $result = array();
102 foreach ($codes_data["set"] as $k => $code) {
103 $result[$k]["generated"] = ilDatePresentation::formatDate(new ilDateTime($code["generated"], IL_CAL_UNIX));
104
105 if ($code["used"]) {
107 } else {
108 $result[$k]["used"] = "";
109 }
110
111 if ($code["valid_until"] === "0") {
112 $valid = $lng->txt("user_account_code_valid_until_unlimited");
113 } elseif (is_numeric($code["valid_until"])) {
114 $valid = $code["valid_until"] . " " . ($code["valid_until"] == 1 ? $lng->txt("day") : $lng->txt("days"));
115 } else {
117 }
118 $result[$k]["valid_until"] = $valid;
119
120 $result[$k]["code"] = $code["code"];
121 $result[$k]["code_id"] = $code["code_id"];
122 }
123
124 $this->setMaxCount($codes_data["cnt"]);
125 $this->setData($result);
126 }
127
128
132 public function initFilter()
133 {
134 global $DIC;
135
136 $lng = $DIC['lng'];
137 $rbacreview = $DIC['rbacreview'];
138 $ilUser = $DIC['ilUser'];
139
140 include_once("./Services/User/classes/class.ilAccountCode.php");
141
142 // code
143 include_once("./Services/Form/classes/class.ilTextInputGUI.php");
144 $ti = new ilTextInputGUI($lng->txt("user_account_code"), "query");
145 $ti->setMaxLength(ilAccountCode::CODE_LENGTH);
146 $ti->setSize(20);
147 $ti->setSubmitFormOnEnter(true);
148 $this->addFilterItem($ti);
149 $ti->readFromSession();
150 $this->filter["code"] = $ti->getValue();
151
152 // generated
153 include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
154 $options = array("" => $lng->txt("user_account_code_generated_all"));
155 foreach ((array) ilAccountCode::getGenerationDates() as $date) {
157 }
158 $si = new ilSelectInputGUI($lng->txt("user_account_code_generated"), "generated");
159 $si->setOptions($options);
160 $this->addFilterItem($si);
161 $si->readFromSession();
162 $this->filter["generated"] = $si->getValue();
163 }
164
168 protected function fillRow($code)
169 {
170 $this->tpl->setVariable("ID", $code["code_id"]);
171 $this->tpl->setVariable("VAL_CODE", $code["code"]);
172 $this->tpl->setVariable("VAL_VALID_UNTIL", $code["valid_until"]);
173 $this->tpl->setVariable("VAL_GENERATED", $code["generated"]);
174 $this->tpl->setVariable("VAL_USED", $code["used"]);
175 }
176}
$result
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_DATE
const IL_CAL_UNIX
static getCodesData($order_field, $order_direction, $offset, $limit, $filter_code, $filter_valid_until, $filter_generated)
TableGUI class for account codes.
__construct($a_parent_obj, $a_parent_cmd)
Constructor.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
Class for single dates.
This class represents a selection list property in a property form.
static getInstance()
Factory.
Class ilTable2GUI.
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
setEnableHeader($a_enableheader)
Set Enable Header.
setExternalSorting($a_val)
Set external sorting.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
setSelectAllCheckbox($a_select_all_checkbox, $a_select_all_on_top=false)
Set the name of the checkbox that should be toggled with a select all button.
setData($a_data)
set table data @access public
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
setEnableTitle($a_enabletitle)
Set Enable Title.
getLimit()
Get limit.
addCommandButtonInstance(ilButtonBase $a_button)
Add Command button instance.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
resetOffset($a_in_determination=false)
Reset offset.
addMultiCommand($a_cmd, $a_text)
Add Command button.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
getOffset()
Get offset.
setExternalSegmentation($a_val)
Set external segmentation.
setId($a_val)
Set id.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setFilterCommand($a_val, $a_caption=null)
Set filter command.
getOrderDirection()
Get order direction.
setMaxCount($a_max_count)
set max.
This class represents a text property in a property form.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$valid
$code
Definition: example_050.php:99
global $ilCtrl
Definition: ilias.php:18
global $DIC
Definition: saml.php:7
$ilUser
Definition: imgupload.php:18