28 $this->ref_id = $a_ref_id;
29 $lng->loadLanguageModule(
"user");
38 $next_class =
$ilCtrl->getNextClass($this);
41 switch ($next_class) {
57 $ilAccess = $DIC[
'ilAccess'];
60 $ilToolbar = $DIC[
'ilToolbar'];
64 if (!$ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
68 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
70 $button->setCaption(
"user_account_codes_add");
71 $button->setUrl(
$ilCtrl->getLinkTarget($this,
"addCodes"));
72 $ilToolbar->addButtonInstance($button);
74 include_once(
"./Services/User/classes/class.ilAccountCodesTableGUI.php");
76 $tpl->setContent($ctab->getHTML());
86 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
89 $this->form_gui->setFormAction(
$ilCtrl->getFormAction($this,
'createCodes'));
90 $this->form_gui->setTitle(
$lng->txt(
'user_account_codes_edit_header'));
94 $count->setMaxLength(4);
95 $count->setMinValue(1);
96 $count->setMaxValue(1000);
97 $count->setRequired(
true);
98 $this->form_gui->addItem($count);
101 $valid->setRequired(
true);
103 $unl =
new ilRadioOption(
$lng->txt(
'user_account_code_valid_until_unlimited'),
'valid_unlimited');
106 $st =
new ilRadioOption(
$lng->txt(
'user_account_code_valid_until_static'),
'valid_static');
111 $st->addSubItem($dt);
113 $dyn =
new ilRadioOption(
$lng->txt(
'user_account_code_valid_until_dynamic'),
'valid_dynamic');
118 $ds->setRequired(
true);
119 $dyn->addSubItem($ds);
121 $this->form_gui->addItem(
$valid);
123 $this->form_gui->addCommandButton(
'createCodes',
$lng->txt(
'create'));
124 $this->form_gui->addCommandButton(
'listCodes',
$lng->txt(
'cancel'));
131 $ilAccess = $DIC[
'ilAccess'];
136 if (!$ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
141 $tpl->setContent($this->form_gui->getHTML());
148 $ilAccess = $DIC[
'ilAccess'];
154 if (!$ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
159 if ($this->form_gui->checkInput()) {
160 $number = $this->form_gui->getInput(
'acc_codes_number');
161 switch ($this->form_gui->getInput(
'valid_type')) {
162 case 'valid_unlimited':
167 $valid = $this->form_gui->getItemByPostVar(
'valid_date')->getDate()->get(
IL_CAL_DATE);
170 case 'valid_dynamic':
171 $valid = $this->form_gui->getInput(
'valid_days');
175 include_once
'./Services/User/classes/class.ilAccountCode.php';
178 for ($loop = 1; $loop <= $number; $loop++) {
182 ilUtil::sendSuccess(
$lng->txt(
'saved_successfully'),
true);
183 $ilCtrl->redirect($this,
"listCodes");
185 $this->form_gui->setValuesByPost();
186 $tpl->setContent($this->form_gui->getHtml());
197 include_once
'./Services/User/classes/class.ilAccountCode.php';
200 ilUtil::sendSuccess(
$lng->txt(
'info_deleted'),
true);
201 $ilCtrl->redirect($this,
"listCodes");
213 if (!isset(
$_POST[
"id"])) {
217 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
219 $gui->setHeaderText(
$lng->txt(
"info_delete_sure"));
220 $gui->setCancel(
$lng->txt(
"cancel"),
"listCodes");
221 $gui->setConfirm(
$lng->txt(
"confirm"),
"deleteCodes");
222 $gui->setFormAction(
$ilCtrl->getFormAction($this,
"deleteCodes"));
224 include_once
'./Services/User/classes/class.ilAccountCode.php';
227 $gui->addItem(
"id[]", $code[
"code_id"], $code[
"code"]);
230 $tpl->setContent($gui->getHTML());
235 include_once(
"./Services/User/classes/class.ilAccountCodesTableGUI.php");
237 $utab->resetOffset();
238 $utab->resetFilter();
245 include_once(
"./Services/User/classes/class.ilAccountCodesTableGUI.php");
247 $utab->resetOffset();
248 $utab->writeFilterToSession();
257 $ilAccess = $DIC[
'ilAccess'];
261 if (!$ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
265 include_once(
"./Services/User/classes/class.ilAccountCodesTableGUI.php");
268 include_once
'./Services/User/classes/class.ilAccountCode.php';
271 if (
sizeof($codes)) {
273 ilUtil::deliverData(implode(
"\r\n", $codes),
"ilias_account_codes_" . date(
"d-m-Y") .
".txt",
"text/plain");
This class represents an option in a radio group.
GUI class for account codes.
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
__construct($a_ref_id)
Constructor.
static getCodesForExport($filter_code, $filter_valid_until, $filter_generated)
TableGUI class for account codes.
static loadCodesByIds(array $ids)
static deleteCodes(array $ids)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static create($valid_until, $stamp)
Confirmation screen class.