-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathPageView.php
More file actions
56 lines (46 loc) · 1.36 KB
/
PageView.php
File metadata and controls
56 lines (46 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
namespace AlexWestergaard\PhpGa4\Event;
use AlexWestergaard\PhpGa4\Helper\EventMainHelper;
use AlexWestergaard\PhpGa4\Facade;
class PageView extends EventMainHelper implements Facade\Group\PageViewFacade
{
protected null|string $page_title;
protected null|string $page_location;
public function getName(): string
{
return 'page_view';
}
public function getParams(): array
{
return [
'page_title',
'page_location',
];
}
public function getRequiredParams(): array
{
return [];
}
public function setPageTitle(null|string $title)
{
$this->page_title = $title;
return $this;
}
public function setPageLocation(null|string $url)
{
if ($url === null) {
$this->page_location = null;
} else {
$model = parse_url($url);
if (is_array($model) && !empty($model["scheme"]) && !empty($model["host"])) {
$this->page_location = implode("", [
$model["scheme"] . "://" . $model["host"],
"/" . ltrim($model["path"], "/"),
!empty($model["query"]) ? "?" . $model["query"] : "",
!empty($model["fragment"]) ? "#" . $model["fragment"] : "",
]);
}
}
return $this;
}
}