23 if ($filter_value ==
"checked") {
24 $join_str =
"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 = " 25 .
$ilDB->quote($this->
getId(),
'integer') .
")";
26 $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";
27 $join_str .=
" AND filter_stloc_{$this->getId()}.value = " .
$ilDB->quote(1,
'integer');
29 $join_str =
"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 = " 30 .
$ilDB->quote($this->
getId(),
'integer') .
")";
31 $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";
32 $where_additions =
" AND (filter_stloc_{$this->getId()}.value <> " .
$ilDB->quote(1,
'integer')
33 .
" OR filter_stloc_{$this->getId()}.value is NULL)";
38 $sql_obj->setJoinStatement($join_str);
39 $sql_obj->setWhereStatement($where_additions);
Class ilDclBaseFieldModel.
Class ilDclRecordQueryObject.
getRecordQueryFilterObject($filter_value="", ilDclBaseFieldModel $sort_field=null)
Returns a query-object for building the record-loader-sql-query.
Class ilDclBooleanFieldModel.