3include_once(
"./Services/Badge/classes/class.ilBadgeHandler.php");
 
   65    public function __construct($a_parent_ref_id, $a_parent_obj_id = 
null, $a_parent_obj_type = 
null)
 
   69        $this->lng = 
$DIC->language();
 
   70        $this->ctrl = 
$DIC->ctrl();
 
   71        $this->tabs = 
$DIC->tabs();
 
   72        $this->access = 
$DIC->access();
 
   73        $this->toolbar = 
$DIC->toolbar();
 
   74        $this->tpl = 
$DIC[
"tpl"];
 
   75        $this->
user = $DIC->user();
 
   78        $this->parent_ref_id = $a_parent_ref_id;
 
   79        $this->parent_obj_id = $a_parent_obj_id
 
   82        $this->parent_obj_type = $a_parent_obj_type
 
   90        $lng->loadLanguageModule(
"badge");
 
   99        $next_class = 
$ilCtrl->getNextClass($this);
 
  100        $cmd = 
$ilCtrl->getCmd(
"listBadges");
 
  102        switch ($next_class) {
 
  103            case "ilpropertyformgui":
 
  105                if ((
int) $_REQUEST[
"bid"]) {
 
  106                    include_once 
"./Services/Badge/classes/class.ilBadge.php";
 
  107                    $badge = 
new ilBadge((
int) $_REQUEST[
"bid"]);
 
  108                    $type = $badge->getTypeInstance();
 
  114                    $type_id = $_REQUEST[
"type"];
 
  115                    $ilCtrl->setParameter($this, 
"type", $type_id);
 
  160            $lng->txt(
"obj_bdga"),
 
  161            $ilCtrl->getLinkTarget($this, 
"listBadges")
 
  167            $ilCtrl->getLinkTarget($this, 
"listUsers")
 
  170        $ilTabs->activateSubTab($a_active);
 
  176        return $ilAccess->checkAccess(
"write", 
"", $this->parent_ref_id);
 
  190            $valid_types = 
$handler->getAvailableTypesForObjType($this->parent_obj_type);
 
  192                include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  194                foreach ($valid_types as 
$id => 
$type) {
 
  197                        : 
$type->getCaption();
 
  201                include_once 
"Services/Form/classes/class.ilSelectInputGUI.php";
 
  204                $ilToolbar->addInputItem($drop, 
true);
 
  206                $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this, 
"addBadge"));
 
  207                $ilToolbar->addFormButton(
$lng->txt(
"create"), 
"addBadge");
 
  212            if (is_array(
$_SESSION[self::CLIPBOARD_ID])) {
 
  214                    $ilToolbar->addSeparator();
 
  219                    $tt[] = $badge->getTitle();
 
  222                include_once 
"Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php";
 
  225                    implode(
"<br />", $tt),
 
  232                $lng->loadLanguageModule(
"content");
 
  233                $ilToolbar->addButton(
 
  234                    $lng->txt(
"cont_paste_from_clipboard") .
 
  235                        " (" . 
sizeof($tt) . 
")",
 
  236                    $ilCtrl->getLinkTarget($this, 
"pasteBadges"),
 
  242                $ilToolbar->addButton(
 
  243                    $lng->txt(
"clear_clipboard"),
 
  244                    $ilCtrl->getLinkTarget($this, 
"clearClipboard")
 
  249        include_once 
"Services/Badge/classes/class.ilBadgeTableGUI.php";
 
  256        include_once 
"Services/Badge/classes/class.ilBadgeTableGUI.php";
 
  259        $tbl->writeFilterToSession();
 
  265        include_once 
"Services/Badge/classes/class.ilBadgeTableGUI.php";
 
  282        $type_id = $_REQUEST[
"type"];
 
  285            $ilCtrl->redirect($this, 
"listBadges");
 
  288        $ilCtrl->setParameter($this, 
"type", $type_id);
 
  293            $ilCtrl->redirect($this, 
"listBadges");
 
  300        $tpl->setContent($a_form->getHTML());
 
  308        include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
  310        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"saveBadge"));
 
  311        $form->setTitle(
$lng->txt(
"badge_badge") . 
' "' . 
$a_type->getCaption() . 
'"');
 
  314        $form->addItem($active);
 
  317        $title->setRequired(
true);
 
  321        $desc->setRequired(
true);
 
  322        $form->addItem($desc);
 
  325        $crit->setRequired(
true);
 
  326        $form->addItem($crit);
 
  328        if ($a_mode == 
"create") {
 
  332            $img_mode->setRequired(
true);
 
  333            $form->addItem($img_mode);
 
  335            $img_mode_tmpl = 
new ilRadioOption(
$lng->txt(
"badge_image_from_template"), 
"tmpl");
 
  336            $img_mode->addOption($img_mode_tmpl);
 
  339            $img_mode->addOption($img_mode_up);
 
  342            $img_upload->setRequired(
true);
 
  343            $img_upload->setSuffixes(array(
"png", 
"svg"));
 
  344            $img_mode_up->addSubItem($img_upload);
 
  348            include_once 
"Services/Badge/classes/class.ilBadgeImageTemplate.php";
 
  350            if (
sizeof($valid_templates)) {
 
  353                foreach ($valid_templates as $tmpl) {
 
  354                    $options[$tmpl->getId()] = $tmpl->getTitle();
 
  358                $tmpl->setRequired(
true);
 
  360                $img_mode_tmpl->addSubItem($tmpl);
 
  363                $img_mode_tmpl->setDisabled(
true);
 
  364                $img_mode->setValue(
"up");
 
  368            $img_upload->setSuffixes(array(
"png", 
"svg"));
 
  369            $img_upload->setALlowDeletion(
false);
 
  370            $form->addItem($img_upload);
 
  376        $custom = 
$a_type->getConfigGUIInstance();
 
  379            $custom->initConfigForm(
$form, $this->parent_ref_id);
 
  384        if ($a_mode == 
"create") {
 
  385            $form->addCommandButton(
"saveBadge", 
$lng->txt(
"save"));
 
  387            $form->addCommandButton(
"updateBadge", 
$lng->txt(
"save"));
 
  389        $form->addCommandButton(
"listBadges", 
$lng->txt(
"cancel"));
 
  399        $type_id = $_REQUEST[
"type"];
 
  402            $ilCtrl->redirect($this, 
"listBadges");
 
  405        $ilCtrl->setParameter($this, 
"type", $type_id);
 
  410            $ilCtrl->redirect($this, 
"listBadges");
 
  414        $custom = 
$type->getConfigGUIInstance();
 
  416        if (
$form->checkInput() &&
 
  417            (!$custom || $custom->validateForm(
$form))) {
 
  418            include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  420            $badge->setParentId($this->parent_obj_id); 
 
  421            $badge->setTypeId($type_id);
 
  422            $badge->setActive(
$form->getInput(
"act"));
 
  423            $badge->setTitle(
$form->getInput(
"title"));
 
  424            $badge->setDescription(
$form->getInput(
"desc"));
 
  425            $badge->setCriteria(
$form->getInput(
"crit"));
 
  426            $badge->setValid(
$form->getInput(
"valid"));
 
  430                $badge->setConfiguration($custom->getConfigFromForm(
$form));
 
  435            if (
$form->getInput(
"img_mode") == 
"up") {
 
  436                $badge->uploadImage($_FILES[
"img"]);
 
  439                $badge->importImage($tmpl->getImage(), $tmpl->getImagePath());
 
  442            ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  443            $ilCtrl->redirect($this, 
"listBadges");
 
  446        $form->setValuesByPost();
 
  456        $badge_id = $_REQUEST[
"bid"];
 
  459            $ilCtrl->redirect($this, 
"listBadges");
 
  462        $ilCtrl->setParameter($this, 
"bid", $badge_id);
 
  464        include_once 
"./Services/Badge/classes/class.ilBadge.php";
 
  465        $badge = 
new ilBadge($badge_id);
 
  473            $type = $badge->getTypeInstance();
 
  478        $tpl->setContent($a_form->getHTML());
 
  491        $custom = 
$a_type->getConfigGUIInstance();
 
  503        $badge_id = $_REQUEST[
"bid"];
 
  506            $ilCtrl->redirect($this, 
"listBadges");
 
  509        $ilCtrl->setParameter($this, 
"bid", $badge_id);
 
  511        include_once 
"./Services/Badge/classes/class.ilBadge.php";
 
  512        $badge = 
new ilBadge($badge_id);
 
  513        $type = $badge->getTypeInstance();
 
  514        $custom = 
$type->getConfigGUIInstance();
 
  520        if (
$form->checkInput() &&
 
  521            (!$custom || $custom->validateForm(
$form))) {
 
  522            $badge->setActive(
$form->getInput(
"act"));
 
  523            $badge->setTitle(
$form->getInput(
"title"));
 
  524            $badge->setDescription(
$form->getInput(
"desc"));
 
  525            $badge->setCriteria(
$form->getInput(
"crit"));
 
  526            $badge->setValid(
$form->getInput(
"valid"));
 
  529                $badge->setConfiguration($custom->getConfigFromForm(
$form));
 
  534            $badge->uploadImage($_FILES[
"img"]);
 
  536            ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  537            $ilCtrl->redirect($this, 
"listBadges");
 
  541        $form->setValuesByPost();
 
  554        $ilTabs->clearTargets();
 
  555        $ilTabs->setBackTarget(
 
  557            $ilCtrl->getLinkTarget($this, 
"listBadges")
 
  560        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  562        $confirmation_gui->setFormAction(
$ilCtrl->getFormAction($this));
 
  563        $confirmation_gui->setHeaderText(
$lng->txt(
"badge_deletion_confirmation"));
 
  564        $confirmation_gui->setCancel(
$lng->txt(
"cancel"), 
"listBadges");
 
  565        $confirmation_gui->setConfirm(
$lng->txt(
"delete"), 
"deleteBadges");
 
  567        include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  568        include_once 
"Services/Badge/classes/class.ilBadgeAssignment.php";
 
  569        foreach ($badge_ids as $badge_id) {
 
  570            $badge = 
new ilBadge($badge_id);
 
  571            $confirmation_gui->addItem(
"id[]", $badge_id, $badge->getTitle() .
 
  575        $tpl->setContent($confirmation_gui->getHTML());
 
  585        include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  586        foreach ($badge_ids as $badge_id) {
 
  587            $badge = 
new ilBadge($badge_id);
 
  591        ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  592        $ilCtrl->redirect($this, 
"listBadges");
 
  604        $badge_ids = $_REQUEST[
"id"];
 
  607            $ilCtrl->redirect($this, 
"listBadges");
 
  620            array_merge((array) 
$_SESSION[self::CLIPBOARD_ID], $badge_ids)
 
  623        $ilCtrl->redirect($this, 
"listBadges");
 
  631        $ilCtrl->redirect($this, 
"listBadges");
 
  640        include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  641        foreach (
$_SESSION[self::CLIPBOARD_ID] as $badge_id) {
 
  642            $badge = 
new ilBadge($badge_id);
 
  643            if (in_array($badge->getTypeId(), $valid_types)) {
 
  656            !is_array(
$_SESSION[self::CLIPBOARD_ID])) {
 
  657            $ilCtrl->redirect($this, 
"listBadges");
 
  661            $badge->copy($this->parent_obj_id);
 
  664        $ilCtrl->redirect($this, 
"listBadges");
 
  674        include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  675        foreach ($badge_ids as $badge_id) {
 
  676            $badge = 
new ilBadge($badge_id);
 
  677            $badge->setActive($a_status);
 
  681        ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  682        $ilCtrl->redirect($this, 
"listBadges");
 
  711            if (
sizeof($manual)) {
 
  712                include_once 
"Services/Form/classes/class.ilSelectInputGUI.php";
 
  714                $drop->setOptions($manual);
 
  715                $ilToolbar->addInputItem($drop, 
true);
 
  717                $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this, 
"awardBadgeUserSelection"));
 
  718                $ilToolbar->addFormButton(
$lng->txt(
"badge_award_badge"), 
"awardBadgeUserSelection");
 
  722        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  729        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  732        $tbl->writeFilterToSession();
 
  738        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  752        $bid = (int) $_REQUEST[
"bid"];
 
  755            $ilCtrl->redirect($this, 
"listUsers");
 
  759        if (!in_array($bid, $manual)) {
 
  760            $ilCtrl->redirect($this, 
"listUsers");
 
  763        $back_target = 
"listUsers";
 
  764        if ($_REQUEST[
"tgt"] == 
"bdgl") {
 
  765            $ilCtrl->saveParameter($this, 
"tgt");
 
  766            $back_target = 
"listBadges";
 
  769        $ilTabs->clearTargets();
 
  770        $ilTabs->setBackTarget(
 
  772            $ilCtrl->getLinkTarget($this, $back_target)
 
  775        $ilCtrl->setParameter($this, 
"bid", $bid);
 
  777        include_once 
"./Services/Badge/classes/class.ilBadge.php";
 
  780        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  787        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  790        $tbl->writeFilterToSession();
 
  796        include_once 
"Services/Badge/classes/class.ilBadgeUserTableGUI.php";
 
  810        $badge_id = $_REQUEST[
"bid"];
 
  814            $ilCtrl->redirect($this, 
"listUsers");
 
  817        include_once 
"Services/Badge/classes/class.ilBadgeAssignment.php";
 
  818        $new_badges = array();
 
  819        foreach ($user_ids as $user_id) {
 
  822                $ass->setAwardedBy(
$ilUser->getId());
 
  825                $new_badges[$user_id][] = $badge_id;
 
  831        ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  832        $ilCtrl->redirect($this, 
"listUsers");
 
  843        $badge_id = $_REQUEST[
"bid"];
 
  847            $ilCtrl->redirect($this, 
"listUsers");
 
  850        $ilTabs->clearTargets();
 
  851        $ilTabs->setBackTarget(
 
  853            $ilCtrl->getLinkTarget($this, 
"listUsers")
 
  856        include_once 
"Services/Badge/classes/class.ilBadge.php";
 
  857        $badge = 
new ilBadge($badge_id);
 
  859        $ilCtrl->setParameter($this, 
"bid", $badge->getId());
 
  861        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  863        $confirmation_gui->setFormAction(
$ilCtrl->getFormAction($this));
 
  864        $confirmation_gui->setHeaderText(sprintf(
$lng->txt(
"badge_assignment_deletion_confirmation"), $badge->getTitle()));
 
  865        $confirmation_gui->setCancel(
$lng->txt(
"cancel"), 
"listUsers");
 
  866        $confirmation_gui->setConfirm(
$lng->txt(
"delete"), 
"deassignBadge");
 
  868        include_once 
"Services/Badge/classes/class.ilBadgeAssignment.php";
 
  871        include_once 
"Services/User/classes/class.ilUserUtil.php";
 
  872        foreach ($user_ids as $user_id) {
 
  873            if (in_array($user_id, $assigned_users)) {
 
  874                $confirmation_gui->addItem(
 
  882        $tpl->setContent($confirmation_gui->getHTML());
 
  891        $badge_id = $_REQUEST[
"bid"];
 
  895            $ilCtrl->redirect($this, 
"listUsers");
 
  898        include_once 
"Services/Badge/classes/class.ilBadgeAssignment.php";
 
  899        foreach ($user_ids as $user_id) {
 
  904        ilUtil::sendSuccess(
$lng->txt(
"settings_saved"), 
true);
 
  905        $ilCtrl->redirect($this, 
"listUsers");
 
An exception for terminatinating execution or to throw for unit testing.
static getAssignedUsers($a_badge_id)
static getInstancesByBadgeId($a_badge_id)
static exists($a_badge_id, $a_user_id)
static getInstance()
Constructor.
static getInstancesByType($a_type_unique_id)
awardBadgeUserSelection()
initBadgeForm($a_mode, ilBadgeType $a_type, $a_type_unique_id)
resetAwardBadgeUserSelection()
applyAwardBadgeUserSelection()
setBadgeFormValues(ilPropertyFormGUI $a_form, ilBadge $a_badge, ilBadgeType $a_type)
addBadge(ilPropertyFormGUI $a_form=null)
__construct($a_parent_ref_id, $a_parent_obj_id=null, $a_parent_obj_type=null)
Construct.
getBadgesFromMultiAction()
editBadge(ilPropertyFormGUI $a_form=null)
getValidBadgesFromClipboard()
TableGUI class for badge listing.
TableGUI class for badge user listing.
getImagePath($a_full_path=true)
static getExtendedTypeCaption(ilBadgeType $a_type)
Confirmation screen class.
Base class for ILIAS Exception handling.
static _lookupObjId($a_id)
static _lookupType($a_id, $a_reference=false)
lookup object type
This class represents an option in a radio group.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
Badge type gui interface.
if(isset($_POST['submit'])) $form
foreach($_POST as $key=> $value) $res