ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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.

References $DIC.

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

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.

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

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 sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static exists($a_field_id)
Check if field exists.
$i
Definition: metadata.php:24
+ 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.

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

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  }
+ Here is the call graph for this function:

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