4include_once(
"./Services/DataSet/classes/class.ilDataSet.php");
 
   23        return array(
"4.3.0");
 
   34        return "http://www.ilias.de/xml/Services/Calendar/" . $a_entity;
 
   43    protected function getTypes($a_entity, $a_version)
 
   46        if ($a_entity == 
"calendar") {
 
   60        if ($a_entity == 
"cal_entry") {
 
   67                        "Description" => 
"text",
 
   69                        "Fullday" => 
"integer",
 
   72                        "Informations" => 
"text",
 
   73                        "AutoGenerated" => 
"integer",
 
   74                        "ContextId" => 
"integer",
 
   75                        "TranslationType" => 
"integer",
 
   76                        "IsMilestone" => 
"integer",
 
   77                        "Completion" => 
"integer",
 
   78                        "Notification" => 
"integer" 
   84        if ($a_entity == 
"cal_assignment") {
 
   89                        "EntryId" => 
"integer" 
   95        if ($a_entity == 
"recurrence_rule") {
 
   99                        "RuleId" => 
"integer",
 
  100                        "EntryId" => 
"integer",
 
  101                        "CalRecurrence" => 
"integer",
 
  102                        "FreqType" => 
"text",
 
  103                        "FreqUntilDate" => 
"text",
 
  104                        "FreqUntilCount" => 
"integer",
 
  105                        "Intervall" => 
"integer",
 
  107                        "Byweekno" => 
"text",
 
  109                        "Bymonthday" => 
"text",
 
  110                        "Byyearday" => 
"text",
 
  111                        "Bysetpos" => 
"text",
 
  112                        "Weekstart" => 
"text" 
  124    public function readData($a_entity, $a_version, $a_ids, $a_field = 
"")
 
  130        if (!is_array($a_ids)) {
 
  131            $a_ids = array($a_ids);
 
  135        if ($a_entity == 
"calendar") {
 
  136            switch ($a_version) {
 
  139                        " FROM cal_categories " .
 
  141                        $ilDB->in(
"cat_id", $a_ids, 
false, 
"integer"));
 
  147        if ($a_entity == 
"cal_assignment") {
 
  148            switch ($a_version) {
 
  151                        " FROM cal_cat_assignments " .
 
  153                        $ilDB->in(
"cat_id", $a_ids, 
false, 
"integer"));
 
  159        if ($a_entity == 
"cal_entry") {
 
  160            switch ($a_version) {
 
  163                        " starta, enda, informations, auto_generated, context_id, translation_type, is_milestone, completion, notification " .
 
  164                        " FROM cal_entries " .
 
  166                        $ilDB->in(
"cal_id", $a_ids, 
false, 
"integer"));
 
  173        if ($a_entity == 
"recurrence_rule") {
 
  174            switch ($a_version) {
 
  176                    $this->
getDirectDataFromQuery(
"SELECT rule_id, cal_id entry_id, cal_recurrence, freq_type, freq_until_date, freq_until_count, " .
 
  177                        " intervall, byday, byweekno, bymonth, bymonthday, byyearday, bysetpos, weekstart " .
 
  178                        " FROM cal_recurrence_rules " .
 
  180                        $ilDB->in(
"cal_id", $a_ids, 
false, 
"integer"));
 
  193                include_once(
"./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php");
 
  196                foreach ($assignmnts as $cal_id) {
 
  197                    $entries[$cal_id] = $cal_id;
 
  200                    "cal_entry" => array(
"ids" => $entries),
 
  201                    "cal_assignment" => array(
"ids" => $a_rec[
"CatId"])
 
  205                    "recurrence_rule" => array(
"ids" => $a_rec[
"Id"])
 
  218    public function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
 
  224                if ($a_rec[
"Type"] == 1) {
 
  225                    $usr_id = $a_mapping->getMapping(
"Services/User", 
"usr", $a_rec[
"ObjId"]);
 
  227                        include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
 
  229                        $category->setTitle($a_rec[
"Title"]);
 
  230                        $category->setColor($a_rec[
"Color"]);
 
  232                        $category->setObjId($usr_id);
 
  234                        $a_mapping->addMapping(
 
  238                            $category->getCategoryID()
 
  247                if ((
int) $a_rec[
"ContextId"] == 0) {
 
  248                    include_once(
'./Services/Calendar/classes/class.ilCalendarEntry.php');
 
  250                    $entry->setTitle($a_rec[
"Title"]);
 
  251                    $entry->setSubtitle($a_rec[
"Subtitle"]);
 
  252                    $entry->setDescription($a_rec[
"Description"]);
 
  253                    $entry->setLocation($a_rec[
"Location"]);
 
  254                    $entry->setFullday($a_rec[
"Fullday"]);
 
  255                    if ($a_rec[
"Starta"] != 
"") {
 
  258                    if ($a_rec[
"Enda"] != 
"") {
 
  261                    $entry->setFurtherInformations($a_rec[
"Informations"]);
 
  262                    $entry->setAutoGenerated($a_rec[
"AutoGenerated"]);
 
  263                    $entry->setContextId($a_rec[
"ContextId"]);
 
  264                    $entry->setMilestone($a_rec[
"Milestone"]);
 
  265                    $entry->setCompletion($a_rec[
"Completion"]);
 
  266                    $entry->setTranslationType($a_rec[
"TranslationType"]);
 
  267                    $entry->enableNotification($a_rec[
"Notification"]);
 
  269                    $a_mapping->addMapping(
 
  278            case "cal_assignment":
 
  279                $cat_id = $a_mapping->getMapping(
"Services/Calendar", 
"calendar", $a_rec[
"CatId"]);
 
  280                $entry_id = $a_mapping->getMapping(
"Services/Calendar", 
"cal_entry", $a_rec[
"EntryId"]);
 
  281                if ($cat_id > 0 && $entry_id > 0) {
 
  282                    include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php');
 
  284                    $ass->addAssignment($cat_id);
 
  288            case "recurrence_rule":
 
  289                $entry_id = $a_mapping->getMapping(
"Services/Calendar", 
"cal_entry", $a_rec[
"EntryId"]);
 
  291                    include_once(
'./Services/Calendar/classes/class.ilCalendarRecurrence.php');
 
  293                    $rec->setEntryId($entry_id);
 
  294                    $rec->setRecurrence($a_rec[
"CalRecurrence"]);
 
  295                    $rec->setFrequenceType($a_rec[
"FreqType"]);
 
  296                    if ($a_rec[
"FreqUntilDate"] != 
"") {
 
  299                    $rec->setFrequenceUntilCount($a_rec[
"FreqUntilCount"]);
 
  300                    $rec->setInterval($a_rec[
"Interval"]);
 
  301                    $rec->setBYDAY($a_rec[
"Byday"]);
 
  302                    $rec->setBYWEEKNO($a_rec[
"Byweekno"]);
 
  303                    $rec->setBYMONTH($a_rec[
"Bymonth"]);
 
  304                    $rec->setBYMONTHDAY($a_rec[
"Bymonthday"]);
 
  305                    $rec->setBYYEARDAY($a_rec[
"Byyearday"]);
 
  306                    $rec->setBYSETPOS($a_rec[
"Bysetpos"]);
 
  307                    $rec->setWeekstart($a_rec[
"Weekstart"]);
 
  309                    $a_mapping->addMapping(
 
  313                        $rec->getRecurrenceId()
 
An exception for terminatinating execution or to throw for unit testing.
static _getAssignedAppointments($a_cat_id)
Get assigned apointments.
Stores calendar categories.
getDependencies($a_entity, $a_version, $a_rec, $a_ids)
Determine the dependent sets of data.
readData($a_entity, $a_version, $a_ids, $a_field="")
Read data.
getSupportedVersions()
Get supported versions.
getTypes($a_entity, $a_version)
Get field types for entity.
getXmlNamespace($a_entity, $a_schema_version)
Get xml namespace.
importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
Import record.
Model for a calendar entry.
A dataset contains in data in a common structure that can be shared and transformed for different pur...
getDirectDataFromQuery($a_query, $a_convert_to_leading_upper=true, $a_set=true)
Get data from query.This is a standard procedure, all db field names are directly mapped to abstract ...
@classDescription Date and time handling
static _lookupType($a_id, $a_reference=false)
lookup object type