コード例 #1
0
 /**
  * show calendar details
  *
  * @access protected
  * @return
  */
 protected function details()
 {
     global $tpl;
     if (!$_GET['category_id']) {
         ilUtil::sendFailure($this->lng->txt('select_one'), true);
         $this->ctrl->returnToParent($this);
     }
     $this->readPermissions();
     $this->checkVisible();
     $category = new ilCalendarCategory((int) $_GET['category_id']);
     if (!in_array($category->getType(), array(ilCalendarCategory::TYPE_CH, ilCalendarCategory::TYPE_BOOK))) {
         include_once "./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php";
         $toolbar = new ilToolbarGui();
         $toolbar->addButton($this->lng->txt("cal_add_appointment"), $this->ctrl->getLinkTargetByClass("ilcalendarappointmentgui", "add"));
         if (!in_array($category->getType(), array(ilCalendarCategory::TYPE_CH, ilCalendarCategory::TYPE_BOOK))) {
             $toolbar->addButton($this->lng->txt("cal_import_appointments"), $this->ctrl->getLinkTarget($this, "importAppointments"));
         }
         $toolbar = $toolbar->getHTML();
     }
     // Non editable category
     include_once "./Services/InfoScreen/classes/class.ilInfoScreenGUI.php";
     $info = new ilInfoScreenGUI($this);
     $info->setFormAction($this->ctrl->getFormAction($this));
     $info->addSection($this->lng->txt('cal_cal_details'));
     // Calendar Name
     $info->addProperty($this->lng->txt('cal_calendar_name'), $category->getTitle());
     switch ($category->getType()) {
         case ilCalendarCategory::TYPE_USR:
             $info->addProperty($this->lng->txt('cal_cal_type'), $this->lng->txt('cal_type_personal'));
             break;
         case ilCalendarCategory::TYPE_GLOBAL:
             $info->addProperty($this->lng->txt('cal_cal_type'), $this->lng->txt('cal_type_system'));
             break;
         case ilCalendarCategory::TYPE_OBJ:
             $info->addProperty($this->lng->txt('cal_cal_type'), $this->lng->txt('cal_type_' . $category->getObjType()));
             $info->addSection($this->lng->txt('additional_info'));
             $info->addProperty($this->lng->txt('perma_link'), $this->addReferenceLinks($category->getObjId()));
             break;
         case ilCalendarCategory::TYPE_CH:
         case ilCalendarCategory::TYPE_BOOK:
             // nothing to do
             break;
     }
     // Ical link
     $this->ctrl->setParameterByClass('ilcalendarsubscriptiongui', 'cal_id', (int) $_GET['category_id']);
     $info->addProperty($this->lng->txt('cal_ical_infoscreen'), '<img src="' . ilUtil::getImagePath('ical.png', 'Services/Calendar') . '" />', $this->ctrl->getLinkTargetByClass(array('ilcalendarpresentationgui', 'ilcalendarsubscriptiongui')));
     $tpl->setContent($toolbar . $info->getHTML() . $this->showAssignedAppointments());
 }