ILIAS  release_7 Revision v7.30-3-g800a261c036
ilContainerFilterFieldData Class Reference

Container field data. More...

+ Collaboration diagram for ilContainerFilterFieldData:

Public Member Functions

 __construct ()
 Constructor. More...
 
 getFilterSetForRefId (int $ref_id)
 Get filter for ref id. More...
 
 saveFilterSetForRefId (int $ref_id, ilContainerFilterSet $set)
 Save filter set for ref id. More...
 

Detailed Description

Container field data.

Author
killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 11 of file class.ilContainerFilterFieldData.php.

Constructor & Destructor Documentation

◆ __construct()

ilContainerFilterFieldData::__construct ( )

Constructor.

Definition at line 16 of file class.ilContainerFilterFieldData.php.

17 {
18 global $DIC;
19
20 $this->db = $DIC->database();
21 }
global $DIC
Definition: goto.php:24

References $DIC.

Member Function Documentation

◆ getFilterSetForRefId()

ilContainerFilterFieldData::getFilterSetForRefId ( int  $ref_id)

Get filter for ref id.

Parameters
int$ref_id
Returns
ilContainerFilterSet

Definition at line 29 of file class.ilContainerFilterFieldData.php.

30 {
31 $db = $this->db;
32
33 $filter = [];
34 $set = $db->queryF(
35 "SELECT * FROM cont_filter_field " .
36 " WHERE ref_id = %s ",
37 array("integer"),
38 array($ref_id)
39 );
40 while ($rec = $db->fetchAssoc($set)) {
41 if ($rec["record_set_id"] > 0 && !ilAdvancedMDFieldDefinition::exists($rec["field_id"])) {
42 continue;
43 }
44 $filter[] = [
45 "field" => new ilContainerFilterField($rec["record_set_id"], $rec["field_id"]),
46 "sort" => ($rec["record_set_id"] * 100000) + $rec["field_id"]];
47 }
48 $filter = ilUtil::sortArray($filter, "sort", "asc", true);
49
50 $filter = array_map(function ($i) {
51 return $i["field"];
52 }, $filter);
53
54 return new ilContainerFilterSet($filter);
55 }
static exists($a_field_id)
Check if field exists.
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
$i
Definition: metadata.php:24

References $i, ilAdvancedMDFieldDefinition\exists(), and ilUtil\sortArray().

+ Here is the call graph for this function:

◆ saveFilterSetForRefId()

ilContainerFilterFieldData::saveFilterSetForRefId ( int  $ref_id,
ilContainerFilterSet  $set 
)

Save filter set for ref id.

Parameters
int$ref_id
ilContainerFilterSet$set

Definition at line 62 of file class.ilContainerFilterFieldData.php.

63 {
64 $db = $this->db;
65
66 $db->manipulateF(
67 "DELETE FROM cont_filter_field WHERE " .
68 " ref_id = %s",
69 array("integer"),
70 array($ref_id)
71 );
72
73 foreach ($set->getFields() as $f) {
74 $db->insert("cont_filter_field", array(
75 "ref_id" => array("integer", $ref_id),
76 "record_set_id" => array("integer", $f->getRecordSetId()),
77 "field_id" => array("integer", $f->getFieldId())
78 ));
79 }
80 }

References Vendor\Package\$f, and ilContainerFilterSet\getFields().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: