ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f87
ilGlossaryAdvMetaDataAdapter Class Reference

Advanced meta data adapter. More...

+ Collaboration diagram for ilGlossaryAdvMetaDataAdapter:

Public Member Functions

 __construct ($a_glo_id)
 Constructor. More...
 
 getAllFields ()
 Get all advanced metadata fields. More...
 
 getColumnOrder ()
 Get column order. More...
 
 saveColumnOrder ($a_cols)
 Save column order. More...
 

Detailed Description

Advanced meta data adapter.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 12 of file class.ilGlossaryAdvMetaDataAdapter.php.

Constructor & Destructor Documentation

◆ __construct()

ilGlossaryAdvMetaDataAdapter::__construct (   $a_glo_id)

Constructor.

Definition at line 17 of file class.ilGlossaryAdvMetaDataAdapter.php.

18  {
19  $this->glo_id = $a_glo_id;
20  }

Member Function Documentation

◆ getAllFields()

ilGlossaryAdvMetaDataAdapter::getAllFields ( )

Get all advanced metadata fields.

Definition at line 26 of file class.ilGlossaryAdvMetaDataAdapter.php.

References ilAdvancedMDRecord\_getSelectedRecordsByObject(), and ilAdvancedMDFieldDefinition\getInstancesByRecordId().

Referenced by ilTermListTableGUI\__construct(), ilPresentationListTableGUI\__construct(), and getColumnOrder().

27  {
28  $fields = array();
29  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
30  $recs = ilAdvancedMDRecord::_getSelectedRecordsByObject("glo", $this->glo_id, "term");
31 
32  foreach($recs as $record_obj)
33  {
34  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
35  foreach (ilAdvancedMDFieldDefinition::getInstancesByRecordId($record_obj->getRecordId()) as $def)
36  {
37  $fields[$def->getFieldId()] = array(
38  "id" => $def->getFieldId(),
39  "title" => $def->getTitle(),
40  "type" => $def->getType()
41  );
42  }
43  }
44 
45  return $fields;
46  }
static getInstancesByRecordId($a_record_id, $a_only_searchable=false)
Get definitions by record id.
static _getSelectedRecordsByObject($a_obj_type, $a_obj_id, $a_sub_type="")
Get selected records by object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getColumnOrder()

ilGlossaryAdvMetaDataAdapter::getColumnOrder ( )

Get column order.

Parameters

Definition at line 54 of file class.ilGlossaryAdvMetaDataAdapter.php.

References $columns, $ilDB, $lng, and getAllFields().

Referenced by ilTermListTableGUI\__construct(), ilPresentationListTableGUI\__construct(), ilObjGlossaryGUI\initSettingsForm(), and ilObjGlossaryGUI\saveProperties().

55  {
56  global $ilDB, $lng;
57 
58  $columns = array();
59 
60  $set = $ilDB->query("SELECT * FROM glo_advmd_col_order ".
61  " WHERE glo_id = ".$ilDB->quote($this->glo_id, "integer").
62  " ORDER BY order_nr"
63  );
64  $order = array();
65  while ($rec = $ilDB->fetchAssoc($set))
66  {
67  $order[$rec["field_id"]] = $rec["order_nr"];
68  }
69 //var_dump($order);
70  // add term at beginning, if not included
71  if (!isset($order[0]))
72  {
73  $columns[] = array("id" => 0,
74  "text" => $lng->txt("cont_term"));
75  }
76 
77  $fields = $this->getAllFields();
78 
79  // add all fields that have been already sorted
80  foreach ($order as $id => $order_nr)
81  {
82  if (isset($fields[$id]))
83  {
84  $columns[] = array("id" => $id,
85  "text" => $fields[$id]["title"]);
86  unset($fields[$id]);
87  }
88  else if ($id == 0)
89  {
90  $columns[] = array("id" => 0,
91  "text" => $lng->txt("cont_term"));
92  }
93  }
94 
95  // add all fields that have not been sorted
96  foreach ($fields as $f)
97  {
98  $columns[] = array("id" => $f["id"],
99  "text" => $f["title"]);
100  }
101 
102  return $columns;
103  }
getAllFields()
Get all advanced metadata fields.
global $lng
Definition: privfeed.php:40
global $ilDB
if(! $in) $columns
Definition: Utf8Test.php:46
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveColumnOrder()

ilGlossaryAdvMetaDataAdapter::saveColumnOrder (   $a_cols)

Save column order.

Parameters

Definition at line 111 of file class.ilGlossaryAdvMetaDataAdapter.php.

References $ilDB.

112  {
113  global $ilDB;
114 
115  $ilDB->manipulate("DELETE FROM glo_advmd_col_order WHERE ".
116  " glo_id = ".$ilDB->quote($this->glo_id, "integer")
117  );
118 
119  $nr = 10;
120  $set = array();
121  foreach ($a_cols as $c)
122  {
123 //var_dump($c);
124  if (!isset($set[$c["id"]]))
125  {
126  $ilDB->manipulate("INSERT INTO glo_advmd_col_order ".
127  "(glo_id, field_id, order_nr) VALUES (".
128  $ilDB->quote($this->glo_id, "integer").",".
129  $ilDB->quote($c["id"], "integer").",".
130  $ilDB->quote($nr+=10, "integer").
131  ")");
132  $set[$c["id"]] = $c["id"];
133  }
134  }
135  }
global $ilDB

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