Collaboration diagram for ilAdvancedMDValues:Static Public Member Functions | |
| static | _getValuesByObjId ($a_obj_id) |
| Get all values of an object. | |
| static | _cloneValues ($a_source_id, $a_target_id) |
| Clone Advanced Meta Data. | |
| static | _appendXMLByObjId (ilXmlWriter $xml_writer, $a_obj_id) |
| Get xml of object values. | |
| static | _preloadValuesByObjIds ($obj_ids) |
| preload object values | |
| static | _deleteByFieldId ($a_field_id) |
| Delete values by field_id. | |
| static | _deleteByObjId ($a_obj_id) |
| Delete by objekt id. | |
Static Private Attributes | |
| static | $cached_values = array() |
Definition at line 33 of file class.ilAdvancedMDValues.php.
| static ilAdvancedMDValues::_appendXMLByObjId | ( | ilXmlWriter $ | xml_writer, | |
| $ | a_obj_id | |||
| ) | [static] |
Get xml of object values.
public
| object | instance of ilXmlWriter | |
| int | $a_obj_id |
Definition at line 113 of file class.ilAdvancedMDValues.php.
References $res, ilAdvancedMDValue::_getInstance(), ilObject::_lookupType(), ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by ilCourseXMLWriter::__buildAdvancedMetaData().
{
global $ilDB;
$type = ilObject::_lookupType($a_obj_id);
// Get active field_definitions
$query = "SELECT field_id FROM adv_md_record AS amr ".
"JOIN adv_md_record_objs AS amro ON amr.record_id = amro.record_id ".
"JOIN adv_md_field_definition AS amfd ON amr.record_id = amfd.record_id ".
"WHERE active = 1 ".
"AND obj_type = ".$ilDB->quote($type)." ";
$xml_writer->xmlStartTag('AdvancedMetaData');
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php');
$value = ilAdvancedMDValue::_getInstance($a_obj_id,$row->field_id);
$value->appendXML($xml_writer);
}
$xml_writer->xmlEndTag('AdvancedMetaData');
}
Here is the call graph for this function:
Here is the caller graph for this function:| static ilAdvancedMDValues::_cloneValues | ( | $ | a_source_id, | |
| $ | a_target_id | |||
| ) | [static] |
Clone Advanced Meta Data.
public
| int | source obj_id | |
| int | target obj_id |
Definition at line 75 of file class.ilAdvancedMDValues.php.
References $ilLog, ilAdvancedMDFieldDefinition::_getActiveDefinitionsByObjType(), and ilObject::_lookupType().
Referenced by ilObject::cloneObject().
{
global $ilLog;
include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDValue.php');
if(!count($defs = ilAdvancedMDFieldDefinition::_getActiveDefinitionsByObjType(ilObject::_lookupType($a_source_id))))
{
$ilLog->write(__METHOD__.': No advanced meta data found.');
return true;
}
$ilLog->write(__METHOD__.': Start cloning advanced meta data.');
foreach(self::_getValuesByObjId($a_source_id) as $field_id => $value)
{
if(!in_array($field_id,$defs))
{
continue;
}
$new_value = new ilAdvancedMDValue($field_id,$a_target_id);
$new_value->setValue($value);
$new_value->save();
}
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| static ilAdvancedMDValues::_deleteByFieldId | ( | $ | a_field_id | ) | [static] |
Delete values by field_id.
Typically called after deleting a field
public
| int | field id |
Definition at line 169 of file class.ilAdvancedMDValues.php.
Referenced by ilAdvancedMDFieldDefinition::_deleteByRecordId(), and ilAdvancedMDFieldDefinition::delete().
{
global $ilDB;
$query = "DELETE FROM adv_md_values ".
"WHERE field_id = ".$ilDB->quote($a_field_id)." ";
$ilDB->query($query);
}
Here is the caller graph for this function:| static ilAdvancedMDValues::_deleteByObjId | ( | $ | a_obj_id | ) | [static] |
Delete by objekt id.
public
| int | obj_id |
Definition at line 186 of file class.ilAdvancedMDValues.php.
{
global $ilDB;
$query = "DELETE FROM adv_md_values ".
"WHERE obj_id = ".$ilDB->quote($a_obj_id)." ";
$ilDB->query($query);
}
| static ilAdvancedMDValues::_getValuesByObjId | ( | $ | a_obj_id | ) | [static] |
Get all values of an object.
Uses internal cache.
public
| int | obj_id |
Definition at line 46 of file class.ilAdvancedMDValues.php.
References $res.
Referenced by ilAdvancedMDSubstitution::getParsedSubstitutions().
{
global $ilDB;
if(isset(self::$cached_values[$a_obj_id]))
{
return self::$cached_values[$a_obj_id];
}
$query = "SELECT field_id,value FROM adv_md_values ".
"WHERE obj_id = ".$ilDB->quote($a_obj_id);
$res = $ilDB->query($query);
self::$cached_values[$a_obj_id] = array();
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
self::$cached_values[$a_obj_id][$row->field_id] = $row->value;
}
return self::$cached_values[$a_obj_id];
}
Here is the caller graph for this function:| static ilAdvancedMDValues::_preloadValuesByObjIds | ( | $ | obj_ids | ) | [static] |
preload object values
public
| array | obj_ids |
Definition at line 146 of file class.ilAdvancedMDValues.php.
References $res.
ilAdvancedMDValues::$cached_values = array() [static, private] |
Definition at line 35 of file class.ilAdvancedMDValues.php.
1.7.1