19 declare(strict_types=1);
39 $this->repo = $repo->
map();
42 $this->
access = $domain->access();
43 $this->
settings = $domain->settings();
44 $this->rbacreview = $domain->rbac()->review();
45 $this->
user = $domain->user();
52 $this->repo->saveScreenIdsForChapter($chap, $ids);
59 string $screen_sub_id,
63 $this->repo->saveMappingEntry(
77 $this->repo->removeScreenIdsOfChapter(
87 return $this->repo->getScreenIdsOfChapter(
98 if ($this->domain->module()->isAuthoringMode()) {
101 $module_ids = $this->domain->module()->getActiveModules();
104 foreach ($this->repo->getChaptersForScreenId($a_screen_id, $module_ids) as $rec) {
105 if ($rec[
"perm"] !=
"" && $rec[
"perm"] !=
"-") {
107 if ($rec[
"perm"] ===
"create*") {
108 $has_create_perm =
false;
112 $has_create_perm =
true;
113 } elseif ($this->rbacreview->isAssigned($this->user->getId(),
SYSTEM_ROLE_ID)) {
114 $has_create_perm =
true;
115 } elseif ($this->
access->checkAccess(
"read",
"", $a_ref_id)) {
116 $perm = $this->rbacreview->getUserPermissionsOnObject($this->
user->getId(), $a_ref_id);
117 foreach ($perm as $p) {
118 if (strpos($p,
"create_") === 0) {
119 $has_create_perm =
true;
123 if ($has_create_perm) {
124 $chaps[] = $rec[
"chap"];
126 } elseif ($this->
access->checkAccess($rec[
"perm"],
"", $a_ref_id)) {
127 $chaps[] = $rec[
"chap"];
130 $chaps[] = $rec[
"chap"];
147 if ($this->
user->getLanguage() !==
"de") {
151 if ($this->
settings->get(
"help_mode") ===
"2") {
155 if ($this->domain->module()->isAuthoringMode()) {
158 $module_ids = $this->domain->module()->getActiveModules();
161 foreach ($this->repo->getChaptersForScreenId($a_screen_id, $module_ids) as $rec) {
170 $this->repo->deleteEntriesOfModule($id);
getScreenIdsOfChapter(int $chap, int $module_id=0)
hasScreenIdSections(string $a_screen_id)
Has given screen Id any sections? Note: We removed the "ref_id" parameter here, since this method sho...
static _lookupOwner(int $obj_id)
Lookup owner user ID for object ID.
static _lookupObjId(int $ref_id)
getHelpSectionsForId(string $a_screen_id, int $a_ref_id)
deleteEntriesOfModule(int $id)
removeScreenIdsOfChapter(int $chap, int $module_id=0)
saveScreenIdsForChapter(int $chap, array $ids)
__construct(InternalRepoService $repo, InternalDomainService $domain)
saveMappingEntry(int $chap, string $comp, string $screen_id, string $screen_sub_id, string $perm, int $module_id=0)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
InternalDomainService $domain