PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.2
Independent Analytics – WordPress Analytics Plugin v2.14.2
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 10 months ago Campaign_Landing_Page.php 9 months ago Campaign_UTM_Campaign.php 9 months ago Campaign_UTM_Medium.php 9 months ago Campaign_UTM_Source.php 9 months ago ClickWhale_Link_Page.php 1 year ago Current_Traffic.php 2 years ago Device.php 10 months ago Form.php 1 year ago Geo.php 10 months ago Journey.php 5 months ago Link.php 8 months ago Link_Pattern.php 10 months ago Model.php 6 months ago Page.php 10 months 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 1 year ago Page_Post_Type_Archive.php 1 year 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 6 months ago Referrer_Type.php 9 months ago Universal_Model_Columns.php 1 year ago Visitor.php 9 months ago
Page_Virtual.php
184 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 public static function from(object $row) : \IAWP\Models\Page_Virtual
176 {
177 $virtual_page_id = $row->virtual_page_id;
178 if (Str::startsWith($virtual_page_id, 'clickwhale_link_page')) {
179 return new \IAWP\Models\ClickWhale_Link_Page($row);
180 }
181 return new self($row);
182 }
183 }
184