ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilAdvancedMDRecord Class Reference
+ Collaboration diagram for ilAdvancedMDRecord:

Public Member Functions

 __construct ($a_record_id=0)
 Singleton constructor To create an array of new records (without saving them) call the constructor directly. More...
 
 delete ()
 Delete. More...
 
 enabledScope ()
 Is scope enabled. More...
 
 enableScope ($a_stat)
 Enable scope restrictions. More...
 
 setScopes (array $a_scopes)
 Set scopes. More...
 
 getScopes ()
 Get scopes. More...
 
 getScopeRefIds ()
 Get scope gef_ids. More...
 
 save ()
 save More...
 
 update ()
 update More...
 
 validate ()
 Validate settings. More...
 
 setGlobalPosition (int $position)
 Set global position. More...
 
 getGlobalPosition ()
 
 getRecordId ()
 Get record id. More...
 
 setActive ($a_active)
 Set active. More...
 
 isActive ()
 Check if record is active. More...
 
 setTitle ($a_title)
 Set title. More...
 
 getTitle ()
 get title More...
 
 setDescription ($a_description)
 set description More...
 
 getDescription ()
 get description More...
 
 setImportId ($a_id_string)
 set import id More...
 
 getImportId ()
 get import id More...
 
 setAssignedObjectTypes ($a_obj_types)
 Set assigned object types. More...
 
 appendAssignedObjectType ($a_obj_type, $a_sub_type, $a_optional=false)
 append assigned object types More...
 
 getAssignedObjectTypes ()
 Get assigned object types. More...
 
 isAssignedObjectType ($a_obj_type, $a_sub_type)
 Is assigned object type? More...
 
 setParentObject ($a_obj_id)
 
 getParentObject ()
 
 toXML (ilXmlWriter $writer)
 To Xml. More...
 
 __destruct ()
 Destructor. More...
 
 _clone (array &$a_fields_map, $a_parent_obj_id=null)
 Clone record. More...
 

Static Public Member Functions

static _getInstanceByRecordId ($a_record_id)
 Get instance by record id. More...
 
static _getActiveSearchableRecords ()
 Get active searchable records. More...
 
static _lookupTitle ($a_record_id)
 Lookup title. More...
 
static _lookupRecordIdByImportId ($a_ilias_id)
 Lookup record Id by import id. More...
 
static _getAssignableObjectTypes ($a_include_text=false)
 Get assignable object type. More...
 
static _getActivatedObjTypes ()
 get activated obj types More...
 
static _getRecords ()
 Get records. More...
 
static _getAllRecordsByObjectType ()
 Get records by obj_type Note: this returns only records with no sub types! public. More...
 
static _getActivatedRecordsByObjectType ($a_obj_type, $a_sub_type="", $a_only_optional=false)
 Get activated records by object type. More...
 
static _getSelectedRecordsByObject ($a_obj_type, $a_ref_id, $a_sub_type="")
 Get selected records by object. More...
 
static isFilteredByScope ($a_ref_id, array $scopes)
 Check if a given ref id is not filtered by scope restriction. More...
 
static _delete ($a_record_id)
 Delete record and all related data. More...
 
static saveObjRecSelection ($a_obj_id, $a_sub_type="", array $a_records=null, $a_delete_before=true)
 Save repository object record selection. More...
 
static getObjRecSelection ($a_obj_id, $a_sub_type="")
 Get repository object record selection. More...
 
static getSharedRecords ($a_obj1_id, $a_obj2_id, $a_sub_type="-")
 Get shared records. More...
 

Protected Member Functions

 generateImportId ()
 generate unique record id More...
 

Protected Attributes

 $record_id
 
 $global_position
 
 $import_id
 
 $active
 
 $title
 
 $description
 
 $obj_types = array()
 
 $db = null
 
 $parent_obj
 
 $scope_enabled = false
 
 $scopes = []
 

Private Member Functions

 read ()
 read record and assiged object types More...
 

Static Private Attributes

static $instances = array()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ __construct()

ilAdvancedMDRecord::__construct (   $a_record_id = 0)

Singleton constructor To create an array of new records (without saving them) call the constructor directly.

Otherwise call getInstance...

public

Parameters
intrecord id

Definition at line 52 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, getRecordId(), and read().

53  {
54  global $DIC;
55 
56  $ilDB = $DIC['ilDB'];
57 
58  $this->record_id = $a_record_id;
59  $this->db = $ilDB;
60 
61  if ($this->getRecordId()) {
62  $this->read();
63  }
64  }
global $DIC
Definition: saml.php:7
read()
read record and assiged object types
global $ilDB
+ Here is the call graph for this function:

◆ __destruct()

ilAdvancedMDRecord::__destruct ( )

Destructor.

public

Definition at line 928 of file class.ilAdvancedMDRecord.php.

References getRecordId().

929  {
930  unset(self::$instances[$this->getRecordId()]);
931  }
+ Here is the call graph for this function:

Member Function Documentation

◆ _clone()

ilAdvancedMDRecord::_clone ( array &  $a_fields_map,
  $a_parent_obj_id = null 
)

Clone record.

Parameters
array&$a_fields_map
type$a_parent_obj_id
Returns
self

Definition at line 1007 of file class.ilAdvancedMDRecord.php.

References getAssignedObjectTypes(), getDescription(), ilAdvancedMDFieldDefinition\getInstancesByRecordId(), getParentObject(), getRecordId(), getTitle(), and isActive().

1008  {
1009  $new_obj = new self();
1010  $new_obj->setActive($this->isActive());
1011  $new_obj->setTitle($this->getTitle());
1012  $new_obj->setDescription($this->getDescription());
1013  $new_obj->setParentObject($a_parent_obj_id
1014  ? $a_parent_obj_id
1015  : $this->getParentObject());
1016  $new_obj->setAssignedObjectTypes($this->getAssignedObjectTypes());
1017  $new_obj->save();
1018 
1019  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
1020  foreach (ilAdvancedMDFieldDefinition::getInstancesByRecordId($this->getRecordId()) as $definition) {
1021  $new_def = $definition->_clone($new_obj->getRecordId());
1022  $a_fields_map[$definition->getFieldId()] = $new_def->getFieldId();
1023  }
1024 
1025  return $new_obj;
1026  }
getDescription()
get description
isActive()
Check if record is active.
static getInstancesByRecordId($a_record_id, $a_only_searchable=false)
Get definitions by record id.
getAssignedObjectTypes()
Get assigned object types.
+ Here is the call graph for this function:

◆ _delete()

static ilAdvancedMDRecord::_delete (   $a_record_id)
static

Delete record and all related data.

public

Parameters
intrecord id

Definition at line 438 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, and ilAdvancedMDFieldDefinition\getInstancesByRecordId().

Referenced by delete().

439  {
440  global $DIC;
441 
442  $ilDB = $DIC['ilDB'];
443 
444  // Delete fields
445  foreach (ilAdvancedMDFieldDefinition::getInstancesByRecordId($a_record_id) as $field) {
446  $field->delete();
447  }
448 
449  $query = "DELETE FROM adv_md_record " .
450  "WHERE record_id = " . $ilDB->quote($a_record_id, 'integer') . " ";
451  $res = $ilDB->manipulate($query);
452 
453  $query = "DELETE FROM adv_md_record_objs " .
454  "WHERE record_id = " . $ilDB->quote($a_record_id, 'integer') . " ";
455  $res = $ilDB->manipulate($query);
456  }
global $DIC
Definition: saml.php:7
static getInstancesByRecordId($a_record_id, $a_only_searchable=false)
Get definitions by record id.
foreach($_POST as $key=> $value) $res
$query
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getActivatedObjTypes()

static ilAdvancedMDRecord::_getActivatedObjTypes ( )
static

get activated obj types

public

Parameters
stringobj types

Definition at line 211 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $obj_types, $query, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilAdvancedSearchGUI\__setSearchOptions(), ilAdvancedSearchGUI\initAdvancedMetaDataForm(), and ilAdvancedMDSettingsGUI\updateSubstitutions().

212  {
213  global $DIC;
214 
215  $ilDB = $DIC['ilDB'];
216 
217  $query = "SELECT DISTINCT(obj_type) FROM adv_md_record_objs amo " .
218  "JOIN adv_md_record amr ON amo.record_id = amr.record_id " .
219  "WHERE active = 1 ";
220  $res = $ilDB->query($query);
221  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
222  $obj_types[] = $row->obj_type;
223  }
224  return $obj_types ? $obj_types : array();
225  }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the caller graph for this function:

◆ _getActivatedRecordsByObjectType()

static ilAdvancedMDRecord::_getActivatedRecordsByObjectType (   $a_obj_type,
  $a_sub_type = "",
  $a_only_optional = false 
)
static

Get activated records by object type.

public

Parameters
stringobj_type
Returns
ilAdvancedMDRecord[]

Definition at line 290 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $records, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilSoapInstallationInfoXMLWriter\__buildClient(), ilSessionExporter\getActiveAdvMDRecords(), ilWikiExporter\getActiveAdvMDRecords(), ilGlossaryExporter\getActiveAdvMDRecords(), ilStudyProgrammeType\getAvailableAdvancedMDRecords(), ilOrgUnitType\getAvailableAdvancedMDRecords(), ilSoapAdministration\getNIC(), and ilAdvancedMDRecordGUI\parseRecordSelection().

291  {
292  global $DIC;
293 
294  $ilDB = $DIC['ilDB'];
295 
296  $records = array();
297 
298  if ($a_sub_type == "") {
299  $a_sub_type = "-";
300  }
301 
302  $query = "SELECT amro.record_id record_id FROM adv_md_record_objs amro " .
303  "JOIN adv_md_record amr ON amr.record_id = amro.record_id " .
304  "WHERE active = 1 " .
305  "AND obj_type = " . $ilDB->quote($a_obj_type, 'text') . " " .
306  "AND sub_type = " . $ilDB->quote($a_sub_type, 'text');
307 
308  if ($a_only_optional) {
309  $query .= " AND optional =" . $ilDB->quote(1, 'integer');
310  }
311 
312  // #16428
313  $query .= "ORDER by parent_obj DESC, record_id";
314 
315  $res = $ilDB->query($query);
316  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
317  $records[] = self::_getInstanceByRecordId($row->record_id);
318  }
319 
320  return $records;
321  }
global $DIC
Definition: saml.php:7
$records
Definition: simple_test.php:22
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the caller graph for this function:

◆ _getActiveSearchableRecords()

static ilAdvancedMDRecord::_getActiveSearchableRecords ( )
static

Get active searchable records.

public

Definition at line 90 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $records, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

91  {
92  global $DIC;
93 
94  $ilDB = $DIC['ilDB'];
95 
96  $query = "SELECT DISTINCT(amr.record_id) FROM adv_md_record amr " .
97  "JOIN adv_mdf_definition amfd ON amr.record_id = amfd.record_id " .
98  "WHERE searchable = 1 AND active = 1 ";
99 
100  $res = $ilDB->query($query);
101  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
102  $records[] = self::_getInstanceByRecordId($row->record_id);
103  }
104  return $records ? $records : array();
105  }
global $DIC
Definition: saml.php:7
$records
Definition: simple_test.php:22
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB

◆ _getAllRecordsByObjectType()

static ilAdvancedMDRecord::_getAllRecordsByObjectType ( )
static

Get records by obj_type Note: this returns only records with no sub types! public.

Parameters

Definition at line 258 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $records, $res, $row, ilECSSetting\ecsConfigured(), ilDBConstants\FETCHMODE_OBJECT, and ilECSUtils\getPossibleRemoteTypes().

Referenced by ilAdvancedMDSettingsGUI\initFormSubstitutions(), and ilAdvancedMDSettingsGUI\setSubTabs().

259  {
260  global $DIC;
261 
262  $ilDB = $DIC['ilDB'];
263 
264  $records = array();
265 
266  $query = "SELECT * FROM adv_md_record_objs WHERE sub_type=" . $ilDB->quote("-", "text");
267  $res = $ilDB->query($query);
268  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
269  $records[$row->obj_type][] = self::_getInstanceByRecordId($row->record_id);
270  }
271  // #13359 hide ecs if not configured
273  $filter = ilECSUtils::getPossibleRemoteTypes(false);
274  $filter[] = 'rtst';
275  $records = array_diff_key($records, array_flip($filter));
276  }
277 
278  return $records;
279  }
static getPossibleRemoteTypes($a_with_captions=false)
Get all possible remote object types.
static ecsConfigured()
Checks if an ecs server is configured.
global $DIC
Definition: saml.php:7
$records
Definition: simple_test.php:22
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getAssignableObjectTypes()

static ilAdvancedMDRecord::_getAssignableObjectTypes (   $a_include_text = false)
static

Get assignable object type.

public

Definition at line 164 of file class.ilAdvancedMDRecord.php.

References $DIC, $lng, $text, ilECSSetting\ecsConfigured(), and ilECSUtils\getPossibleRemoteTypes().

Referenced by ilSoapInstallationInfoXMLWriter\__buildClient(), ilAdvancedMDRecordTableGUI\fillRow(), ilSoapAdministration\getNIC(), ilAdvancedMDSettingsGUI\initForm(), and ilObjectMetaDataGUI\isAdvMDAvailable().

165  {
166  global $DIC;
167 
168  $objDefinition = $DIC['objDefinition'];
169  $lng = $DIC['lng'];
170 
171  $types = array();
172  $filter = array();
173  $amet_types = $objDefinition->getAdvancedMetaDataTypes();
174 
176  $filter = array_merge($filter, ilECSUtils::getPossibleRemoteTypes(false));
177  $filter[] = 'rtst';
178  }
179 
180  foreach ($amet_types as $at) {
181  if (in_array($at["obj_type"], $filter)) {
182  continue;
183  }
184 
185  if ($a_include_text) {
186  $text = $lng->txt("obj_" . $at["obj_type"]);
187  if ($at["sub_type"] != "") {
188  $lng->loadLanguageModule($at["obj_type"]);
189  $text .= ": " . $lng->txt($at["obj_type"] . "_" . $at["sub_type"]);
190  } else {
191  $at["sub_type"] = "-";
192  }
193  $at["text"] = $text;
194  }
195 
196  $types[] = $at;
197  }
198 
199  sort($types);
200  return $types;
201  }
static getPossibleRemoteTypes($a_with_captions=false)
Get all possible remote object types.
static ecsConfigured()
Checks if an ecs server is configured.
global $DIC
Definition: saml.php:7
$lng
$text
Definition: errorreport.php:18
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getInstanceByRecordId()

static ilAdvancedMDRecord::_getInstanceByRecordId (   $a_record_id)
static

Get instance by record id.

public

Parameters
intrecord id
Returns
ilAdvancedMDRecord

Definition at line 75 of file class.ilAdvancedMDRecord.php.

Referenced by _getRecords(), ilAdvancedMDSettingsGUI\confirmDeleteRecords(), ilAdvancedMDSettingsGUI\deleteRecords(), ilAdvancedMDSettingsGUI\exportRecords(), ilAdvancedMDRecordTableGUI\fillRow(), ilAdvancedMDRecordParser\initRecordObject(), ilAdvancedMDSettingsGUI\initRecordObject(), and ilAdvancedMDSettingsGUI\updateRecords().

76  {
77  if (isset(self::$instances[$a_record_id])) {
78  return self::$instances[$a_record_id];
79  }
80  return self::$instances[$a_record_id] = new ilAdvancedMDRecord($a_record_id);
81  }
+ Here is the caller graph for this function:

◆ _getRecords()

static ilAdvancedMDRecord::_getRecords ( )
static

Get records.

public

Parameters
arrayarray of record objects
Returns
ilAdvancedMDRecord[]

Definition at line 236 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $records, $res, $row, _getInstanceByRecordId(), and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilAdvancedMDValues\_cloneValues(), ilLuceneAdvancedSearchFields\getFields(), and ilAdvancedMDSettingsGUI\getParsedRecordObjects().

237  {
238  global $DIC;
239 
240  $ilDB = $DIC['ilDB'];
241 
242  $query = "SELECT record_id FROM adv_md_record ORDER BY gpos ";
243  $res = $ilDB->query($query);
244  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
246  }
247  return $records ? $records : array();
248  }
global $DIC
Definition: saml.php:7
$records
Definition: simple_test.php:22
static _getInstanceByRecordId($a_record_id)
Get instance by record id.
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getSelectedRecordsByObject()

static ilAdvancedMDRecord::_getSelectedRecordsByObject (   $a_obj_type,
  $a_ref_id,
  $a_sub_type = "" 
)
static

Get selected records by object.

Parameters
string$a_obj_typeobject type
string$a_ref_idreference id
string$a_sub_typesub type

Definition at line 330 of file class.ilAdvancedMDRecord.php.

References $record_id, $records, ilContainer\_lookupContainerSetting(), ilObject\_lookupObjId(), and ilObjectServiceSettingsGUI\CUSTOM_METADATA.

Referenced by ilGlossaryTerm\_copyTerm(), ilWikiFunctionsBlockGUI\fillDataSection(), ilPCAMDPageList\findPages(), ilAdvancedMDRecordGUI\getActiveRecords(), ilObjBookingPool\getAdvancedMDFields(), ilGlossaryAdvMetaDataAdapter\getAllFields(), ilObjectMetaDataGUI\getBlockHTML(), ilAdvancedMDValues\getInstancesForObjectId(), ilObjectMetaDataGUI\getKeyValueList(), ilObjectMetaDataGUI\hasActiveRecords(), ilObjWikiGUI\initSettingsForm(), ilAdvancedMDValues\preloadedRead(), and ilAdvancedMDValues\queryForRecords().

331  {
332  $records = array();
333  // ilUtil::printBacktrace(10);
334  // var_dump($a_obj_type."-".$a_ref_id."-".$a_sub_type); exit;
335  if ($a_sub_type == "") {
336  $a_sub_type = "-";
337  }
338 
339  $a_obj_id = ilObject::_lookupObjId($a_ref_id);
340 
341  // object-wide metadata configuration setting
342  include_once 'Services/Container/classes/class.ilContainer.php';
343  include_once 'Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
344  $config_setting = ilContainer::_lookupContainerSetting(
345  $a_obj_id,
347  false
348  );
349 
350  $optional = array();
351  foreach (self::_getActivatedRecordsByObjectType($a_obj_type, $a_sub_type) as $record) {
352  // check scope
353  if (self::isFilteredByScope($a_ref_id, $record->getScopes())) {
354  continue;
355  }
356 
357  foreach ($record->getAssignedObjectTypes() as $item) {
358  if ($record->getParentObject()) {
359  // only matching local records
360  if ($record->getParentObject() != $a_obj_id) {
361  continue;
362  }
363  // if object-wide setting is off, ignore local records
364  elseif (!$config_setting) {
365  continue;
366  }
367  }
368 
369  if ($item['obj_type'] == $a_obj_type &&
370  $item['sub_type'] == $a_sub_type) {
371  if ($item['optional']) {
372  $optional[] = $record->getRecordId();
373  }
374  $records[$record->getRecordId()] = $record;
375  }
376  }
377  }
378 
379  if ($optional) {
380  if (!$config_setting && !in_array($a_sub_type, array("orgu_type", "prg_type"))) { //#16925 + #17777
381  $selected = array();
382  } else {
383  $selected = self::getObjRecSelection($a_obj_id, $a_sub_type);
384  }
385  foreach ($optional as $record_id) {
386  if (!in_array($record_id, $selected)) {
387  unset($records[$record_id]);
388  }
389  }
390  }
391 
392 
393  $orderings = new ilAdvancedMDRecordObjectOrderings();
394  $records = $orderings->sortRecords($records, $a_obj_id);
395 
396  return $records;
397  }
$records
Definition: simple_test.php:22
static _lookupObjId($a_id)
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _lookupRecordIdByImportId()

static ilAdvancedMDRecord::_lookupRecordIdByImportId (   $a_ilias_id)
static

Lookup record Id by import id.

public

Parameters
stringilias id

Definition at line 143 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilAdvancedMDRecordParser\extractRecordId().

144  {
145  global $DIC;
146 
147  $ilDB = $DIC['ilDB'];
148 
149  $query = "SELECT record_id FROM adv_md_record " .
150  "WHERE import_id = " . $ilDB->quote($a_ilias_id, 'text') . " ";
151  $res = $ilDB->query($query);
152  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
153  return $row->record_id;
154  }
155  return 0;
156  }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupTitle()

static ilAdvancedMDRecord::_lookupTitle (   $a_record_id)
static

Lookup title.

public

Parameters
intrecord_id

Definition at line 115 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, $row, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilAdvancedMDSettingsGUI\initFormSubstitutions(), ilAdvancedMDRecordGUI\parseInfoPage(), ilECSSettingsGUI\prepareFieldSelection(), and ilLuceneAdvancedSearchFields\readSections().

116  {
117  static $title_cache = array();
118 
119  if (isset($title_cache[$a_record_id])) {
120  return $title_cache[$a_record_id];
121  }
122 
123  global $DIC;
124 
125  $ilDB = $DIC['ilDB'];
126 
127  $query = "SELECT title FROM adv_md_record " .
128  "WHERE record_id = " . $ilDB->quote($a_record_id, 'integer') . " ";
129  $res = $ilDB->query($query);
131 
132  return $title_cache[$a_record_id] = $row->title;
133  }
global $DIC
Definition: saml.php:7
foreach($_POST as $key=> $value) $res
$query
$row
global $ilDB
+ Here is the caller graph for this function:

◆ appendAssignedObjectType()

ilAdvancedMDRecord::appendAssignedObjectType (   $a_obj_type,
  $a_sub_type,
  $a_optional = false 
)

append assigned object types

public

Parameters
stringilias object type

Definition at line 773 of file class.ilAdvancedMDRecord.php.

774  {
775  $this->obj_types[] = array(
776  "obj_type" => $a_obj_type,
777  "sub_type" => $a_sub_type,
778  "optional" => (bool) $a_optional
779  );
780  }

◆ delete()

ilAdvancedMDRecord::delete ( )

Delete.

public

Definition at line 465 of file class.ilAdvancedMDRecord.php.

References _delete(), ilAdvancedMDRecordScope\deleteByRecordI(), and getRecordId().

466  {
469  }
static deleteByRecordI($a_record_id)
delete by record id
static _delete($a_record_id)
Delete record and all related data.
+ Here is the call graph for this function:

◆ enabledScope()

ilAdvancedMDRecord::enabledScope ( )

Is scope enabled.

Returns
scope

Definition at line 475 of file class.ilAdvancedMDRecord.php.

References $scope_enabled.

476  {
477  return $this->scope_enabled;
478  }

◆ enableScope()

ilAdvancedMDRecord::enableScope (   $a_stat)

Enable scope restrictions.

Parameters
bool$a_stat

Definition at line 484 of file class.ilAdvancedMDRecord.php.

485  {
486  $this->scope_enabled = $a_stat;
487  }

◆ generateImportId()

ilAdvancedMDRecord::generateImportId ( )
protected

generate unique record id

protected

Returns

Definition at line 917 of file class.ilAdvancedMDRecord.php.

References getRecordId().

Referenced by save(), and toXML().

918  {
919  return 'il_' . IL_INST_ID . '_adv_md_record_' . $this->getRecordId();
920  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAssignedObjectTypes()

ilAdvancedMDRecord::getAssignedObjectTypes ( )

Get assigned object types.

public

Definition at line 788 of file class.ilAdvancedMDRecord.php.

Referenced by _clone(), isAssignedObjectType(), save(), toXML(), and update().

789  {
790  return $this->obj_types ? $this->obj_types : array();
791  }
+ Here is the caller graph for this function:

◆ getDescription()

ilAdvancedMDRecord::getDescription ( )

get description

public

Definition at line 726 of file class.ilAdvancedMDRecord.php.

References $description.

Referenced by _clone(), save(), toXML(), and update().

727  {
728  return $this->description;
729  }
+ Here is the caller graph for this function:

◆ getGlobalPosition()

ilAdvancedMDRecord::getGlobalPosition ( )
Returns
int

Definition at line 645 of file class.ilAdvancedMDRecord.php.

References $global_position.

Referenced by ilAdvancedMDRecordObjectOrderings\compareLocalRecords(), ilAdvancedMDRecordObjectOrderings\compareRecords(), and update().

645  : int
646  {
647  return $this->global_position;
648  }
+ Here is the caller graph for this function:

◆ getImportId()

ilAdvancedMDRecord::getImportId ( )

get import id

public

Definition at line 749 of file class.ilAdvancedMDRecord.php.

References $import_id.

Referenced by save().

750  {
751  return $this->import_id;
752  }
+ Here is the caller graph for this function:

◆ getObjRecSelection()

static ilAdvancedMDRecord::getObjRecSelection (   $a_obj_id,
  $a_sub_type = "" 
)
static

Get repository object record selection.

Parameters
integer$a_obj_idobject id if repository object
array$a_recordsarray of record ids that are selected (in use) by the object

Definition at line 978 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, and $r.

Referenced by ilAdvancedMDValues\_cloneValues(), ilWikiExporter\getActiveAdvMDRecords(), ilGlossaryExporter\getActiveAdvMDRecords(), ilAdvancedMDSettingsGUI\getParsedRecordObjects(), getSharedRecords(), and ilAdvancedMDRecordGUI\parseRecordSelection().

979  {
980  global $DIC;
981 
982  $ilDB = $DIC['ilDB'];
983 
984  if ($a_sub_type == "") {
985  $a_sub_type = "-";
986  }
987 
988  $recs = array();
989  $set = $ilDB->query(
990  $r = "SELECT * FROM adv_md_obj_rec_select " .
991  " WHERE obj_id = " . $ilDB->quote($a_obj_id, "integer") .
992  " AND sub_type = " . $ilDB->quote($a_sub_type, "text")
993  );
994  while ($rec = $ilDB->fetchAssoc($set)) {
995  $recs[] = $rec["rec_id"];
996  }
997  return $recs;
998  }
global $DIC
Definition: saml.php:7
$r
Definition: example_031.php:79
global $ilDB
+ Here is the caller graph for this function:

◆ getParentObject()

ilAdvancedMDRecord::getParentObject ( )

Definition at line 815 of file class.ilAdvancedMDRecord.php.

References $parent_obj.

Referenced by _clone(), and save().

816  {
817  return $this->parent_obj;
818  }
+ Here is the caller graph for this function:

◆ getRecordId()

ilAdvancedMDRecord::getRecordId ( )

Get record id.

public

Definition at line 657 of file class.ilAdvancedMDRecord.php.

References $record_id.

Referenced by __construct(), __destruct(), _clone(), ilAdvancedMDRecordObjectOrderings\compareLocalRecords(), delete(), generateImportId(), read(), save(), toXML(), and update().

658  {
659  return $this->record_id;
660  }
+ Here is the caller graph for this function:

◆ getScopeRefIds()

ilAdvancedMDRecord::getScopeRefIds ( )

Get scope gef_ids.

Returns
type

Definition at line 511 of file class.ilAdvancedMDRecord.php.

Referenced by toXML().

512  {
513  $ref_ids = [];
514  foreach ($this->scopes as $scope) {
515  $ref_ids[] = $scope->getRefId();
516  }
517  return $ref_ids;
518  }
+ Here is the caller graph for this function:

◆ getScopes()

ilAdvancedMDRecord::getScopes ( )

Get scopes.

Returns
ilAdvancedMDRecordScope[]

Definition at line 502 of file class.ilAdvancedMDRecord.php.

References $scopes.

Referenced by save(), and update().

503  {
504  return $this->scopes;
505  }
+ Here is the caller graph for this function:

◆ getSharedRecords()

static ilAdvancedMDRecord::getSharedRecords (   $a_obj1_id,
  $a_obj2_id,
  $a_sub_type = "-" 
)
static

Get shared records.

Parameters
int$a_obj1_id
int$a_obj2_id
string$a_sub_type
Returns
array

Definition at line 1036 of file class.ilAdvancedMDRecord.php.

References $res, ilObject\_lookupType(), and getObjRecSelection().

1037  {
1038  $obj_type = ilObject::_lookupType($a_obj1_id);
1039  $sel = array_intersect(
1040  ilAdvancedMDRecord::getObjRecSelection($a_obj1_id, $a_sub_type),
1041  ilAdvancedMDRecord::getObjRecSelection($a_obj2_id, $a_sub_type)
1042  );
1043 
1044  $res = array();
1045 
1046  foreach (self::_getRecords() as $record) {
1047  // local records cannot be shared
1048  if ($record->getParentObject()) {
1049  continue;
1050  }
1051 
1052  // :TODO: inactive records can be ignored?
1053  if (!$record->isActive()) {
1054  continue;
1055  }
1056 
1057  // parse assigned types
1058  foreach ($record->getAssignedObjectTypes() as $item) {
1059  if ($item["obj_type"] == $obj_type &&
1060  $item["sub_type"] == $a_sub_type) {
1061  // mandatory
1062  if (!$item["optional"]) {
1063  $res[] = $record->getRecordId();
1064  }
1065  // optional
1066  elseif (in_array($record->getRecordId(), $sel)) {
1067  $res[] = $record->getRecordId();
1068  }
1069  }
1070  }
1071  }
1072 
1073  return $res;
1074  }
foreach($_POST as $key=> $value) $res
static _lookupType($a_id, $a_reference=false)
lookup object type
static getObjRecSelection($a_obj_id, $a_sub_type="")
Get repository object record selection.
+ Here is the call graph for this function:

◆ getTitle()

ilAdvancedMDRecord::getTitle ( )

get title

public

Definition at line 703 of file class.ilAdvancedMDRecord.php.

References $title.

Referenced by _clone(), save(), toXML(), update(), and validate().

704  {
705  return $this->title;
706  }
+ Here is the caller graph for this function:

◆ isActive()

ilAdvancedMDRecord::isActive ( )

Check if record is active.

public

Definition at line 680 of file class.ilAdvancedMDRecord.php.

References $active.

Referenced by _clone(), save(), toXML(), and update().

681  {
682  return (bool) $this->active;
683  }
+ Here is the caller graph for this function:

◆ isAssignedObjectType()

ilAdvancedMDRecord::isAssignedObjectType (   $a_obj_type,
  $a_sub_type 
)

Is assigned object type?

Parameters

Definition at line 799 of file class.ilAdvancedMDRecord.php.

References $t, and getAssignedObjectTypes().

800  {
801  foreach ($this->getAssignedObjectTypes() as $t) {
802  if ($t["obj_type"] == $a_obj_type &&
803  $t["sub_type"] == $a_sub_type) {
804  return true;
805  }
806  }
807  return false;
808  }
getAssignedObjectTypes()
Get assigned object types.
+ Here is the call graph for this function:

◆ isFilteredByScope()

static ilAdvancedMDRecord::isFilteredByScope (   $a_ref_id,
array  $scopes 
)
static

Check if a given ref id is not filtered by scope restriction.

Parameters
type$a_ref_id
ilAdvancedMDRecordScope[]$scopes

Definition at line 404 of file class.ilAdvancedMDRecord.php.

References $GLOBALS, $tree, and ilTree\RELATION_PARENT.

Referenced by ilAdvancedMDSettingsGUI\getParsedRecordObjects().

405  {
406  $tree = $GLOBALS['DIC']->repositoryTree();
407  $logger = $GLOBALS['DIC']->logger()->amet();
408 
409  if (!count($scopes)) {
410  $logger->debug('No md scope restrictions.');
411  return false;
412  }
413  foreach ($scopes as $scope) {
414  $logger->debug('Comparing: ' . $a_ref_id . ' with: ' . $scope->getRefId());
415  if ($scope->getRefId() == $a_ref_id) {
416  $logger->debug('Elements are equal. No scope restrictions.');
417  return false;
418  }
419  if ($tree->getRelation($scope->getRefId(), $a_ref_id) == ilTree::RELATION_PARENT) {
420  $logger->debug('Node is child node. No scope restrictions.');
421  return false;
422  }
423  }
424  $logger->info('Scope filter matches.');
425 
426  return true;
427  }
const RELATION_PARENT
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the caller graph for this function:

◆ read()

ilAdvancedMDRecord::read ( )
private

read record and assiged object types

private

Parameters

Definition at line 872 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, $row, ilDBConstants\FETCHMODE_OBJECT, getRecordId(), setActive(), setDescription(), setGlobalPosition(), setImportId(), setParentObject(), and setTitle().

Referenced by __construct().

873  {
874  global $DIC;
875 
876  $ilDB = $DIC['ilDB'];
877 
878  $query = "SELECT * FROM adv_md_record " .
879  "WHERE record_id = " . $this->db->quote($this->getRecordId(), 'integer') . " ";
880  $res = $this->db->query($query);
881  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
882  $this->setImportId($row->import_id);
883  $this->setActive($row->active);
884  $this->setTitle($row->title);
885  $this->setDescription($row->description);
886  $this->setParentObject($row->parent_obj);
887  $this->setGlobalPosition((int) $row->gpos);
888  }
889  $query = "SELECT * FROM adv_md_record_objs " .
890  "WHERE record_id = " . $this->db->quote($this->getRecordId(), 'integer') . " ";
891  $res = $this->db->query($query);
892  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
893  $this->obj_types[] = array(
894  "obj_type" => $row->obj_type,
895  "sub_type" => $row->sub_type,
896  "optional" => (bool) $row->optional
897  );
898  }
899 
900  $query = 'SELECT scope_id FROM adv_md_record_scope ' .
901  'WHERE record_id = ' . $ilDB->quote($this->record_id);
902  $res = $ilDB->query($query);
903  $this->scope_enabled = false;
904  $this->scopes = [];
905  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
906  $this->scope_enabled = true;
907  $this->scopes[] = new ilAdvancedMDRecordScope($row->scope_id);
908  }
909  }
Scope restrictions for advanced md records.
global $DIC
Definition: saml.php:7
setActive($a_active)
Set active.
setDescription($a_description)
set description
setGlobalPosition(int $position)
Set global position.
foreach($_POST as $key=> $value) $res
$query
setImportId($a_id_string)
set import id
$row
setTitle($a_title)
Set title.
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ save()

ilAdvancedMDRecord::save ( )

save

public

Definition at line 526 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, $type, generateImportId(), getAssignedObjectTypes(), getDescription(), getImportId(), getParentObject(), getRecordId(), getScopes(), getTitle(), and isActive().

527  {
528  global $DIC;
529 
530  $ilDB = $DIC['ilDB'];
531 
532  // Save import id if given
533  $next_id = $ilDB->nextId('adv_md_record');
534 
535  $query = "INSERT INTO adv_md_record (record_id,import_id,active,title,description,parent_obj) " .
536  "VALUES(" .
537  $ilDB->quote($next_id, 'integer') . ", " .
538  $this->db->quote($this->getImportId(), 'text') . ", " .
539  $this->db->quote($this->isActive(), 'integer') . ", " .
540  $this->db->quote($this->getTitle(), 'text') . ", " .
541  $this->db->quote($this->getDescription(), 'text') . ", " .
542  $this->db->quote($this->getParentObject(), 'integer') . " " .
543  ")";
544  $res = $ilDB->manipulate($query);
545  $this->record_id = $next_id;
546 
547  if (!strlen($this->getImportId())) {
548  // set import id to default value
549  $query = "UPDATE adv_md_record " .
550  "SET import_id = " . $this->db->quote($this->generateImportId(), 'text') . " " .
551  "WHERE record_id = " . $this->db->quote($this->record_id, 'integer') . " ";
552  $res = $ilDB->manipulate($query);
553  }
554 
555  foreach ($this->getAssignedObjectTypes() as $type) {
556  global $DIC;
557 
558  $ilDB = $DIC['ilDB'];
559 
560  $query = "INSERT INTO adv_md_record_objs (record_id,obj_type,sub_type,optional) " .
561  "VALUES( " .
562  $this->db->quote($this->getRecordId(), 'integer') . ", " .
563  $this->db->quote($type["obj_type"], 'text') . ", " .
564  $this->db->quote($type["sub_type"], 'text') . ", " .
565  $this->db->quote($type["optional"], 'integer') . " " .
566  ")";
567  $res = $ilDB->manipulate($query);
568  }
569 
570  foreach ($this->getScopes() as $scope) {
571  $scope->setRecordId($this->getRecordId());
572  $scope->save();
573  }
574  }
$type
global $DIC
Definition: saml.php:7
getDescription()
get description
isActive()
Check if record is active.
foreach($_POST as $key=> $value) $res
getAssignedObjectTypes()
Get assigned object types.
$query
global $ilDB
generateImportId()
generate unique record id
+ Here is the call graph for this function:

◆ saveObjRecSelection()

static ilAdvancedMDRecord::saveObjRecSelection (   $a_obj_id,
  $a_sub_type = "",
array  $a_records = null,
  $a_delete_before = true 
)
static

Save repository object record selection.

Parameters
int$a_obj_idobject id if repository object
string$a_sub_typesubtype
int[]$a_records array of record ids that are selected (in use) by the object
bool$a_delete_beforedelete before update

Definition at line 942 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, and $r.

Referenced by ilAdvancedMDValues\_cloneValues(), ilStudyProgrammeType\getAvailableAdvancedMDRecords(), ilOrgUnitType\getAvailableAdvancedMDRecords(), ilAdvancedMetaDataImporter\importXmlRepresentation(), ilAdvancedMDRecordGUI\saveSelection(), ilObjOrgUnit\update(), ilObjStudyProgramme\update(), and ilAdvancedMDSettingsGUI\updateRecords().

943  {
944  global $DIC;
945 
946  $ilDB = $DIC['ilDB'];
947 
948  if ($a_sub_type == "") {
949  $a_sub_type = "-";
950  }
951 
952  if ((bool) $a_delete_before) {
953  $ilDB->manipulate("DELETE FROM adv_md_obj_rec_select WHERE " .
954  " obj_id = " . $ilDB->quote($a_obj_id, "integer") .
955  " AND sub_type = " . $ilDB->quote($a_sub_type, "text"));
956  }
957 
958  if (is_array($a_records)) {
959  foreach ($a_records as $r) {
960  if ($r > 0) {
961  $ilDB->manipulate("INSERT INTO adv_md_obj_rec_select " .
962  "(obj_id, rec_id, sub_type) VALUES (" .
963  $ilDB->quote($a_obj_id, "integer") . "," .
964  $ilDB->quote($r, "integer") . "," .
965  $ilDB->quote($a_sub_type, "text") .
966  ")");
967  }
968  }
969  }
970  }
global $DIC
Definition: saml.php:7
$r
Definition: example_031.php:79
global $ilDB
+ Here is the caller graph for this function:

◆ setActive()

ilAdvancedMDRecord::setActive (   $a_active)

Set active.

public

Parameters

Definition at line 669 of file class.ilAdvancedMDRecord.php.

Referenced by read().

670  {
671  $this->active = $a_active;
672  }
+ Here is the caller graph for this function:

◆ setAssignedObjectTypes()

ilAdvancedMDRecord::setAssignedObjectTypes (   $a_obj_types)

Set assigned object types.

public

Parameters
arrayarray(string) array of object types. E.g array('crs','crsl')

Definition at line 761 of file class.ilAdvancedMDRecord.php.

762  {
763  $this->obj_types = $a_obj_types;
764  }

◆ setDescription()

ilAdvancedMDRecord::setDescription (   $a_description)

set description

public

Parameters
stringdescription

Definition at line 715 of file class.ilAdvancedMDRecord.php.

Referenced by read().

716  {
717  $this->description = $a_description;
718  }
+ Here is the caller graph for this function:

◆ setGlobalPosition()

ilAdvancedMDRecord::setGlobalPosition ( int  $position)

Set global position.

Parameters
int$position

Definition at line 637 of file class.ilAdvancedMDRecord.php.

Referenced by ilAdvancedMDRecordObjectOrderings\compareRecords(), and read().

638  {
639  $this->global_position = $position;
640  }
+ Here is the caller graph for this function:

◆ setImportId()

ilAdvancedMDRecord::setImportId (   $a_id_string)

set import id

public

Parameters
stringimport id

Definition at line 738 of file class.ilAdvancedMDRecord.php.

Referenced by read().

739  {
740  $this->import_id = $a_id_string;
741  }
+ Here is the caller graph for this function:

◆ setParentObject()

ilAdvancedMDRecord::setParentObject (   $a_obj_id)

Definition at line 810 of file class.ilAdvancedMDRecord.php.

Referenced by read().

811  {
812  $this->parent_obj = $a_obj_id;
813  }
+ Here is the caller graph for this function:

◆ setScopes()

ilAdvancedMDRecord::setScopes ( array  $a_scopes)

Set scopes.

Parameters
array$a_scopes

Definition at line 493 of file class.ilAdvancedMDRecord.php.

494  {
495  $this->scopes = $a_scopes;
496  }

◆ setTitle()

ilAdvancedMDRecord::setTitle (   $a_title)

Set title.

public

Parameters
stringtitle

Definition at line 692 of file class.ilAdvancedMDRecord.php.

Referenced by read().

693  {
694  $this->title = $a_title;
695  }
+ Here is the caller graph for this function:

◆ toXML()

ilAdvancedMDRecord::toXML ( ilXmlWriter  $writer)

To Xml.

This method writes only the subset Record (including all fields) Use class.ilAdvancedMDRecordXMLWriter to generate a complete xml presentation.

public

Parameters
objectilXmlWriter

Definition at line 829 of file class.ilAdvancedMDRecord.php.

References $type, ilObject\_lookupObjId(), ilObject\_lookupType(), generateImportId(), getAssignedObjectTypes(), getDescription(), ilAdvancedMDFieldDefinition\getInstancesByRecordId(), getRecordId(), getScopeRefIds(), getTitle(), isActive(), ilXmlWriter\xmlElement(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

830  {
831  $writer->xmlStartTag('Record', array('active' => $this->isActive() ? 1 : 0,
832  'id' => $this->generateImportId()));
833  $writer->xmlElement('Title', null, $this->getTitle());
834  $writer->xmlElement('Description', null, $this->getDescription());
835 
836  foreach ($this->getAssignedObjectTypes() as $obj_type) {
837  $optional = array("optional" => $obj_type["optional"]);
838  if ($obj_type["sub_type"] == "") {
839  $writer->xmlElement('ObjectType', $optional, $obj_type["obj_type"]);
840  } else {
841  $writer->xmlElement('ObjectType', $optional, $obj_type["obj_type"] . ":" . $obj_type["sub_type"]);
842  }
843  }
844 
845  // scopes
846  if (count($this->getScopeRefIds())) {
847  $writer->xmlStartTag('Scope');
848  }
849  foreach ($this->getScopeRefIds() as $ref_id) {
851  $writer->xmlElement('ScopeEntry', ['id' => 'il_' . IL_INST_ID . '_' . $type . '_' . $ref_id]);
852  }
853  if (count($this->getScopeRefIds())) {
854  $writer->xmlEndTag('Scope');
855  }
856 
857 
858  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
859  foreach (ilAdvancedMDFieldDefinition::getInstancesByRecordId($this->getRecordId()) as $definition) {
860  $definition->toXML($writer);
861  }
862  $writer->xmlEndTag('Record');
863  }
xmlStartTag($tag, $attrs=null, $empty=false, $encode=true, $escape=true)
Writes a starttag.
$type
getScopeRefIds()
Get scope gef_ids.
getDescription()
get description
xmlEndTag($tag)
Writes an endtag.
isActive()
Check if record is active.
static getInstancesByRecordId($a_record_id, $a_only_searchable=false)
Get definitions by record id.
static _lookupObjId($a_id)
getAssignedObjectTypes()
Get assigned object types.
static _lookupType($a_id, $a_reference=false)
lookup object type
xmlElement($tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
generateImportId()
generate unique record id
+ Here is the call graph for this function:

◆ update()

ilAdvancedMDRecord::update ( )

update

public

Definition at line 582 of file class.ilAdvancedMDRecord.php.

References $DIC, $ilDB, $query, $res, $type, ilAdvancedMDRecordScope\deleteByRecordI(), getAssignedObjectTypes(), getDescription(), getGlobalPosition(), getRecordId(), getScopes(), getTitle(), and isActive().

583  {
584  global $DIC;
585 
586  $ilDB = $DIC['ilDB'];
587 
588  $query = "UPDATE adv_md_record " .
589  "SET active = " . $this->db->quote($this->isActive(), 'integer') . ", " .
590  "title = " . $this->db->quote($this->getTitle(), 'text') . ", " .
591  "description = " . $this->db->quote($this->getDescription(), 'text') . ", " .
592  'gpos = ' . $this->db->quote($this->getGlobalPosition(), 'integer') . ' ' .
593  "WHERE record_id = " . $this->db->quote($this->getRecordId(), 'integer') . " ";
594  $res = $ilDB->manipulate($query);
595 
596  // Delete assignments
597  $query = "DELETE FROM adv_md_record_objs " .
598  "WHERE record_id = " . $this->db->quote($this->getRecordId(), 'integer') . " ";
599  $res = $ilDB->manipulate($query);
600 
601  // Insert assignments
602  foreach ($this->getAssignedObjectTypes() as $type) {
603  $query = "INSERT INTO adv_md_record_objs (record_id,obj_type,sub_type,optional) " .
604  "VALUES ( " .
605  $this->db->quote($this->getRecordId(), 'integer') . ", " .
606  $this->db->quote($type["obj_type"], 'text') . ", " .
607  $this->db->quote($type["sub_type"], 'text') . ", " .
608  $this->db->quote($type["optional"], 'integer') . " " .
609  ")";
610  $res = $ilDB->manipulate($query);
611  }
613  foreach ($this->getScopes() as $scope) {
614  $scope->setRecordId($this->getRecordId());
615  $scope->save();
616  }
617  }
static deleteByRecordI($a_record_id)
delete by record id
$type
global $DIC
Definition: saml.php:7
getDescription()
get description
isActive()
Check if record is active.
foreach($_POST as $key=> $value) $res
getAssignedObjectTypes()
Get assigned object types.
$query
global $ilDB
+ Here is the call graph for this function:

◆ validate()

ilAdvancedMDRecord::validate ( )

Validate settings.

public

Definition at line 625 of file class.ilAdvancedMDRecord.php.

References getTitle().

626  {
627  if (!strlen($this->getTitle())) {
628  return false;
629  }
630  return true;
631  }
+ Here is the call graph for this function:

Field Documentation

◆ $active

ilAdvancedMDRecord::$active
protected

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

Referenced by isActive().

◆ $db

ilAdvancedMDRecord::$db = null
protected

Definition at line 33 of file class.ilAdvancedMDRecord.php.

◆ $description

ilAdvancedMDRecord::$description
protected

Definition at line 31 of file class.ilAdvancedMDRecord.php.

Referenced by getDescription().

◆ $global_position

ilAdvancedMDRecord::$global_position
protected

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

Referenced by getGlobalPosition().

◆ $import_id

ilAdvancedMDRecord::$import_id
protected

Definition at line 28 of file class.ilAdvancedMDRecord.php.

Referenced by getImportId().

◆ $instances

ilAdvancedMDRecord::$instances = array()
staticprivate

Definition at line 19 of file class.ilAdvancedMDRecord.php.

◆ $obj_types

ilAdvancedMDRecord::$obj_types = array()
protected

Definition at line 32 of file class.ilAdvancedMDRecord.php.

Referenced by _getActivatedObjTypes().

◆ $parent_obj

ilAdvancedMDRecord::$parent_obj
protected

Definition at line 34 of file class.ilAdvancedMDRecord.php.

Referenced by getParentObject().

◆ $record_id

ilAdvancedMDRecord::$record_id
protected

Definition at line 21 of file class.ilAdvancedMDRecord.php.

Referenced by _getSelectedRecordsByObject(), and getRecordId().

◆ $scope_enabled

ilAdvancedMDRecord::$scope_enabled = false
protected

Definition at line 35 of file class.ilAdvancedMDRecord.php.

Referenced by enabledScope().

◆ $scopes

ilAdvancedMDRecord::$scopes = []
protected

Definition at line 40 of file class.ilAdvancedMDRecord.php.

Referenced by getScopes().

◆ $title

ilAdvancedMDRecord::$title
protected

Definition at line 30 of file class.ilAdvancedMDRecord.php.

Referenced by getTitle().


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