Collaboration diagram for ilAdvancedMDSubstitution:Public Member Functions | |
| sortDefinitions ($a_definitions) | |
| Sort definitions. | |
| isActive () | |
| Is substitution active. | |
| isDescriptionEnabled () | |
| Is description enabled. | |
| enableDescription ($a_status) | |
| Enable description presentation. | |
| enabledFieldNames () | |
| is field name enabled | |
| enableFieldNames ($a_status) | |
| enable field names | |
| getParsedSubstitutions ($a_ref_id, $a_obj_id) | |
| Substitute. | |
| resetSubstitutions () | |
| set substitutions | |
| appendSubstitution ($a_field_id, $a_bold=false, $a_newline=false) | |
| append field to substitutions | |
| getSubstitutions () | |
| get substitution string | |
| isSubstituted ($a_field_id) | |
| is substituted | |
| isBold ($a_field_id) | |
| is bold | |
| hasNewline ($a_field_id) | |
| has newline | |
| update () | |
| update | |
Static Public Member Functions | |
| static | _getInstanceByObjectType ($a_type) |
| Singleton: use this method to get an instance. | |
Protected Attributes | |
| $db | |
| $type | |
| $substitutions | |
| $bold = array() | |
| $newline = array() | |
| $enabled_desc = true | |
| $enabled_field_names = true | |
| $active = false | |
| $date_fields = array() | |
| $active_fields = array() | |
Private Member Functions | |
| __construct ($a_type) | |
| read () | |
| Read db entries. | |
Static Private Attributes | |
| static | $instances = null |
Definition at line 32 of file class.ilAdvancedMDSubstitution.php.
| ilAdvancedMDSubstitution::__construct | ( | $ | a_type | ) | [private] |
Definition at line 56 of file class.ilAdvancedMDSubstitution.php.
References read().
{
global $ilDB;
$this->db = $ilDB;
$this->type = $a_type;
$this->read();
}
Here is the call graph for this function:| static ilAdvancedMDSubstitution::_getInstanceByObjectType | ( | $ | a_type | ) | [static] |
Singleton: use this method to get an instance.
| string | ilias object type (3 or 4 characters) public |
Definition at line 74 of file class.ilAdvancedMDSubstitution.php.
Referenced by ilObjRemoteCourseListGUI::init(), ilObjCourseListGUI::init(), ilObjCategoryListGUI::init(), ilAdvancedMDSettingsGUI::initFormSubstitutions(), and ilAdvancedMDSettingsGUI::updateSubstitutions().
{
if(isset(self::$instances[$a_type]))
{
return self::$instances[$a_type];
}
return self::$instances[$a_type] = new ilAdvancedMDSubstitution($a_type);
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::appendSubstitution | ( | $ | a_field_id, | |
| $ | a_bold = false, |
|||
| $ | a_newline = false | |||
| ) |
append field to substitutions
public
| int | field id |
Definition at line 271 of file class.ilAdvancedMDSubstitution.php.
{
$this->substitutions[] = $a_field_id;
if($a_bold)
{
$this->bold[] = $a_field_id;
}
if($a_newline)
{
$this->newline[] = $a_field_id;
}
}
| ilAdvancedMDSubstitution::enableDescription | ( | $ | a_status | ) |
Enable description presentation.
public
| bool | status description enabled |
Definition at line 131 of file class.ilAdvancedMDSubstitution.php.
{
$this->enabled_desc = $a_status;
}
| ilAdvancedMDSubstitution::enabledFieldNames | ( | ) |
is field name enabled
public
Definition at line 142 of file class.ilAdvancedMDSubstitution.php.
Referenced by update().
{
return (bool) $this->hide_field_names;
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::enableFieldNames | ( | $ | a_status | ) |
enable field names
public
| bool | enable/disable status |
Definition at line 154 of file class.ilAdvancedMDSubstitution.php.
{
$this->hide_field_names = $a_status;
}
| ilAdvancedMDSubstitution::getParsedSubstitutions | ( | $ | a_ref_id, | |
| $ | a_obj_id | |||
| ) |
Substitute.
public
| int | ref_id | |
| int | obj_id | |
| string | description |
Definition at line 168 of file class.ilAdvancedMDSubstitution.php.
References ilAdvancedMDValues::_getValuesByObjId(), ilFormat::formatUnixTime(), getSubstitutions(), hasNewline(), and isBold().
{
if(!count($this->getSubstitutions()))
{
return array();
}
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
$values = ilAdvancedMDValues::_getValuesByObjId($a_obj_id);
$counter = 0;
foreach($this->getSubstitutions() as $field_id)
{
if(!isset($this->active_fields[$field_id]))
{
continue;
}
if(!isset($values[$field_id]) or !$values[$field_id])
{
if($this->hasNewline($field_id) and $counter)
{
$substituted[$counter-1]['newline'] = true;
}
continue;
}
if(in_array($field_id,$this->date_fields))
{
$value = ilFormat::formatUnixTime((int) $values[$field_id]);
}
else
{
$value = $values[$field_id];
}
$substituted[$counter]['name'] = $this->active_fields[$field_id];
$substituted[$counter]['value'] = $value;
$substituted[$counter]['bold'] = $this->isBold($field_id);
if($this->hasNewline($field_id))
{
$substituted[$counter]['newline'] = true;
}
else
{
$substituted[$counter]['newline'] = false;
}
$counter++;
}
return $substituted ? $substituted : array();
/*
$string = $this->getSubstitutionString();
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
foreach(ilAdvancedMDValues::_getValuesByObjId($a_obj_id) as $field_id => $value)
{
if(!in_array($field_id,$this->active_fields))
{
continue;
}
if(in_array($field_id,$this->date_fields) and $value)
{
$value = ilFormat::formatUnixTime((int) $value);
}
if($value)
{
// Substitute variables
$string = str_replace('[F_'.$field_id.']',$value,$string);
// Delete block varaibles
$string = preg_replace('/\[\/?IF_F_'.$field_id.'\]/U','',$string);
}
}
// Replace fixed variables
$string = str_replace('[OBJ_ID]',$a_obj_id,$string);
// Delete all other blocks
$string = preg_replace('/\[IF_F_\d+\].*\[\/IF_F_\d+\]/U','',$string);
return $string;
*/
}
Here is the call graph for this function:| ilAdvancedMDSubstitution::getSubstitutions | ( | ) |
get substitution string
public
Definition at line 291 of file class.ilAdvancedMDSubstitution.php.
Referenced by getParsedSubstitutions(), and isSubstituted().
{
return $this->substitutions ? $this->substitutions : array();
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::hasNewline | ( | $ | a_field_id | ) |
has newline
public
| int | field_id |
Definition at line 329 of file class.ilAdvancedMDSubstitution.php.
Referenced by getParsedSubstitutions(), and update().
{
return in_array($a_field_id,$this->newline);
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::isActive | ( | ) |
Is substitution active.
public
Definition at line 108 of file class.ilAdvancedMDSubstitution.php.
{
return $this->active;
}
| ilAdvancedMDSubstitution::isBold | ( | $ | a_field_id | ) |
is bold
public
| int | field_id |
Definition at line 315 of file class.ilAdvancedMDSubstitution.php.
Referenced by getParsedSubstitutions(), and update().
{
#var_dump("<pre>",$this->bold,$a_field_id,"</pre>");
return in_array($a_field_id,$this->bold);
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::isDescriptionEnabled | ( | ) |
Is description enabled.
public
Definition at line 119 of file class.ilAdvancedMDSubstitution.php.
Referenced by update().
{
return (bool) $this->enabled_desc;
}
Here is the caller graph for this function:| ilAdvancedMDSubstitution::isSubstituted | ( | $ | a_field_id | ) |
is substituted
public
| int | field_id |
Definition at line 303 of file class.ilAdvancedMDSubstitution.php.
References getSubstitutions().
{
return in_array($a_field_id,$this->getSubstitutions());
}
Here is the call graph for this function:| ilAdvancedMDSubstitution::read | ( | ) | [private] |
Read db entries.
private
Definition at line 369 of file class.ilAdvancedMDSubstitution.php.
References $res, and ilAdvancedMDFieldDefinition::_lookupDateFields().
Referenced by __construct().
{
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
$this->date_fields = ilAdvancedMDFieldDefinition::_lookupDateFields();
// Check active status
$query = "SELECT active,field_id,amfd.title 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 = ".$this->db->quote($this->type)." ";
$res = $this->db->query($query);
$this->active = $res->numRows() ? true : false;
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->active_fields[$row->field_id] = $row->title;
}
$query = "SELECT * FROM adv_md_substitutions ".
"WHERE obj_type = ".$this->db->quote($this->type)." ";
$res = $this->db->query($query);
$this->substitutions = array();
$this->bold = array();
$this->newline = array();
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$tmp_substitutions = unserialize($row->substitution);
if(is_array($tmp_substitutions))
{
foreach($tmp_substitutions as $substitution)
{
if($substitution['field_id'])
{
$this->substitutions[] = $substitution['field_id'];
}
if($substitution['bold'])
{
$this->bold[] = $substitution['field_id'];
}
if($substitution['newline'])
{
$this->newline[] = $substitution['field_id'];
}
}
}
$this->enabled_desc = !$row->hide_description;
$this->enabled_field_names = !$row->hide_field_names;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilAdvancedMDSubstitution::resetSubstitutions | ( | ) |
set substitutions
public
| array | array of field definitions |
Definition at line 257 of file class.ilAdvancedMDSubstitution.php.
{
$this->substitutions = array();
$this->bold = array();
$this->newline = array();
}
| ilAdvancedMDSubstitution::sortDefinitions | ( | $ | a_definitions | ) |
Sort definitions.
public
| array | int field_id |
Definition at line 90 of file class.ilAdvancedMDSubstitution.php.
{
$sorted = array();
foreach($this->substitutions as $field_id)
{
$sorted[] = $field_id;
$key = array_search($field_id,$a_definitions);
unset($a_definitions[$key]);
}
return array_merge($sorted,$a_definitions);
}
| ilAdvancedMDSubstitution::update | ( | ) |
update
public
Definition at line 339 of file class.ilAdvancedMDSubstitution.php.
References $res, $substitutions, enabledFieldNames(), hasNewline(), isBold(), and isDescriptionEnabled().
{
$counter = 0;
$substitutions = array();
foreach($this->substitutions as $field_id)
{
$substitutions[$counter]['field_id'] = $field_id;
$substitutions[$counter]['bold'] = $this->isBold($field_id);
$substitutions[$counter]['newline'] = $this->hasNewline($field_id);
$counter++;
}
$query = "REPLACE INTO adv_md_substitutions ".
"SET obj_type = ".$this->db->quote($this->type).", ".
"substitution = ".$this->db->quote(serialize($substitutions)).", ".
"hide_description = ".$this->db->quote(!$this->isDescriptionEnabled()).', '.
"hide_field_names = ".$this->db->quote(!$this->enabledFieldNames());
$res = $this->db->query($query);
}
Here is the call graph for this function:ilAdvancedMDSubstitution::$active = false [protected] |
Definition at line 45 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$active_fields = array() [protected] |
Definition at line 47 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$bold = array() [protected] |
Definition at line 40 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$date_fields = array() [protected] |
Definition at line 46 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$db [protected] |
Definition at line 36 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$enabled_desc = true [protected] |
Definition at line 43 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$enabled_field_names = true [protected] |
Definition at line 44 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$instances = null [static, private] |
Definition at line 34 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$newline = array() [protected] |
Definition at line 41 of file class.ilAdvancedMDSubstitution.php.
ilAdvancedMDSubstitution::$substitutions [protected] |
Definition at line 39 of file class.ilAdvancedMDSubstitution.php.
Referenced by update().
ilAdvancedMDSubstitution::$type [protected] |
Definition at line 38 of file class.ilAdvancedMDSubstitution.php.
1.7.1