39 $this->object_definition =
$GLOBALS[
'DIC'][
'objDefinition'];
45 if (!self::$instance) {
46 self::$instance =
new self();
49 return self::$instance;
54 if (!isset($this->position_settings[$a_obj_type])) {
55 throw new \InvalidArgumentException(
'Object type passed does not support position settings: ' 59 return $this->position_settings[$a_obj_type];
67 if (isset($this->object_position_cache[$a_obj_id])) {
68 return $this->object_position_cache[$a_obj_id];
74 $this->object_position_cache[$a_obj_id] =
false;
79 if (!$type_settings->isActive()) {
80 $this->object_position_cache[$a_obj_id] =
false;
84 if (!$type_settings->isChangeableForObject()) {
85 $this->object_position_cache[$a_obj_id] =
true;
91 if ($object_position->hasObjectSpecificActivation()) {
92 $this->object_position_cache[$a_obj_id] = $object_position->isActive();
94 $this->object_position_cache[$a_obj_id] = (bool) $type_settings->getActivationDefault();
97 return $this->object_position_cache[$a_obj_id];
112 if ($type_settings->isActive()) {
114 $object_setting->setActive($type_settings->getActivationDefault());
115 $object_setting->update();
121 foreach ($this->object_definition->getOrgUnitPermissionTypes() as
$type) {
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilObjectDefinition $object_definition
isPositionAccessActiveForObject(int $a_obj_id)
Check of position access is activate for object.
static ilOrgUnitGlobalSettings $instance
parses the objects.xml it handles the xml-description of all ilias objects
getObjectPositionSettingsByType(string $a_obj_type)
array $object_position_cache
Array with key obj_id => active status.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static _lookupType(int $id, bool $reference=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
saveDefaultPositionActivationStatus(int $a_obj_id)
Set and save the default activation status according to settings.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...