ILIAS  trunk Revision v11.0_alpha-1753-gb21ca8c4367
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
class.ilDclDatetimeFieldModel.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
27  public function getRecordQueryFilterObject(
28  $filter_value = "",
29  ?ilDclBaseFieldModel $sort_field = null
31  global $DIC;
32  $ilDB = $DIC['ilDB'];
33 
34  $date_from = (isset($filter_value['from']) && is_object($filter_value['from'])) ? $filter_value['from'] : null;
35  $date_to = (isset($filter_value['to']) && is_object($filter_value['to'])) ? $filter_value['to'] : null;
36 
37  $join_str
38  = "INNER JOIN il_dcl_record_field AS filter_record_field_{$this->getId()} ON (filter_record_field_{$this->getId()}.record_id = record.id AND filter_record_field_{$this->getId()}.field_id = "
39  . $ilDB->quote($this->getId(), 'integer') . ") ";
40  $join_str .= "INNER JOIN il_dcl_stloc{$this->getStorageLocation()}_value AS filter_stloc_{$this->getId()} ON (filter_stloc_{$this->getId()}.record_field_id = filter_record_field_{$this->getId()}.id ";
41  if ($date_from) {
42  $join_str .= "AND filter_stloc_{$this->getId()}.value >= " . $ilDB->quote($date_from, 'date') . " ";
43  }
44  if ($date_to) {
45  $join_str .= "AND filter_stloc_{$this->getId()}.value <= " . $ilDB->quote($date_to, 'date') . " ";
46  }
47  $join_str .= ") ";
48 
49  $sql_obj = new ilDclRecordQueryObject();
50  $sql_obj->setJoinStatement($join_str);
51 
52  return $sql_obj;
53  }
54 
57  public function checkValidityFromForm(ilPropertyFormGUI &$form, ?int $record_id = null): void
58  {
59  $value = $form->getInput('field_' . $this->getId());
60 
61  //field is of type datetime (see ilDcldatatype::INPUTFORMAT_DATETIME)
62  parent::checkValidity($value . ' 00:00:00', $record_id);
63  }
64 }
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
global $DIC
Definition: shib_login.php:22
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
Returns a query-object for building the record-loader-sql-query.
checkValidityFromForm(ilPropertyFormGUI &$form, ?int $record_id=null)