/**
  * Get styles
  *
  * @param
  * @return
  */
 function getStyles()
 {
     global $styleDefinition;
     $all_styles = ilStyleDefinition::getAllSkinStyles();
     // get all user assigned styles
     $all_user_styles = ilObjUser::_getAllUserAssignedStyles();
     // output "other" row for all users, that are not assigned to
     // any existing style
     $users_missing_styles = 0;
     foreach ($all_user_styles as $style) {
         if (!isset($all_styles[$style])) {
             $style_arr = explode(":", $style);
             $users_missing_styles += ilObjUser::_getNumberOfUsersForStyle($style_arr[0], $style_arr[1]);
         }
     }
     if ($users_missing_styles > 0) {
         $all_styles["other"] = array("title" => $this->lng->txt("other"), "id" => "other", "template_id" => "", "style_id" => "", "template_name" => "", "style_name" => "", "users" => $users_missing_styles);
     }
     $this->setData($all_styles);
 }
 /**
  * Assign styles to cats
  *
  * @param
  * @return
  */
 function assignStylesToCatsObject()
 {
     global $ilToolbar, $ilCtrl, $tpl, $lng, $rbacsystem;
     $ilCtrl->setParameter($this, "style_id", urlencode($_GET["style_id"]));
     if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
         return;
     }
     $all_styles = ilStyleDefinition::getAllSkinStyles();
     $sel_style = $all_styles[$_GET["style_id"]];
     $options = array();
     if (is_array($sel_style["substyle"])) {
         foreach ($sel_style["substyle"] as $subst) {
             $options[$subst["id"]] = $subst["name"];
         }
     }
     // substyle
     include_once "./Services/Form/classes/class.ilSelectInputGUI.php";
     $si = new ilSelectInputGUI($this->lng->txt("sty_substyle"), "substyle");
     $si->setOptions($options);
     $ilToolbar->addInputItem($si, true);
     $ilToolbar->addFormButton($lng->txt("sty_add_assignment"), "addStyleCatAssignment");
     $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
     include_once "./Services/Style/classes/class.ilSysStyleCatAssignmentTableGUI.php";
     $tab = new ilSysStyleCatAssignmentTableGUI($this, "assignStylesToCats");
     $tpl->setContent($tab->getHTML());
 }
 protected function initForm()
 {
     $this->setTitle($this->pl->txt('form_title'));
     $te = new ilTextInputGUI($this->txt(self::F_TITLE), self::F_TITLE);
     $te->setRequired(true);
     $this->addItem($te);
     $this->setTitle($this->pl->txt('form_title'));
     $te = new ilTextAreaInputGUI($this->txt(self::F_DESCRIPTION), self::F_DESCRIPTION);
     $this->addItem($te);
     $cb = new ilCheckboxInputGUI($this->txt(self::F_STATUS), self::F_STATUS);
     //		$this->addItem($cb);
     $se = new ilSelectInputGUI($this->txt(self::F_GLOBAL_ROLE), self::F_GLOBAL_ROLE);
     $se->setRequired(true);
     $global_roles = self::getRoles(ilRbacReview::FILTER_ALL_GLOBAL);
     $se->setOptions($global_roles);
     $this->addItem($se);
     $ilCourseMultiSelectInputGUI = new ilContainerMultiSelectInputGUI('crs', $this->txt(self::F_ASSIGNED_COURSES), self::F_ASSIGNED_COURSES);
     $ilCourseMultiSelectInputGUI->setAjaxLink($this->ctrl->getLinkTarget($this->parent_gui, ilUserSettingsGUI::CMD_SEARCH_COURSES));
     $this->addItem($ilCourseMultiSelectInputGUI);
     $ilCourseMultiSelectInputGUI = new ilContainerMultiSelectInputGUI('grp', $this->txt(self::F_ASSIGNED_GROUPS), self::F_ASSIGNED_GROUPS);
     $ilCourseMultiSelectInputGUI->setAjaxLink($this->ctrl->getLinkTarget($this->parent_gui, ilUserSettingsGUI::CMD_SEARCH_COURSES));
     $this->addItem($ilCourseMultiSelectInputGUI);
     $se = new ilSelectInputGUI($this->txt(self::F_PORTFOLIO_TEMPLATE_ID), self::F_PORTFOLIO_TEMPLATE_ID);
     $options = ilObjPortfolioTemplate::getAvailablePortfolioTemplates();
     //		$options[0] = $this->pl->txt('crs_no_template');
     $options[1] = '--';
     asort($options);
     $se->setOptions($options);
     $this->addItem($se);
     $te = new ilTextInputGUI($this->txt(self::F_PORTFOLIO_NAME), self::F_PORTFOLIO_NAME);
     $te->setInfo(ilUserSetting::getAvailablePlaceholdersAsString());
     //		$te->setRequired(true);
     $this->addItem($te);
     $se = new ilSelectInputGUI($this->txt(self::F_SKIN), self::F_SKIN);
     $options = [];
     foreach (ilStyleDefinition::getAllSkinStyles() as $skin) {
         $options[$skin["id"]] = $skin["title"];
     }
     asort($options);
     $se->setOptions($options);
     $this->addItem($se);
     // $te = new ilTextInputGUI($this->txt(self::F_SKIN), self::F_SKIN);
     // $this->addItem($te);
     $te = new ilTextInputGUI($this->txt(self::F_BLOG_NAME), self::F_BLOG_NAME);
     $this->addItem($te);
     $ilCourseMultiSelectInputGUI = new ilContainerMultiSelectInputGUI('grp', $this->txt(self::F_PORTFOLIO_ASSIGNED_TO_GROUPS), self::F_PORTFOLIO_ASSIGNED_TO_GROUPS);
     $ilCourseMultiSelectInputGUI->setAjaxLink($this->ctrl->getLinkTarget($this->parent_gui, ilUserSettingsGUI::CMD_SEARCH_COURSES));
     $this->addItem($ilCourseMultiSelectInputGUI);
     $ilOrgUnitMultiSelectInputGUI = new ilContainerMultiSelectInputGUI('orgu', $this->txt(self::F_ASSIGNED_ORGUS), self::F_ASSIGNED_ORGUS);
     $ilOrgUnitMultiSelectInputGUI->setAjaxLink($this->ctrl->getLinkTarget($this->parent_gui, ilUserSettingsGUI::CMD_SEARCH_COURSES));
     $this->addItem($ilOrgUnitMultiSelectInputGUI);
     include_once "Services/User/classes/class.ilUserUtil.php";
     $this->lng->loadLanguageModule("administration");
     $si = new ilRadioGroupInputGUI($this->lng->txt("adm_user_starting_point"), "usr_start");
     $si->setRequired(true);
     $si->setInfo($this->lng->txt("adm_user_starting_point_info"));
     foreach (ilUserUtil::getPossibleStartingPoints() as $value => $caption) {
         $si->addOption(new ilRadioOption($caption, $value));
     }
     $this->addItem($si);
     // starting point: repository object
     $repobj = new ilRadioOption($this->lng->txt("adm_user_starting_point_object"), ilUserUtil::START_REPOSITORY_OBJ);
     $repobj_id = new ilTextInputGUI($this->lng->txt("adm_user_starting_point_ref_id"), "usr_start_ref_id");
     $repobj_id->setRequired(true);
     $repobj_id->setSize(5);
     if ($si->getValue() == ilUserUtil::START_REPOSITORY_OBJ) {
         $start_ref_id = ilUserUtil::getPersonalStartingObject();
         $repobj_id->setValue($start_ref_id);
         if ($start_ref_id) {
             $start_obj_id = ilObject::_lookupObjId($start_ref_id);
             if ($start_obj_id) {
                 $repobj_id->setInfo($this->lng->txt("obj_" . ilObject::_lookupType($start_obj_id)) . ": " . ilObject::_lookupTitle($start_obj_id));
             }
         }
     }
     $repobj->addSubItem($repobj_id);
     $si->addOption($repobj);
     if ($this->pl->is51()) {
         $ilStudyProgramMultiSelectInputGUI = new ilContainerMultiSelectInputGUI('prg', $this->txt(self::F_ASSIGNED_STUDYPROGRAMS), self::F_ASSIGNED_STUDYPROGRAMS);
         $ilStudyProgramMultiSelectInputGUI->setAjaxLink($this->ctrl->getLinkTarget($this->parent_gui, ilUserSettingsGUI::CMD_SEARCH_COURSES));
         $this->addItem($ilStudyProgramMultiSelectInputGUI);
     }
     $this->addCommandButtons();
 }