ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
CustomBreadcrumbPagePartProvider Class Reference
+ Inheritance diagram for CustomBreadcrumbPagePartProvider:
+ Collaboration diagram for CustomBreadcrumbPagePartProvider:

Public Member Functions

 __construct (PagePartProvider $original)
 
 getTitle ()
 
 getDescription ()
 
 getBreadCrumbs ()
 
 getMeta ()
 
 getActions ()
 
 getContent ()
 
 getMetaBar ()
 
 getMainBar ()
 
 getLogo ()
 
 getResponsiveLogo ()
 
 getFaviconPath ()
 
 getSystemInfos ()
 
 getFooter ()
 
 getShortTitle ()
 
 getViewTitle ()
 
 getToastContainer ()
 

Private Member Functions

 getRefId ()
 

Private Attributes

PagePartProvider $original
 
RefineryFactory $refinery
 
ilLogger $logger
 

Detailed Description

Definition at line 24 of file CustomBreadcrumbPagePartProvider.php.

Constructor & Destructor Documentation

◆ __construct()

CustomBreadcrumbPagePartProvider::__construct ( PagePartProvider  $original)

Definition at line 30 of file CustomBreadcrumbPagePartProvider.php.

References $DIC, $original, ILIAS\Repository\logger(), and ILIAS\Repository\refinery().

31  {
32  global $DIC;
33  $this->refinery = $DIC->refinery();
34  $this->original = $original;
35  $this->logger = $DIC->logger()->root();
36  }
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

Member Function Documentation

◆ getActions()

CustomBreadcrumbPagePartProvider::getActions ( )

Definition at line 104 of file CustomBreadcrumbPagePartProvider.php.

104  : array
105  {
106  return $this->original->getActions();
107  }

◆ getBreadCrumbs()

CustomBreadcrumbPagePartProvider::getBreadCrumbs ( )
Returns
Breadcrumbs|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 65 of file CustomBreadcrumbPagePartProvider.php.

References $DIC, $ref_id, and getRefId().

65  : ?\ILIAS\UI\Component\Breadcrumbs\Breadcrumbs
66  {
67  global $DIC;
68  $breadcrumbs = $this->original->getBreadCrumbs();
69  if ($breadcrumbs === null) {
70  return null;
71  }
72 
73  $ref_id = $this->getRefId();
74  if (!isset($ref_id)) {
75  return $breadcrumbs;
76  }
77 
78  $goto_crumbs = [];
79  $non_goto_crumbs = [];
80 
81  foreach ($breadcrumbs->getItems() as $crumb) {
82  $action = (string) $crumb->getAction();
83  if (method_exists($crumb, 'getAction') && (str_contains($action, 'goto.php') || str_contains($action, '/go/'))) {
84  if (str_contains($action, $ref_id) && !str_contains($action, 'root')) {
85  $goto_crumbs[] = $crumb;
86  }
87  } else {
88  $non_goto_crumbs[] = $crumb;
89  }
90  }
91  $last_goto = array_slice($goto_crumbs, -1);
92 
93  $final_crumbs = array_merge($last_goto, $non_goto_crumbs);
94 
95  return $DIC->ui()->factory()->breadcrumbs($final_crumbs);
96 
97  }
$ref_id
Definition: ltiauth.php:66
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ getContent()

CustomBreadcrumbPagePartProvider::getContent ( )
Returns
Legacy|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 109 of file CustomBreadcrumbPagePartProvider.php.

109  : ?\ILIAS\UI\Component\Legacy\Legacy
110  {
111  return $this->original->getContent();
112  }

◆ getDescription()

CustomBreadcrumbPagePartProvider::getDescription ( )

Definition at line 43 of file CustomBreadcrumbPagePartProvider.php.

43  : string
44  {
45  return $this->original->getDescription();
46  }

◆ getFaviconPath()

CustomBreadcrumbPagePartProvider::getFaviconPath ( )
Returns
string

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 134 of file CustomBreadcrumbPagePartProvider.php.

134  : string
135  {
136  return $this->original->getFaviconPath();
137  }

◆ getFooter()

CustomBreadcrumbPagePartProvider::getFooter ( )
Returns
Footer|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 144 of file CustomBreadcrumbPagePartProvider.php.

144  : ?\ILIAS\UI\Component\MainControls\Footer
145  {
146  return $this->original->getFooter();
147  }

◆ getLogo()

CustomBreadcrumbPagePartProvider::getLogo ( )
Returns
Image|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 124 of file CustomBreadcrumbPagePartProvider.php.

124  : ?\ILIAS\UI\Component\Image\Image
125  {
126  return $this->original->getLogo();
127  }

◆ getMainBar()

CustomBreadcrumbPagePartProvider::getMainBar ( )
Returns
MainBar|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 119 of file CustomBreadcrumbPagePartProvider.php.

119  : ?\ILIAS\UI\Component\MainControls\MainBar
120  {
121  return $this->original->getMainBar();
122  }

◆ getMeta()

CustomBreadcrumbPagePartProvider::getMeta ( )

Definition at line 99 of file CustomBreadcrumbPagePartProvider.php.

99  : array
100  {
101  return $this->original->getMeta();
102  }

◆ getMetaBar()

CustomBreadcrumbPagePartProvider::getMetaBar ( )
Returns
MetaBar|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 114 of file CustomBreadcrumbPagePartProvider.php.

114  : ?\ILIAS\UI\Component\MainControls\MetaBar
115  {
116  return $this->original->getMetaBar();
117  }

◆ getRefId()

CustomBreadcrumbPagePartProvider::getRefId ( )
private

Definition at line 48 of file CustomBreadcrumbPagePartProvider.php.

References $DIC, ilSession\get(), ILIAS\GlobalScreen\has(), ilSession\has(), and ILIAS\FileDelivery\http().

Referenced by getBreadCrumbs().

48  : string|null
49  {
50  global $DIC;
51 
52  if (ilSession::has("ref_id")) {
53  return (string) ilSession::get("ref_id");
54  }
55  if (ilSession::has("lti_context_ids") && is_array(ilSession::get("lti_context_ids")) && count(ilSession::get("lti_context_ids")) > 0) {
56  return (string) ilSession::get("lti_context_ids")[0];
57  }
58 
59  if ($DIC ->http()->wrapper()->query()->has("ref_id")) {
60  return $DIC ->http()->wrapper()->query()->retrieve("ref_id", $DIC->refinery()->to()->string());
61  }
62  return null;
63  }
static get(string $a_var)
has(string $class_name)
static http()
Fetches the global http state from ILIAS.
global $DIC
Definition: shib_login.php:25
static has($a_var)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResponsiveLogo()

CustomBreadcrumbPagePartProvider::getResponsiveLogo ( )
Returns
Image|null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 129 of file CustomBreadcrumbPagePartProvider.php.

129  : ?\ILIAS\UI\Component\Image\Image
130  {
131  return $this->original->getResponsiveLogo();
132  }

◆ getShortTitle()

CustomBreadcrumbPagePartProvider::getShortTitle ( )

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 149 of file CustomBreadcrumbPagePartProvider.php.

149  : string
150  {
151  return $this->original->getShortTitle();
152  }

◆ getSystemInfos()

CustomBreadcrumbPagePartProvider::getSystemInfos ( )
Returns
SystemInfo[]

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 139 of file CustomBreadcrumbPagePartProvider.php.

139  : array
140  {
141  return $this->original->getSystemInfos();
142  }

◆ getTitle()

CustomBreadcrumbPagePartProvider::getTitle ( )

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 38 of file CustomBreadcrumbPagePartProvider.php.

38  : string
39  {
40  return $this->original->getTitle();
41  }

◆ getToastContainer()

CustomBreadcrumbPagePartProvider::getToastContainer ( )

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 159 of file CustomBreadcrumbPagePartProvider.php.

159  : ?\ILIAS\UI\Component\Toast\Container
160  {
161  return $this->original->getToastContainer();
162  }

◆ getViewTitle()

CustomBreadcrumbPagePartProvider::getViewTitle ( )

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\PagePart\PagePartProvider.

Definition at line 154 of file CustomBreadcrumbPagePartProvider.php.

154  : string
155  {
156  return $this->original->getViewTitle();
157  }

Field Documentation

◆ $logger

ilLogger CustomBreadcrumbPagePartProvider::$logger
private

Definition at line 28 of file CustomBreadcrumbPagePartProvider.php.

◆ $original

PagePartProvider CustomBreadcrumbPagePartProvider::$original
private

Definition at line 26 of file CustomBreadcrumbPagePartProvider.php.

Referenced by __construct().

◆ $refinery

RefineryFactory CustomBreadcrumbPagePartProvider::$refinery
private

Definition at line 27 of file CustomBreadcrumbPagePartProvider.php.


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