Elgg  Version 6.3
PageOwnerService.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Elgg\Page;
4 
9 use Elgg\Invoker;
11 
20 
21  protected int $page_owner_guid = 0;
22 
31  public function __construct(
32  protected Request $request,
33  protected EntityTable $entity_table,
34  protected EventsService $events,
35  protected Invoker $invoker
36  ) {
37  $this->page_owner_guid = $this->detectPageOwnerFromRoute();
38  }
39 
45  protected function detectPageOwnerFromRoute(): int {
46  $route = $this->request->getRoute();
47  if (!$route instanceof Route) {
48  return 0;
49  }
50 
51  $page_owner = $route->resolvePageOwner();
52  return $page_owner instanceof \ElggEntity ? $page_owner->guid : 0;
53  }
54 
63  public function setPageOwnerGuid(int $guid = 0): void {
64  if ($guid < 0) {
65  throw new RangeException(__METHOD__ . ' requires a positive integer.');
66  }
67 
68  $this->page_owner_guid = $guid;
69  }
70 
76  public function getPageOwnerGuid(): int {
77  return $this->page_owner_guid;
78  }
79 
85  public function getPageOwnerEntity(): ?\ElggEntity {
86  if ($this->getPageOwnerGuid() < 1) {
87  return null;
88  }
89 
90  return $this->entity_table->get($this->getPageOwnerGuid());
91  }
92 }
$guid
Reset an ElggUpgrade.
Definition: reset.php:6
$page_owner
Definition: add.php:16
return[ 'admin/delete_admin_notices'=>['access'=> 'admin'], 'admin/menu/save'=>['access'=> 'admin'], 'admin/plugins/activate'=>['access'=> 'admin'], 'admin/plugins/activate_all'=>['access'=> 'admin'], 'admin/plugins/deactivate'=>['access'=> 'admin'], 'admin/plugins/deactivate_all'=>['access'=> 'admin'], 'admin/plugins/set_priority'=>['access'=> 'admin'], 'admin/security/security_txt'=>['access'=> 'admin'], 'admin/security/settings'=>['access'=> 'admin'], 'admin/security/regenerate_site_secret'=>['access'=> 'admin'], 'admin/site/cache/invalidate'=>['access'=> 'admin'], 'admin/site/flush_cache'=>['access'=> 'admin'], 'admin/site/icons'=>['access'=> 'admin'], 'admin/site/set_maintenance_mode'=>['access'=> 'admin'], 'admin/site/set_robots'=>['access'=> 'admin'], 'admin/site/theme'=>['access'=> 'admin'], 'admin/site/unlock_upgrade'=>['access'=> 'admin'], 'admin/site/settings'=>['access'=> 'admin'], 'admin/upgrade'=>['access'=> 'admin'], 'admin/upgrade/reset'=>['access'=> 'admin'], 'admin/user/ban'=>['access'=> 'admin'], 'admin/user/bulk/ban'=>['access'=> 'admin'], 'admin/user/bulk/delete'=>['access'=> 'admin'], 'admin/user/bulk/unban'=>['access'=> 'admin'], 'admin/user/bulk/validate'=>['access'=> 'admin'], 'admin/user/change_email'=>['access'=> 'admin'], 'admin/user/delete'=>['access'=> 'admin'], 'admin/user/login_as'=>['access'=> 'admin'], 'admin/user/logout_as'=>[], 'admin/user/makeadmin'=>['access'=> 'admin'], 'admin/user/resetpassword'=>['access'=> 'admin'], 'admin/user/removeadmin'=>['access'=> 'admin'], 'admin/user/unban'=>['access'=> 'admin'], 'admin/user/validate'=>['access'=> 'admin'], 'annotation/delete'=>[], 'avatar/upload'=>[], 'comment/save'=>[], 'diagnostics/download'=>['access'=> 'admin'], 'entity/chooserestoredestination'=>[], 'entity/delete'=>[], 'entity/mute'=>[], 'entity/restore'=>[], 'entity/subscribe'=>[], 'entity/trash'=>[], 'entity/unmute'=>[], 'entity/unsubscribe'=>[], 'login'=>['access'=> 'logged_out'], 'logout'=>[], 'notifications/mute'=>['access'=> 'public'], 'plugins/settings/remove'=>['access'=> 'admin'], 'plugins/settings/save'=>['access'=> 'admin'], 'plugins/usersettings/save'=>[], 'register'=>['access'=> 'logged_out', 'middleware'=>[\Elgg\Router\Middleware\RegistrationAllowedGatekeeper::class,],], 'river/delete'=>[], 'settings/notifications'=>[], 'settings/notifications/subscriptions'=>[], 'user/changepassword'=>['access'=> 'public'], 'user/requestnewpassword'=>['access'=> 'public'], 'useradd'=>['access'=> 'admin'], 'usersettings/save'=>[], 'widgets/add'=>[], 'widgets/delete'=>[], 'widgets/move'=>[], 'widgets/save'=>[],]
Definition: actions.php:73
Entity table database service.
Definition: EntityTable.php:24
Events service.
Exception thrown to indicate range errors during program execution.
Elgg HTTP request.
Definition: Request.php:17
Invocation service.
Definition: Invoker.php:10
Holds page owner related functions.
getPageOwnerGuid()
Return the current page owner guid.
detectPageOwnerFromRoute()
Detects page owner from route.
getPageOwnerEntity()
Returns the page owner entity.
setPageOwnerGuid(int $guid=0)
Sets a new page owner guid.
__construct(protected Request $request, protected EntityTable $entity_table, protected EventsService $events, protected Invoker $invoker)
Constructor.
Route Wrapper.
Definition: Route.php:8
$request
Definition: livesearch.php:12
if(parse_url(elgg_get_site_url(), PHP_URL_PATH) !=='/') if(file_exists(elgg_get_root_path() . 'robots.txt'))
Set robots.txt.
Definition: robots.php:10