19 declare(strict_types=1);
    31         return [$this::PROP_SELECTION_OPTIONS, $this::PROP_SELECTION_TYPE];
    40             = 
" LEFT 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 = "    41             . $this->db->quote($this->
getId(), 
'integer') . 
") ";
    43         $join_str .= 
" LEFT 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";
    46         if ($filter_value == 
'none') {
    48                 . 
"filter_stloc_{$this->getId()}.value IS NULL "    49                 . 
" OR filter_stloc_{$this->getId()}.value = " . $this->db->quote(
"", 
'text')
    50                 . 
" OR filter_stloc_{$this->getId()}.value = " . $this->db->quote(
"[]", 
'text')
    55                     "filter_stloc_{$this->getId()}.value LIKE " . $this->db->quote(
"%\"$filter_value\"%", 
'text') .
    58                 $where_str .= 
"filter_stloc_{$this->getId()}.value = "    59                     . $this->db->quote($filter_value, 
'integer');
    66         $sql_obj->setJoinStatement($join_str);
    67         $sql_obj->setWhereStatement($where_str);
    74         return ($this->
getProperty($this::PROP_SELECTION_TYPE) === $this::SELECTION_TYPE_MULTI);
    82         if ($key === $this::PROP_SELECTION_OPTIONS) {
    85             foreach ($value as 
$id => $val) {
    86                 ilDclSelectionOption::storeOption((
int) $this->
getId(), 
$id, $sorting, $val);
    91         return parent::setProperty($key, $value);
    99         if ($key == $this::PROP_SELECTION_OPTIONS) {
   102                 $prop_values[$option->getOptId()] = $option->getValue();
   107         return parent::getProperty($key);
   112         parent::cloneProperties($originalField);
   114         foreach ($options as $opt) {
   116             $new_opt->cloneOption($opt);
   117             $new_opt->setFieldId((
int) $this->
getId());
 
const SELECTION_TYPE_SINGLE
 
setProperty(string $key, $value)
 
const SELECTION_TYPE_MULTI
 
const PROP_SELECTION_OPTIONS
 
cloneProperties(ilDclBaseFieldModel $originalField)
 
getRecordQueryFilterObject( $filter_value="", ?ilDclBaseFieldModel $sort_field=null)
 
const PROP_SELECTION_TYPE
 
static flushOptions(int $field_id)
 
getValidFieldProperties()
 
const SELECTION_TYPE_COMBOBOX
 
static getAllForField(int $field_id)