40 $this->object_definition =
$GLOBALS[
'DIC'][
'objDefinition'];
46 if (!self::$instance) {
47 self::$instance =
new self();
50 return self::$instance;
55 if (!isset($this->position_settings[$a_obj_type])) {
56 throw new \InvalidArgumentException(
'Object type passed does not support position settings: ' 60 return $this->position_settings[$a_obj_type];
68 if (isset($this->object_position_cache[$a_obj_id])) {
69 return $this->object_position_cache[$a_obj_id];
75 $this->object_position_cache[$a_obj_id] =
false;
80 if (!$type_settings->isActive()) {
81 $this->object_position_cache[$a_obj_id] =
false;
85 if (!$type_settings->isChangeableForObject()) {
86 $this->object_position_cache[$a_obj_id] =
true;
92 if ($object_position->hasObjectSpecificActivation()) {
93 $this->object_position_cache[$a_obj_id] = $object_position->isActive();
95 $this->object_position_cache[$a_obj_id] = (bool) $type_settings->getActivationDefault();
98 return $this->object_position_cache[$a_obj_id];
113 if ($type_settings->isActive()) {
115 $object_setting->setActive($type_settings->getActivationDefault());
116 $object_setting->update();
122 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
getObjectPositionSettingsByType(string $a_obj_type)
array $object_position_cache
Array with key obj_id => active status.
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...