PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.8.4
Independent Analytics – WordPress Analytics Plugin v2.8.4
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Models / Page_Virtual.php
independent-analytics / IAWP / Models Last commit date
Campaign.php 2 years ago Current_Traffic.php 2 years ago Device.php 2 years ago Geo.php 2 years ago Page.php 2 years ago Page_Author_Archive.php 2 years ago Page_Date_Archive.php 2 years ago Page_Home.php 2 years ago Page_Not_Found.php 2 years ago Page_Post_Type_Archive.php 2 years ago Page_Search.php 2 years ago Page_Singular.php 1 year ago Page_Term_Archive.php 2 years ago Page_Virtual.php 1 year ago Referrer.php 2 years ago Universal_Model_Columns.php 2 years ago Visitor.php 2 years ago
Page_Virtual.php
176 lines
1 <?php
2
3 namespace IAWP\Models;
4
5 use IAWPSCOPED\Illuminate\Support\Str;
6 /** @internal */
7 class Page_Virtual extends \IAWP\Models\Page
8 {
9 private $virtual_page_id;
10 private $surecart_product;
11 private $surecart_collection;
12 private $surecart_upsell;
13 public function __construct($row)
14 {
15 $this->virtual_page_id = $row->virtual_page_id;
16 parent::__construct($row);
17 }
18 protected function resource_key() : string
19 {
20 return 'virtual_page_id';
21 }
22 protected function resource_value() : string
23 {
24 return $this->virtual_page_id;
25 }
26 protected function calculate_is_deleted() : bool
27 {
28 return \false;
29 }
30 protected function calculate_url()
31 {
32 $surecart_product = $this->get_surecart_product();
33 if ($surecart_product) {
34 return $surecart_product->getPermalinkAttribute();
35 }
36 $surecart_collection = $this->get_surecart_collection();
37 if ($surecart_collection) {
38 return $surecart_collection->getPermalinkAttribute();
39 }
40 $surecart_upsell = $this->get_surecart_upsell();
41 if ($surecart_upsell) {
42 return $surecart_upsell->getPermalinkAttribute();
43 }
44 return null;
45 }
46 protected function calculate_title()
47 {
48 if ($this->virtual_page_id === 'wc_checkout_success') {
49 return \__('Checkout Success', 'independent-analytics');
50 }
51 $surecart_product = $this->get_surecart_product();
52 if ($surecart_product) {
53 return $surecart_product->name;
54 }
55 $surecart_collection = $this->get_surecart_collection();
56 if ($surecart_collection) {
57 return $surecart_collection->name;
58 }
59 $surecart_upsell = $this->get_surecart_upsell();
60 if ($surecart_upsell) {
61 return $surecart_upsell->metadata->title;
62 }
63 return \__('Page', 'independent-analytics');
64 }
65 protected function calculate_type()
66 {
67 $surecart_product = $this->get_surecart_product();
68 if ($surecart_product) {
69 return 'sc_product';
70 }
71 $surecart_collection = $this->get_surecart_collection();
72 if ($surecart_collection) {
73 return 'sc_collection';
74 }
75 $surecart_upsell = $this->get_surecart_upsell();
76 if ($surecart_upsell) {
77 return 'sc_upsell';
78 }
79 return 'page';
80 }
81 protected function calculate_type_label()
82 {
83 $surecart_product = $this->get_surecart_product();
84 if ($surecart_product) {
85 return \__('Product', 'independent-analytics');
86 }
87 $surecart_collection = $this->get_surecart_collection();
88 if ($surecart_collection) {
89 return \__('Collection', 'independent-analytics');
90 }
91 $surecart_upsell = $this->get_surecart_upsell();
92 if ($surecart_upsell) {
93 return \__('Upsell', 'independent-analytics');
94 }
95 return 'Page';
96 }
97 protected function calculate_icon()
98 {
99 $surecart_product = $this->get_surecart_product();
100 $surecart_collection = $this->get_surecart_collection();
101 $surecart_upsell = $this->get_surecart_upsell();
102 if ($surecart_product || $surecart_collection || $surecart_upsell) {
103 return '<span class="img-container"><img src="' . \esc_url(\IAWPSCOPED\iawp_url_to('/img/surecart.png')) . '" width="20px" height="20px" /></span>';
104 }
105 return '<span class="dashicons dashicons-admin-page"></span>';
106 }
107 protected function calculate_author_id()
108 {
109 return null;
110 }
111 protected function calculate_author()
112 {
113 return null;
114 }
115 protected function calculate_avatar()
116 {
117 return null;
118 }
119 protected function calculate_date()
120 {
121 return null;
122 }
123 protected function calculate_category()
124 {
125 return [];
126 }
127 private function get_surecart_product() : ?object
128 {
129 if (\is_object($this->surecart_product)) {
130 return $this->surecart_product;
131 }
132 if (Str::startsWith($this->virtual_page_id, 'sc_product_') && \class_exists('\\SureCart\\Models\\Product')) {
133 try {
134 $id = Str::after($this->virtual_page_id, 'sc_product_');
135 $this->surecart_product = \SureCart\Models\Product::find($id);
136 return $this->surecart_product;
137 } catch (\Throwable $e) {
138 return null;
139 }
140 }
141 return null;
142 }
143 private function get_surecart_collection() : ?object
144 {
145 if (\is_object($this->surecart_collection)) {
146 return $this->surecart_collection;
147 }
148 if (Str::startsWith($this->virtual_page_id, 'sc_collection_') && \class_exists('IAWPSCOPED\\SureCart\\Models\\ProductCollection')) {
149 try {
150 $id = Str::after($this->virtual_page_id, 'sc_collection_');
151 $this->surecart_collection = \IAWPSCOPED\SureCart\Models\ProductCollection::find($id);
152 return $this->surecart_collection;
153 } catch (\Throwable $e) {
154 return null;
155 }
156 }
157 return null;
158 }
159 private function get_surecart_upsell() : ?object
160 {
161 if (\is_object($this->surecart_upsell)) {
162 return $this->surecart_upsell;
163 }
164 if (Str::startsWith($this->virtual_page_id, 'sc_upsell_') && \class_exists('\\SureCart\\Models\\Upsell')) {
165 try {
166 $id = Str::after($this->virtual_page_id, 'sc_upsell_');
167 $this->surecart_upsell = \SureCart\Models\Upsell::find($id);
168 return $this->surecart_upsell;
169 } catch (\Throwable $e) {
170 return null;
171 }
172 }
173 return null;
174 }
175 }
176