35 public function __construct(?
object $a_parent_obj,
string $a_parent_cmd)
39 $this->
user = $DIC->user();
40 $this->
lng = $DIC->language();
41 $this->
lng->loadLanguageModule(
'dateplaner');
42 $this->
ctrl = $DIC->ctrl();
44 $this->
setId(
'calinbox');
48 $this->
addColumn($this->
lng->txt(
'date'),
'begin',
"30%");
49 $this->
addColumn($this->
lng->txt(
'title'),
'title',
"40%");
50 #$this->addColumn($this->lng->txt('cal_duration'),'duration',"15%"); 51 $this->
addColumn($this->
lng->txt(
'cal_recurrences'),
'frequence',
"15%");
52 $this->
addColumn($this->
lng->txt(
'last_update'),
'last_update',
"15%");
55 $this->
setRowTemplate(
"tpl.show_changed_appointment_row.html",
"Services/Calendar");
66 protected function fillRow(array $a_set): void
68 $this->tpl->setVariable(
'VAL_DESCRIPTION', $a_set[
'description']);
70 $this->tpl->setVariable(
'VAL_TITLE_LINK', $a_set[
'title']);
71 $this->
ctrl->setParameterByClass(
'ilcalendarappointmentgui',
'app_id', $a_set[
'id']);
72 $this->tpl->setVariable(
'VAL_LINK', $this->
ctrl->getLinkTargetByClass(
'ilcalendarappointmentgui',
'edit'));
74 switch ($a_set[
'frequence']) {
76 $this->tpl->setVariable(
'VAL_FREQUENCE', $this->
lng->txt(
'cal_daily'));
80 $this->tpl->setVariable(
'VAL_FREQUENCE', $this->
lng->txt(
'cal_weekly'));
84 $this->tpl->setVariable(
'VAL_FREQUENCE', $this->
lng->txt(
'cal_monthly'));
88 $this->tpl->setVariable(
'VAL_FREQUENCE', $this->
lng->txt(
'cal_yearly'));
92 #$this->tpl->setVariable('VAL_FREQUENCE',$this->lng->txt('cal_no_recurrence')); 95 if ($a_set[
'fullday']) {
106 $this->tpl->setVariable(
'VAL_BEGIN', $date);
114 foreach ($a_apps as $event) {
115 $entry = $event[
'event'];
119 $tmp_arr[
'id'] = $entry->getEntryId();
120 $tmp_arr[
'title'] = $entry->getPresentationTitle();
121 $tmp_arr[
'description'] = $entry->getDescription();
122 $tmp_arr[
'fullday'] = $entry->isFullday();
124 $tmp_arr[
'begin'] = $event[
'dstart'];
125 $tmp_arr[
'end'] = $event[
'dend'];
127 $tmp_arr[
'duration'] = $tmp_arr[
'end'] - $tmp_arr[
'begin'];
128 if ($tmp_arr[
'fullday']) {
129 $tmp_arr[
'duration'] += (60 * 60 * 24);
131 if (!$tmp_arr[
'fullday'] and $tmp_arr[
'end'] == $tmp_arr[
'begin']) {
132 $tmp_arr[
'duration'] =
'';
135 $tmp_arr[
'last_update'] = $entry->getLastUpdate()->get(
IL_CAL_UNIX);
136 $tmp_arr[
'frequence'] = $rec->getFrequenceType();
138 $appointments[] = $tmp_arr;
142 $appointments = array_slice($appointments, 0, $this->
getLimit());
enable(string $a_module_name)
setFormAction(string $a_form_action, bool $a_multipart=false)
static _getFirstRecurrence($a_cal_id)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
setFormName(string $a_name="")
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
__construct(?object $a_parent_obj, string $a_parent_cmd)
setDefaultOrderField(string $a_defaultorderfield)
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
setDefaultOrderDirection(string $a_defaultorderdirection)
setAppointments(array $a_apps)
static formatPeriod(ilDateTime $start, ilDateTime $end, bool $a_skip_starting_day=false)
Format a period of two dates Shows: 14.
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)