35 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
39 $this->rbacsystem = $DIC->rbac()->system();
40 $this->ctrl = $DIC->ctrl();
41 $this->access = $DIC->access();
42 $this->lng = $DIC->language();
43 $this->toolbar = $DIC->toolbar();
44 $this->tpl = $DIC[
"tpl"];
45 $this->tabs = $DIC->tabs();
49 $this->lng->loadLanguageModule(
"badge");
54 $next_class = $this->ctrl->getNextClass($this);
55 $cmd = $this->ctrl->getCmd();
59 switch ($next_class) {
60 case 'ilpermissiongui':
61 $this->tabs_gui->setTabActive(
'perm_settings');
63 $this->ctrl->forwardCommand($perm_gui);
66 case 'ilbadgemanagementgui':
68 $this->tabs_gui->setTabActive(
'activity');
70 $this->ctrl->forwardCommand($gui);
74 if (!$cmd || $cmd ==
'view') {
75 $cmd =
"editSettings";
88 if (
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
89 $this->tabs_gui->addTab(
91 $this->lng->txt(
"settings"),
92 $this->ctrl->getLinkTarget($this,
"editSettings")
96 $this->tabs_gui->addTab(
98 $this->lng->txt(
"badge_types"),
99 $this->ctrl->getLinkTarget($this,
"listTypes")
102 $this->tabs_gui->addTab(
104 $this->lng->txt(
"badge_image_templates"),
105 $this->ctrl->getLinkTarget($this,
"listImageTemplates")
108 $this->tabs_gui->addTab(
110 $this->lng->txt(
"badge_activity_badges"),
111 $this->ctrl->getLinkTargetByClass(
"ilbadgemanagementgui",
"")
114 $this->tabs_gui->addTab(
116 $this->lng->txt(
"badge_object_badges"),
117 $this->ctrl->getLinkTarget($this,
"listObjectBadges")
122 if (
$rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
123 $this->tabs_gui->addTab(
125 $this->lng->txt(
"perm_settings"),
126 $this->ctrl->getLinkTargetByClass(
'ilpermissiongui',
"perm")
134 $this->ctrl->redirect($this,
"editSettings");
145 $this->tabs_gui->setTabActive(
"settings");
151 $this->tpl->setContent($a_form->getHTML());
161 if ($form->checkInput()) {
162 $obi = (bool) $form->getInput(
"act")
163 ? (bool) $form->getInput(
"obi")
167 $handler->setActive((
bool) $form->getInput(
"act"));
168 $handler->setObiActive($obi);
169 $handler->setObiOrganisation(trim($form->getInput(
"obi_org")));
170 $handler->setObiContact(trim($form->getInput(
"obi_cont")));
171 $handler->setObiSalt(trim($form->getInput(
"obi_salt")));
173 $handler->rebuildIssuerStaticUrl();
175 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
176 $ilCtrl->redirect($this,
"editSettings");
179 $form->setValuesByPost();
188 $form->setFormAction($this->ctrl->getFormAction($this));
189 $form->setTitle($this->lng->txt(
"badge_settings"));
191 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
192 $form->addCommandButton(
"saveSettings", $this->lng->txt(
"save"));
193 $form->addCommandButton(
"editSettings", $this->lng->txt(
"cancel"));
197 $act->
setInfo($this->lng->txt(
"badge_service_activate_info"));
198 $form->addItem($act);
222 $act->setChecked($handler->isActive());
244 $this->tabs_gui->setTabActive(
"types");
249 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
251 $this->tpl->setContent($tbl->getHTML());
264 foreach ($handler->getInactiveTypes() as
$type) {
265 if (!in_array(
$type, $ids)) {
269 $handler->setInactiveTypes($inactive);
271 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
273 $this->ctrl->redirect($this,
"listTypes");
285 $inactive = array_merge($handler->getInactiveTypes(), $ids);
286 $handler->setInactiveTypes($inactive);
288 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
290 $this->ctrl->redirect($this,
"listTypes");
306 $this->tabs_gui->setTabActive(
"imgtmpl");
309 $ilToolbar->addButton(
310 $lng->txt(
"badge_add_template"),
311 $ilCtrl->getLinkTarget($this,
"addImageTemplate")
317 "listImageTemplates",
318 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
320 $this->tpl->setContent($tbl->getHTML());
330 $this->tabs_gui->setTabActive(
"imgtmpl");
336 $tpl->setContent($a_form->getHTML());
345 $form->setFormAction($ilCtrl->getFormAction($this,
"saveBadge"));
346 $form->setTitle(
$lng->txt(
"badge_image_template_form"));
349 $title->setRequired(
true);
350 $form->addItem($title);
353 $img->setSuffixes(array(
"png",
"svg"));
354 if ($a_mode ==
"create") {
355 $img->setRequired(
true);
357 $img->setUseCache(
false);
358 $img->setALlowDeletion(
false);
359 $form->addItem(
$img);
363 $form->addItem($types_mode);
366 $types_mode->addOption($type_all);
368 $type_spec =
new ilRadioOption(
$lng->txt(
"badge_template_types_specific"),
"spec");
369 $types_mode->addOption($type_spec);
373 $type_spec->addSubItem($types);
379 if ($a_mode ==
"create") {
380 $form->addCommandButton(
"saveImageTemplate",
$lng->txt(
"save"));
382 $form->addCommandButton(
"updateImageTemplate",
$lng->txt(
"save"));
384 $form->addCommandButton(
"listImageTemplates",
$lng->txt(
"cancel"));
397 if ($form->checkInput()) {
399 $tmpl->setTitle($form->getInput(
"title"));
400 $tmpl->setTypes($form->getInput(
"type"));
403 $tmpl->uploadImage($_FILES[
"img"]);
405 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
406 $ilCtrl->redirect($this,
"listImageTemplates");
409 $form->setValuesByPost();
421 $this->tabs_gui->setTabActive(
"imgtmpl");
423 $tmpl_id = $_REQUEST[
"tid"];
425 $ilCtrl->redirect($this,
"listImageTemplates");
428 $ilCtrl->setParameter($this,
"tid", $tmpl_id);
437 $tpl->setContent($a_form->getHTML());
461 $tmpl_id = $_REQUEST[
"tid"];
463 $ilCtrl->redirect($this,
"listImageTemplates");
466 $ilCtrl->setParameter($this,
"tid", $tmpl_id);
471 if ($form->checkInput()) {
472 $tmpl->setTitle($form->getInput(
"title"));
474 if ($form->getInput(
"tmode") !=
"all") {
475 $tmpl->setTypes($form->getInput(
"type"));
477 $tmpl->setTypes(null);
482 $tmpl->uploadImage($_FILES[
"img"]);
484 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
485 $ilCtrl->redirect($this,
"listImageTemplates");
489 $form->setValuesByPost();
502 $tmpl_ids = $_REQUEST[
"id"];
504 $ilCtrl->redirect($this,
"listImageTemplates");
507 $ilTabs->clearTargets();
508 $ilTabs->setBackTarget(
510 $ilCtrl->getLinkTarget($this,
"listImageTemplates")
514 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
515 $confirmation_gui->setHeaderText(
$lng->txt(
"badge_template_deletion_confirmation"));
516 $confirmation_gui->setCancel(
$lng->txt(
"cancel"),
"listImageTemplates");
517 $confirmation_gui->setConfirm(
$lng->txt(
"delete"),
"deleteImageTemplates");
519 foreach ($tmpl_ids as $tmpl_id) {
521 $confirmation_gui->addItem(
"id[]", $tmpl_id, $tmpl->getTitle());
524 $tpl->setContent($confirmation_gui->getHTML());
534 $tmpl_ids = $_REQUEST[
"id"];
536 foreach ($tmpl_ids as $tmpl_id) {
541 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
544 $ilCtrl->redirect($this,
"listImageTemplates");
558 $this->tabs_gui->setTabActive(
"obj_badges");
563 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
565 $tpl->setContent($tbl->getHTML());
575 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
578 $tbl->writeFilterToSession();
589 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
602 $parent_obj_id = $_REQUEST[
"pid"];
603 if (!$parent_obj_id) {
604 $ilCtrl->redirect($this,
"listObjectBadges");
609 $this->tabs_gui->clearTargets();
610 $this->tabs_gui->setBackTarget(
612 $ilCtrl->getLinkTarget($this,
"listObjectBadges")
615 $ilCtrl->saveParameter($this,
"pid");
617 $tbl =
new ilBadgeUserTableGUI($this,
"listUsers", null, null, $parent_obj_id, (
int) $_REQUEST[
"bid"]);
618 $tpl->setContent($tbl->getHTML());
623 $tbl =
new ilBadgeUserTableGUI($this,
"listUsers", null, null, $parent_obj_id, (
int) $_REQUEST[
"bid"]);
625 $tbl->writeFilterToSession();
631 $tbl =
new ilBadgeUserTableGUI($this,
"listUsers", null, null, $parent_obj_id, (
int) $_REQUEST[
"bid"]);
647 $badge_ids = $_REQUEST[
"id"];
649 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
650 $ilCtrl->redirect($this,
"listObjectBadges");
663 foreach ($badge_ids as $badge_id) {
664 $badge =
new ilBadge($badge_id);
665 $badge->setActive($a_status);
669 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
670 $ilCtrl->redirect($this,
"listObjectBadges");
692 $ilTabs->clearTargets();
693 $ilTabs->setBackTarget(
695 $ilCtrl->getLinkTarget($this,
"listObjectBadges")
699 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
700 $confirmation_gui->setHeaderText(
$lng->txt(
"badge_deletion_confirmation"));
701 $confirmation_gui->setCancel(
$lng->txt(
"cancel"),
"listObjectBadges");
702 $confirmation_gui->setConfirm(
$lng->txt(
"delete"),
"deleteObjectBadges");
704 foreach ($badge_ids as $badge_id) {
705 $badge =
new ilBadge($badge_id);
706 $parent = $badge->getParentMeta();
710 $parent[
"id"] .
") " .
712 if ((
bool) $parent[
"deleted"]) {
713 $container .=
' <span class="il_ItemAlertProperty">' .
$lng->txt(
"deleted") .
'</span>';
716 $confirmation_gui->addItem(
725 $tpl->setContent($confirmation_gui->getHTML());
735 foreach ($badge_ids as $badge_id) {
736 $badge =
new ilBadge($badge_id);
740 ilUtil::sendSuccess(
$lng->txt(
"settings_saved"),
true);
741 $ilCtrl->redirect($this,
"listObjectBadges");
This class represents an option in a radio group.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Class ilBadgeManagementGUI.
toggleObjectBadges($a_status)
This class represents an option in a checkbox group.
getObjectBadgesFromMultiAction()
confirmDeleteImageTemplates()
editSettings($a_form=null)
setImageTemplateFormValues(ilPropertyFormGUI $a_form, ilBadgeImageTemplate $a_tmpl)
TableGUI class for badge type listing.
Badge Administration Settings.
prepareOutput($a_show_subobjects=true)
prepare output
editImageTemplate(ilPropertyFormGUI $a_form=null)
addImageTemplate(ilPropertyFormGUI $a_form=null)
Class ilObjectGUI Basic methods of all Output classes.
TableGUI class for badge listing.
__construct(Container $dic, ilPlugin $plugin)
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
TableGUI class for badge template listing.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
initImageTemplateForm($a_mode)
static getInstancesByBadgeId($a_badge_id)
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
TableGUI class for badge user listing.
Confirmation screen class.
static getInstance()
Constructor.
confirmDeleteObjectBadges()