/** * Create a new bookings calendar category. * * It is named after the parenting RoomSharing-oject * * @access protected * @return */ protected function createBookingsCalendarCategory() { global $ilUser; $cat = new ilCalendarCategory(); $cat->setColor($this->color); $cat->setType(ilCalendarCategory::TYPE_USR); $title = $this->getParentObject()->getTitle(); $cat->setTitle($title); $cat->setObjId($ilUser->getId()); return $cat->add(); }
/** * update * * @access protected * @return */ protected function update() { if (!$_GET['category_id']) { ilUtil::sendFailure($this->lng->txt('select_one'), true); $this->ctrl->returnToParent($this); } $this->readPermissions(); if (!$this->isEditable()) { ilUtil::sendFailure($this->lng->txt('permission_denied')); $this->edit(); return false; } include_once './Services/Calendar/classes/class.ilCalendarCategory.php'; $category = new ilCalendarCategory((int) $_GET['category_id']); $category->setTitle(ilUtil::stripSlashes($_POST['title'])); $category->setColor('#' . ilUtil::stripSlashes($_POST['color'])); $category->update(); ilUtil::sendSuccess($this->lng->txt('settings_saved'), true); // $this->ctrl->returnToParent($this); $this->manage(); }
/** * Create a default calendar * * @access protected * @return */ protected function createDefaultCalendar() { global $ilUser, $lng; $cat = new ilCalendarCategory(); $cat->setColor(ilCalendarCategory::DEFAULT_COLOR); $cat->setType(ilCalendarCategory::TYPE_USR); $cat->setTitle($this->lng->txt('cal_default_calendar')); $cat->setObjId($ilUser->getId()); return $cat->add(); }
/** * Create a category for a new object (crs,grp, ...) * * @access public * @param object ilias object ('crs','grp',...) * @static */ public static function createCategory($a_obj) { global $lng; include_once './Services/Calendar/classes/class.ilCalendarCategory.php'; include_once './Services/Calendar/classes/class.ilCalendarAppointmentColors.php'; $cat = new ilCalendarCategory(); $cat->setTitle($a_obj->getTitle() ? $a_obj->getTitle() : $lng->txt('obj_' . $a_obj->getType())); $cat->setType(ilCalendarCategory::TYPE_OBJ); $cat->setColor(ilCalendarAppointmentColors::_getRandomColorByType($a_obj->getType())); $cat->setObjId($a_obj->getId()); return $cat->add(); }
/** * Create a category for a new object (crs,grp, ...) * * @access public * @param object ilias object ('crs','grp',...) * @static */ public static function createCategory($a_obj, $a_check_existing = false) { global $lng; include_once './Services/Calendar/classes/class.ilCalendarCategory.php'; include_once './Services/Calendar/classes/class.ilCalendarAppointmentColors.php'; // already existing? do update instead if ($a_check_existing && ilCalendarCategory::_getInstanceByObjId($a_obj->getId())) { return self::updateCategory($a_obj); } $cat = new ilCalendarCategory(); $cat->setTitle($a_obj->getTitle() ? $a_obj->getTitle() : $lng->txt('obj_' . $a_obj->getType())); $cat->setType(ilCalendarCategory::TYPE_OBJ); $cat->setColor(ilCalendarAppointmentColors::_getRandomColorByType($a_obj->getType())); $cat->setObjId($a_obj->getId()); return $cat->add(); }
/** * Import record * * @param * @return */ function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version) { switch ($a_entity) { case "calendar": // please note: we currently only support private user calendars to // be imported if ($a_rec["Type"] == 1) { $usr_id = $a_mapping->getMapping("Services/User", "usr", $a_rec["ObjId"]); if ($usr_id > 0 && ilObject::_lookupType($usr_id) == "usr") { include_once './Services/Calendar/classes/class.ilCalendarCategory.php'; $category = new ilCalendarCategory(0); $category->setTitle($a_rec["Title"]); $category->setColor($a_rec["Color"]); $category->setType(ilCalendarCategory::TYPE_USR); $category->setObjId($usr_id); $category->add(); $a_mapping->addMapping("Services/Calendar", "calendar", $a_rec["CatId"], $category->getCategoryID()); } } break; case "cal_entry": // please note: we currently only support private user calendars to // be imported if ((int) $a_rec["ContextId"] == 0) { include_once './Services/Calendar/classes/class.ilCalendarEntry.php'; $entry = new ilCalendarEntry(0); $entry->setTitle($a_rec["Title"]); $entry->setSubtitle($a_rec["Subtitle"]); $entry->setDescription($a_rec["Description"]); $entry->setLocation($a_rec["Location"]); $entry->setFullday($a_rec["Fullday"]); if ($a_rec["Starta"] != "") { $entry->setStart(new ilDateTime($a_rec["Starta"], IL_CAL_DATETIME, 'UTC')); } if ($a_rec["Enda"] != "") { $entry->setEnd(new ilDateTime($a_rec["Enda"], IL_CAL_DATETIME, 'UTC')); } $entry->setFurtherInformations($a_rec["Informations"]); $entry->setAutoGenerated($a_rec["AutoGenerated"]); $entry->setContextId($a_rec["ContextId"]); $entry->setMilestone($a_rec["Milestone"]); $entry->setCompletion($a_rec["Completion"]); $entry->setTranslationType($a_rec["TranslationType"]); $entry->enableNotification($a_rec["Notification"]); $entry->save(); $a_mapping->addMapping("Services/Calendar", "cal_entry", $a_rec["Id"], $entry->getEntryId()); } break; case "cal_assignment": $cat_id = $a_mapping->getMapping("Services/Calendar", "calendar", $a_rec["CatId"]); $entry_id = $a_mapping->getMapping("Services/Calendar", "cal_entry", $a_rec["EntryId"]); if ($cat_id > 0 && $entry_id > 0) { include_once './Services/Calendar/classes/class.ilCalendarCategoryAssignments.php'; $ass = new ilCalendarCategoryAssignments($entry_id); $ass->addAssignment($cat_id); } break; case "recurrence_rule": $entry_id = $a_mapping->getMapping("Services/Calendar", "cal_entry", $a_rec["EntryId"]); if ($entry_id > 0) { include_once './Services/Calendar/classes/class.ilCalendarRecurrence.php'; $rec = new ilCalendarRecurrence(); $rec->setEntryId($entry_id); $rec->setRecurrence($a_rec["CalRecurrence"]); $rec->setFrequenceType($a_rec["FreqType"]); if ($a_rec["FreqUntilDate"] != "") { $rec->setFrequenceUntilDate(new ilDateTime($a_rec["FreqUntilDate"], IL_CAL_DATETIME)); } $rec->setFrequenceUntilCount($a_rec["FreqUntilCount"]); $rec->setInterval($a_rec["Interval"]); $rec->setBYDAY($a_rec["Byday"]); $rec->setBYWEEKNO($a_rec["Byweekno"]); $rec->setBYMONTH($a_rec["Bymonth"]); $rec->setBYMONTHDAY($a_rec["Bymonthday"]); $rec->setBYYEARDAY($a_rec["Byyearday"]); $rec->setBYSETPOS($a_rec["Bysetpos"]); $rec->setWeekstart($a_rec["Weekstart"]); $rec->save(); $a_mapping->addMapping("Services/Calendar", "recurrence_rule", $a_rec["RuleId"], $rec->getRecurrenceId()); } break; } }