19declare(strict_types=1);
36 if ($value !==
null) {
37 if ($value[
"lower"] ??
false) {
40 if ($value[
"upper"] ??
false) {
54 $date_from->setShowTime(
false);
55 $check->addSubItem($date_from);
58 $date_from->setDate($this->
getLowerADT()->getDate());
63 $date_until->setShowTime(
false);
64 $check->addSubItem($date_until);
67 $date_until->setDate($this->
getUpperADT()->getDate());
76 $item->addCombinationItem(
"lower", $lower, $this->
lng->txt(
"from"));
83 $item->addCombinationItem(
"upper", $upper, $this->
lng->txt(
"to"));
98 return ($a_post[
'lower'] ??
false) || ($a_post[
'upper'] ??
false);
100 return parent::shouldBeImportedFromPost($a_post);
118 $item->setDate($start);
121 $item->setDate($end);
122 } elseif (array_key_exists($this->
getElementId(), $this->table_filter_fields)) {
123 $this->table_filter_fields[$this->
getElementId()]->getCombinationItem(
"lower")->setDate($start);
124 $this->table_filter_fields[$this->
getElementId()]->getCombinationItem(
"upper")->setDate($end);
126 "lower" => (!$start || $start->isNull()) ?
null : $start->get(
IL_CAL_DATE),
127 "upper" => (!$end || $end->isNull()) ?
null : $end->get(
IL_CAL_DATE)
142 public function getSQLCondition(
string $a_element_id,
int $mode = self::SQL_LIKE, array $quotedWords = []): string
147 $sql[] = $a_element_id .
" >= " . $this->db->quote(
153 $sql[] = $a_element_id .
" <= " . $this->db->quote(
158 return "(" . implode(
" AND ", $sql) .
")";
188 return serialize(
$res);
195 $a_value = unserialize($a_value);
196 if (is_array($a_value)) {
197 if (isset($a_value[
"lower"])) {
200 if (isset($a_value[
"upper"])) {
Class ilADTDateSearchBridgeRange.
getSQLCondition(string $a_element_id, int $mode=self::SQL_LIKE, array $quotedWords=[])
Get SQL condition for current value(s)
addToForm()
Add ADT-specific fields to form.
loadFilter()
Load filter value(s) into ADT.
isValidADTDefinition(ilADTDefinition $a_adt_def)
shouldBeImportedFromPost($a_post)
Check if incoming values should be imported at all.
getSerializedValue()
Get current value(s) in serialized form (for easy persisting)
isInCondition(ilADT $a_adt)
Compare directly against ADT.
importFromPost(?array $a_post=null)
setSerializedValue(string $a_value)
Set current value(s) in serialized form (for easy persisting)
ADT definition base class.
Class ilADTSearchBridgeRange.
getUpperADT()
Get upper ADT.
getLowerADT()
Get lower ADT.
addToElementId(string $a_add)
Add sub-element.
readFilter()
Load value(s) from filter store (in session)
extractPostValues(?array $a_post=null)
Extract data from (post) values.
addToParentElement(ilFormPropertyGUI $a_field)
Add form field to parent element.
writeFilter($a_value=null)
Write value(s) to filter store (in session)
isSmallerOrEqual(ilADT $a_adt)
Check if given ADT is smaller or equal than self.
isLargerOrEqual(ilADT $a_adt)
isInbetweenOrEqual(ilADT $a_adt_from, ilADT $a_adt_to)
Check if self is inbetween given ADTs (inclusive)
static parseIncomingDate($value, bool $add_time=false)
Try to parse incoming value to date object.