24include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
 
   45        public function __construct($a_parent_obj,$a_parent_cmd,$a_category_id)
 
   51                $this->cat_id = $a_category_id;
 
   52                $this->is_editable = $this->categories->isEditable($this->cat_id); 
 
   55                $this->lng->loadLanguageModule(
'dateplaner');
 
   58                $this->
setId(
'calcalapps');
 
   60                parent::__construct($a_parent_obj,$a_parent_cmd);
 
   63                $this->
addColumn($this->lng->txt(
'cal_start'),
'dt_sort',
"30%");
 
   64                $this->
addColumn($this->lng->txt(
'title'),
'title',
"60%");
 
   65                $this->
addColumn($this->lng->txt(
'cal_duration'),
'duration',
"20%");
 
   66                $this->
addColumn($this->lng->txt(
'cal_recurrences'),
'frequence',
"10%");
 
   68                if($this->is_editable)
 
   70                        $this->
addMultiCommand(
'askDeleteAppointments',$this->lng->txt(
'delete'));
 
   71                        $this->
enable(
'select_all');
 
   78                $this->
setFormAction($this->ctrl->getFormAction($a_parent_obj));
 
   79                $this->
setRowTemplate(
"tpl.show_appointment_row.html",
"Services/Calendar");
 
  100                if($a_set[
'deletable'])
 
  102                        $this->tpl->setVariable(
'VAL_ID',$a_set[
'id']);
 
  105                $this->tpl->setVariable(
'VAL_DESCRIPTION',$a_set[
'description']);
 
  107                $this->tpl->setVariable(
'VAL_TITLE_LINK',$a_set[
'title']);
 
  108                $this->ctrl->setParameterByClass(
'ilcalendarappointmentgui',
'app_id',$a_set[
'id']);
 
  109                $this->tpl->setVariable(
'VAL_LINK',$this->ctrl->getLinkTargetByClass(
'ilcalendarappointmentgui',
'edit'));
 
  111                switch($a_set[
'frequence'])
 
  114                                $this->tpl->setVariable(
'VAL_FREQUENCE',$this->lng->txt(
'cal_daily'));
 
  118                                $this->tpl->setVariable(
'VAL_FREQUENCE',$this->lng->txt(
'cal_weekly'));
 
  122                                $this->tpl->setVariable(
'VAL_FREQUENCE',$this->lng->txt(
'cal_monthly'));
 
  126                                $this->tpl->setVariable(
'VAL_FREQUENCE',$this->lng->txt(
'cal_yearly'));
 
  131                                $this->tpl->setVariable(
'VAL_FREQUENCE',
'');
 
  134                $this->tpl->setVariable(
'VAL_BEGIN',$a_set[
'dt']);
 
  135                if($a_set[
'duration'])
 
  141                        $this->tpl->setVariable(
'VAL_DURATION',
'');
 
  162                include_once(
'./Services/Calendar/classes/class.ilCalendarEntry.php');
 
  163                include_once(
'./Services/Calendar/classes/class.ilCalendarRecurrences.php');
 
  164                include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
 
  168                foreach($a_apps as $cal_entry_id)
 
  176                                include_once 
'Services/Booking/classes/class.ilBookingEntry.php';
 
  180                                        $title = $entry->getTitle();
 
  183                                                $max = (int)$book->getNumberOfBookings();
 
  184                                                $current = (int)$book->getCurrentNumberOfBookings($entry->getEntryId());
 
  187                                                        $title .= 
' ('.$current.
'/'.$max.
')';
 
  189                                                else if($current == $max)
 
  191                                                        $title .= 
' ('.$this->lng->txt(
'cal_booked_out').
')';
 
  195                                                        $title .= 
' ('.$this->lng->txt(
'cal_book_free').
')';
 
  198                                        else if($book->hasBooked($entry->getEntryId()))
 
  200                                                $title .= 
' ('.$this->lng->txt(
'cal_date_booked').
')';
 
  206                                $title = $entry->getPresentationTitle();
 
  209                        $tmp_arr[
'id'] = $entry->getEntryId();
 
  210                        $tmp_arr[
'title'] = 
$title;
 
  211                        $tmp_arr[
'description'] = $entry->getDescription();
 
  212                        $tmp_arr[
'fullday'] = $entry->isFullday();
 
  213                        $tmp_arr[
'begin'] = $entry->getStart()->get(
IL_CAL_UNIX);
 
  214                        $tmp_arr[
'end'] = $entry->getEnd()->get(
IL_CAL_UNIX);
 
  216                        $tmp_arr[
'dt_sort'] = $entry->getStart()->get(
IL_CAL_UNIX);
 
  222                        #$tmp_arr['duration'] = ($dur = $tmp_arr['end'] - $tmp_arr['begin']) ? $dur : 60 * 60 * 24; 
  223                        $tmp_arr[
'duration'] = $tmp_arr[
'end'] - $tmp_arr[
'begin'];
 
  224                        if($tmp_arr[
'fullday'])
 
  226                                $tmp_arr[
'duration'] += (60 * 60 * 24);
 
  229                        if(!$tmp_arr[
'fullday'] and $tmp_arr[
'end'] == $tmp_arr[
'begin'])
 
  231                                $tmp_arr[
'duration'] = 
'';
 
  233                        $tmp_arr[
'frequence'] = $rec->getFrequenceType();
 
  236                        $appointments[] = $tmp_arr;             
 
  238                $this->
setData($appointments ? $appointments : array());
 
const IL_CAL_FREQ_MONTHLY
__construct($a_parent_obj, $a_parent_cmd, $a_category_id)
Constructor.
setAppointments($a_apps)
set appointments
static _getInstance($a_usr_id=0)
get singleton instance
Stores calendar categories.
Model for a calendar entry.
static _getFirstRecurrence($a_cal_id)
get first recurrence
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setFormName($a_formname)
Set Form name.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
disable($a_module_name)
diesables particular modules of table
enable($a_module_name)
enables particular modules of table
const IL_CAL_FREQ_DAILY
Model of calendar entry recurrcences.