コード例 #1
0
 /**
  * show information screen
  */
 function infoScreen()
 {
     global $rbacsystem, $ilUser, $ilSetting;
     $this->tabs_gui->setTabActive('info_short');
     if (!$rbacsystem->checkAccess("visible", $this->ref_id)) {
         $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"), $this->ilias->error_obj->MESSAGE);
     }
     include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php";
     $info = new ilInfoScreenGUI($this);
     if (strlen($this->object->getInformation())) {
         $info->addSection($this->lng->txt('grp_general_informations'));
         $info->addProperty($this->lng->txt('grp_information'), nl2br(ilUtil::makeClickable($this->object->getInformation(), true)));
     }
     $info->enablePrivateNotes();
     $info->enableLearningProgress(true);
     $info->addSection($this->lng->txt('group_registration'));
     $info->showLDAPRoleGroupMappingInfo();
     if (!$this->object->isRegistrationEnabled()) {
         $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_deac_info_screen'));
     } else {
         switch ($this->object->getRegistrationType()) {
             case GRP_REGISTRATION_DIRECT:
                 $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_direct_info_screen'));
                 break;
             case GRP_REGISTRATION_REQUEST:
                 $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_req_info_screen'));
                 break;
             case GRP_REGISTRATION_PASSWORD:
                 $info->addProperty($this->lng->txt('group_registration_mode'), $this->lng->txt('grp_reg_passwd_info_screen'));
                 break;
         }
         /*			
         $info->addProperty($this->lng->txt('group_registration_time'),
         	ilDatePresentation::formatPeriod(
         		$this->object->getRegistrationStart(),
         		$this->object->getRegistrationEnd()));
         */
         if ($this->object->isRegistrationUnlimited()) {
             $info->addProperty($this->lng->txt('group_registration_time'), $this->lng->txt('grp_registration_unlimited'));
         } elseif ($this->object->getRegistrationStart()->getUnixTime() < time()) {
             $info->addProperty($this->lng->txt("group_registration_time"), $this->lng->txt('cal_until') . ' ' . ilDatePresentation::formatDate($this->object->getRegistrationEnd()));
         } elseif ($this->object->getRegistrationStart()->getUnixTime() >= time()) {
             $info->addProperty($this->lng->txt("group_registration_time"), $this->lng->txt('cal_from') . ' ' . ilDatePresentation::formatDate($this->object->getRegistrationStart()));
         }
         if ($this->object->isMembershipLimited()) {
             $info->addProperty($this->lng->txt("mem_free_places"), max(0, $this->object->getMaxMembers() - $this->object->members_obj->getCountMembers()));
         }
     }
     // Confirmation
     include_once 'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
     $privacy = ilPrivacySettings::_getInstance();
     include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php';
     if ($privacy->groupConfirmationRequired() or ilCourseDefinedFieldDefinition::_getFields($this->object->getId()) or $privacy->enabledGroupExport()) {
         include_once 'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php';
         $field_info = ilExportFieldsInfo::_getInstanceByType($this->object->getType());
         $this->lng->loadLanguageModule('ps');
         $info->addSection($this->lng->txt('grp_user_agreement_info'));
         $info->addProperty($this->lng->txt('ps_export_data'), $field_info->exportableFieldsToInfoString());
         if ($fields = ilCourseDefinedFieldDefinition::_fieldsToInfoString($this->object->getId())) {
             $info->addProperty($this->lng->txt('ps_grp_user_fields'), $fields);
         }
     }
     // forward the command
     $this->ctrl->forwardCommand($info);
 }