ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ILIAS\Help\Map\MapManager Class Reference
+ Collaboration diagram for ILIAS\Help\Map\MapManager:

Public Member Functions

 __construct (InternalRepoService $repo, InternalDomainService $domain)
 
 saveScreenIdsForChapter (int $chap, array $ids)
 
 saveMappingEntry (int $chap, string $comp, string $screen_id, string $screen_sub_id, string $perm, int $module_id=0)
 
 removeScreenIdsOfChapter (int $chap, int $module_id=0)
 
 getScreenIdsOfChapter (int $chap, int $module_id=0)
 
 getHelpSectionsForId (string $a_screen_id, int $a_ref_id)
 
 hasScreenIdSections (string $a_screen_id)
 Has given screen Id any sections? Note: We removed the "ref_id" parameter here, since this method should be fast. More...
 
 deleteEntriesOfModule (int $id)
 

Protected Attributes

ilObjUser $user
 
ilRbacReview $rbacreview
 
ilSetting $settings
 
ilAccessHandler $access
 
InternalDomainService $domain
 
MapDBRepository $repo
 

Detailed Description

Definition at line 26 of file MapManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Help\Map\MapManager::__construct ( InternalRepoService  $repo,
InternalDomainService  $domain 
)

Definition at line 35 of file MapManager.php.

References ILIAS\Help\Map\MapManager\$domain, ILIAS\Repository\access(), ILIAS\Help\InternalRepoService\map(), ILIAS\Repository\settings(), and ILIAS\Repository\user().

38  {
39  $this->repo = $repo->map();
40  $this->domain = $domain;
41 
42  $this->access = $domain->access();
43  $this->settings = $domain->settings();
44  $this->rbacreview = $domain->rbac()->review();
45  $this->user = $domain->user();
46  }
MapDBRepository $repo
Definition: MapManager.php:33
InternalDomainService $domain
Definition: MapManager.php:32
+ Here is the call graph for this function:

Member Function Documentation

◆ deleteEntriesOfModule()

ILIAS\Help\Map\MapManager::deleteEntriesOfModule ( int  $id)

Definition at line 167 of file MapManager.php.

169  : void {
170  $this->repo->deleteEntriesOfModule($id);
171  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

◆ getHelpSectionsForId()

ILIAS\Help\Map\MapManager::getHelpSectionsForId ( string  $a_screen_id,
int  $a_ref_id 
)

Definition at line 94 of file MapManager.php.

References ilObject\_lookupObjId(), ilObject\_lookupOwner(), ILIAS\Repository\access(), SYSTEM_ROLE_ID, and ILIAS\Repository\user().

97  : array {
98  if ($this->domain->module()->isAuthoringMode()) {
99  $module_ids = [0];
100  } else {
101  $module_ids = $this->domain->module()->getActiveModules();
102  }
103  $chaps = [];
104  foreach ($this->repo->getChaptersForScreenId($a_screen_id, $module_ids) as $rec) {
105  if ($rec["perm"] != "" && $rec["perm"] != "-") {
106  // check special "create*" permission
107  if ($rec["perm"] === "create*") {
108  $has_create_perm = false;
109 
110  // check owner
111  if ($this->user->getId() === \ilObject::_lookupOwner(\ilObject::_lookupObjId($a_ref_id))) {
112  $has_create_perm = true;
113  } elseif ($this->rbacreview->isAssigned($this->user->getId(), SYSTEM_ROLE_ID)) { // check admin
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;
120  }
121  }
122  }
123  if ($has_create_perm) {
124  $chaps[] = $rec["chap"];
125  }
126  } elseif ($this->access->checkAccess($rec["perm"], "", $a_ref_id)) {
127  $chaps[] = $rec["chap"];
128  }
129  } else {
130  $chaps[] = $rec["chap"];
131  }
132  }
133  return $chaps;
134  }
const SYSTEM_ROLE_ID
Definition: constants.php:29
static _lookupOwner(int $obj_id)
Lookup owner user ID for object ID.
static _lookupObjId(int $ref_id)
+ Here is the call graph for this function:

◆ getScreenIdsOfChapter()

ILIAS\Help\Map\MapManager::getScreenIdsOfChapter ( int  $chap,
int  $module_id = 0 
)

Definition at line 83 of file MapManager.php.

86  : array {
87  return $this->repo->getScreenIdsOfChapter(
88  $chap,
89  $module_id
90  );
91  }

◆ hasScreenIdSections()

ILIAS\Help\Map\MapManager::hasScreenIdSections ( string  $a_screen_id)

Has given screen Id any sections? Note: We removed the "ref_id" parameter here, since this method should be fast.

It is used to decide whether the help button should appear or not. We assume that there is at least one section for users with the "read" permission.

Definition at line 143 of file MapManager.php.

References ILIAS\Repository\settings(), and ILIAS\Repository\user().

145  : bool {
146 
147  if ($this->user->getLanguage() !== "de") {
148  return false;
149  }
150 
151  if ($this->settings->get("help_mode") === "2") {
152  return false;
153  }
154 
155  if ($this->domain->module()->isAuthoringMode()) {
156  $module_ids = [0];
157  } else {
158  $module_ids = $this->domain->module()->getActiveModules();
159  }
160 
161  foreach ($this->repo->getChaptersForScreenId($a_screen_id, $module_ids) as $rec) {
162  return true;
163  }
164  return false;
165  }
+ Here is the call graph for this function:

◆ removeScreenIdsOfChapter()

ILIAS\Help\Map\MapManager::removeScreenIdsOfChapter ( int  $chap,
int  $module_id = 0 
)

Definition at line 73 of file MapManager.php.

76  : void {
77  $this->repo->removeScreenIdsOfChapter(
78  $chap,
79  $module_id
80  );
81  }

◆ saveMappingEntry()

ILIAS\Help\Map\MapManager::saveMappingEntry ( int  $chap,
string  $comp,
string  $screen_id,
string  $screen_sub_id,
string  $perm,
int  $module_id = 0 
)

Definition at line 55 of file MapManager.php.

62  : void {
63  $this->repo->saveMappingEntry(
64  $chap,
65  $comp,
66  $screen_id,
67  $screen_sub_id,
68  $perm,
69  $module_id
70  );
71  }

◆ saveScreenIdsForChapter()

ILIAS\Help\Map\MapManager::saveScreenIdsForChapter ( int  $chap,
array  $ids 
)

Definition at line 48 of file MapManager.php.

51  : void {
52  $this->repo->saveScreenIdsForChapter($chap, $ids);
53  }

Field Documentation

◆ $access

ilAccessHandler ILIAS\Help\Map\MapManager::$access
protected

Definition at line 31 of file MapManager.php.

◆ $domain

InternalDomainService ILIAS\Help\Map\MapManager::$domain
protected

Definition at line 32 of file MapManager.php.

Referenced by ILIAS\Help\Map\MapManager\__construct().

◆ $rbacreview

ilRbacReview ILIAS\Help\Map\MapManager::$rbacreview
protected

Definition at line 29 of file MapManager.php.

◆ $repo

MapDBRepository ILIAS\Help\Map\MapManager::$repo
protected

Definition at line 33 of file MapManager.php.

◆ $settings

ilSetting ILIAS\Help\Map\MapManager::$settings
protected

Definition at line 30 of file MapManager.php.

◆ $user

ilObjUser ILIAS\Help\Map\MapManager::$user
protected

Definition at line 28 of file MapManager.php.


The documentation for this class was generated from the following file: