4include_once 
'Services/Table/interfaces/interface.ilTableFilterItem.php';
 
   48        $this->lng = 
$DIC->language();
 
   49        $this->
user = $DIC->user();
 
   50        parent::__construct($a_title, $a_postvar);
 
   62        $this->toggle_fulltime_txt = $a_title;
 
   63        $this->toggle_fulltime_checked = $a_checked;
 
   64        $this->toggle_fulltime = 
true;
 
   89        $this->start = $a_date;
 
   99        $this->start_text = $a_txt;
 
  118        $this->end_text = $a_txt;
 
  153        $this->end = $a_date;
 
  173        $this->showtime = $a_showtime;
 
  202        $this->startyear = $a_year;
 
  225        $this->minute_step_size = $a_step_size;
 
  247        if (is_array($incoming)) {
 
  249            $this->toggle_fulltime_checked = (bool) $incoming[
'tgl'];
 
  252                if (is_string($incoming[
'start']) && trim($incoming[
'start']) !== 
'') {
 
  258                if (is_string($incoming[
'end']) && trim($incoming[
'end']) !== 
'') {
 
  270            $item->setValueByArray($a_values);
 
  288        if (!is_array(
$post)) {
 
  304        $valid_start = 
false;
 
  341                $valid_start = 
false;
 
  348        $valid = ($valid_start && $valid_end);
 
  367            $this->invalid_input_start = 
$start;
 
  368            $this->invalid_input_end = 
$end;
 
  422        $tpl = 
new ilTemplate(
"tpl.prop_datetime_duration.html", 
true, 
true, 
"Services/Form");
 
  427            $toggle_id = md5($this->
getPostVar() . 
'_fulltime'); 
 
  429            $tpl->setCurrentBlock(
'toggle_fullday');
 
  430            $tpl->setVariable(
'DATE_TOGGLE_ID', $this->
getPostVar() . 
'[tgl]');
 
  431            $tpl->setVariable(
'FULLDAY_TOGGLE_ID', $toggle_id);
 
  432            $tpl->setVariable(
'FULLDAY_TOGGLE_CHECKED', $this->toggle_fulltime_checked ? 
'checked="checked"' : 
'');
 
  433            $tpl->setVariable(
'FULLDAY_TOGGLE_DISABLED', $this->
getDisabled() ? 
'disabled="disabled"' : 
'');
 
  434            $tpl->setVariable(
'TXT_TOGGLE_FULLDAY', $this->toggle_fulltime_txt);
 
  435            $tpl->parseCurrentBlock();
 
  441            $picker_start_id = md5($this->
getPostVar() . 
'_start');
 
  442            $picker_end_id = md5($this->
getPostVar() . 
'_end');
 
  444            $tpl->setVariable(
'DATEPICKER_START_ID', $picker_start_id);
 
  445            $tpl->setVariable(
'DATEPICKER_END_ID', $picker_end_id);
 
  457            $tpl->setVariable(
'DATEPICKER_START_DISABLED', 
'disabled="disabled" ');
 
  458            $tpl->setVariable(
'DATEPICKER_END_DISABLED', 
'disabled="disabled" ');
 
  462        if ($start_txt === 
null) {
 
  463            $start_txt = 
$lng->txt(
"form_date_duration_start");
 
  465        if (trim($start_txt)) {
 
  466            $tpl->setVariable(
'START_LABEL', $start_txt);
 
  468            $tpl->touchBlock(
'start_width_bl');
 
  472        if ($end_txt === 
null) {
 
  473            $end_txt = 
$lng->txt(
"form_date_duration_end");
 
  475        if (trim($end_txt)) {
 
  476            $tpl->setVariable(
'END_LABEL', $end_txt);
 
  478            $tpl->touchBlock(
'end_width_bl');
 
  482        $tpl->setVariable(
'DATE_START_ID', $this->
getPostVar() . 
'[start]');
 
  488        $tpl->setVariable(
'START_PLACEHOLDER', $pl_format);
 
  489        $tpl->setVariable(
'END_PLACEHOLDER', $pl_format);
 
  500        $date_value = htmlspecialchars($this->invalid_input_start);
 
  506        $tpl->setVariable(
'DATEPICKER_START_VALUE', $date_value);
 
  508        $date_value = htmlspecialchars($this->invalid_input_end);
 
  514        $tpl->setVariable(
'DATEPICKER_END_VALUE', $date_value);
 
  517            $tpl->setVariable(
"START_REQUIRED", 
"required=\"required\"");
 
  518            $tpl->setVariable(
"END_REQUIRED", 
"required=\"required\"");
 
  533        $a_tpl->setCurrentBlock(
"prop_generic");
 
  534        $a_tpl->setVariable(
"PROP_GENERIC", 
$html);
 
  535        $a_tpl->parseCurrentBlock();
 
  567        if (is_array($value)) {
 
  575        if ($this->invalid_input_start ||
 
  576            $this->invalid_input_end) {
 
  597        $this->allowOpenIntervals = $allowOpenInterval;
 
An exception for terminatinating execution or to throw for unit testing.
static parseIncomingDate($a_value, $a_add_time=null)
Try to parse incoming value to date object.
static addDateTimePicker($a_id, $a_add_time=null, array $a_custom_config=null, $a_id2=null, $a_custom_config2=null, $a_toggle_id=null, $a_subform_id=null)
Add date time picker to element.
static getUserDateFormat($a_add_time=false, $a_for_parsing=false)
Parse current user setting into date/time format.
@classDescription Date and time handling
static _after(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is after end This method does not consider tz offsets.
special template class to simplify handling of ITX/PEAR
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
Interface for property form input GUI classes that can be used in table filters.