3declare(strict_types=1);
33 'permission' =>
'read',
39 'permission' =>
'read',
44 'permission' =>
'write',
45 'lang_var' =>
'edit_content'
49 'permission' =>
'write',
50 'lang_var' =>
'settings'
54 'permission' =>
'unparticipate',
55 'lang_var' =>
'unparticipate'
68 $act = $obj->getLSActivation();
69 $online = $act->getIsOnline();
72 && ($act->getActivationStart() !==
null ||
73 $act->getActivationEnd() !==
null)
76 $activation_start = $act->getActivationStart();
77 if ($activation_start !==
null) {
78 $after_activation_start = $ts_now >= $activation_start->getTimestamp();
80 $after_activation_start =
true;
82 $activation_end = $act->getActivationEnd();
83 if ($activation_end !==
null) {
84 $before_activation_end = $ts_now <= $activation_end->getTimestamp();
86 $before_activation_end =
true;
89 $online = ($after_activation_start && $before_activation_end);
92 if ($act->getEffectiveOnlineStatus() ===
false && $online ===
true) {
93 $obj->setEffectiveOnlineStatus(
true);
94 $obj->announceLSOOnline();
96 if ($act->getEffectiveOnlineStatus() ===
true && $online ===
false) {
97 $obj->setEffectiveOnlineStatus(
false);
98 $obj->announceLSOOffline();
105 public function _checkAccess(
string $cmd,
string $permission,
int $ref_id,
int $obj_id, ?
int $user_id =
null): bool
109 switch ($permission) {
111 $has_any_administrative_permission =
false;
112 if (!is_null($user_id)) {
113 $has_any_administrative_permission = (
114 $rbacsystem->checkAccessOfUser($user_id,
'write',
$ref_id) ||
115 $rbacsystem->checkAccessOfUser($user_id,
'edit_members',
$ref_id) ||
116 $rbacsystem->checkAccessOfUser($user_id,
'edit_learning_progress',
$ref_id)
122 if ($is_offine && !$has_any_administrative_permission) {
129 if (is_null($user_id)) {
132 return $rbacsystem->checkAccessOfUser($user_id, $permission,
$ref_id);
142 $rbacsystem =
$DIC[
'rbacsystem'];
143 $il_access =
$DIC[
'ilAccess'];
const IL_NO_OBJECT_ACCESS
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
_checkAccess(string $cmd, string $permission, int $ref_id, int $obj_id, ?int $user_id=null)
Checks whether a user may invoke a command or not (this method is called by ilAccessHandler::checkAcc...
static isOffline(int $ref_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id