PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 3.1.14
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v3.1.14
3.1.14 3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 All 123 releases
firebox / Inc / Core / Analytics / Transformers / UrlTransformer.php

UrlTransformer.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 3.1.14, at Inc/Core/Analytics/Transformers/UrlTransformer.php

66 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package FireBox
4 * @version 3.1.14 Free
5 *
6 * @author FirePlugins <[email protected]>
7 * @link https://www.fireplugins.com
8 * @copyright Copyright © 2026 FirePlugins All Rights Reserved
9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 */
11
12 namespace FireBox\Core\Analytics\Transformers;
13
14 if (!defined('ABSPATH'))
15 {
16 exit; // Exit if accessed directly.
17 }
18
19 class UrlTransformer implements TransformerInterface
20 {
21 public function shouldApply($type, $options = [])
22 {
23 return in_array($type, ['referrers', 'pages']);
24 }
25
26 public function transform(&$data, $type, $options = [])
27 {
28 switch ($type) {
29 case 'referrers':
30 $this->transformReferrerUrls($data);
31 break;
32 case 'pages':
33 $this->transformPageUrls($data);
34 break;
35 }
36 }
37
38 public function getPriority()
39 {
40 return 60;
41 }
42
43 private function transformReferrerUrls(&$data)
44 {
45 $regex = '/^(https?:\/\/(www\.)?|www\.)/i';
46
47 foreach ($data as &$item) {
48 $item->full_label = $item->label;
49 // Referrer labels are visitor-supplied, so PCRE failure (invalid UTF-8) is
50 // plausible here. preg_replace() returns null then, and passing null to rtrim()
51 // is deprecated since PHP 8.1 — fall back to the untrimmed label.
52 $item->label = rtrim(preg_replace($regex, '', $item->label) ?? $item->label, '/');
53 }
54 }
55
56 private function transformPageUrls(&$data)
57 {
58 $site_url = get_site_url();
59
60 foreach ($data as &$item) {
61 $item->full_label = $item->label;
62 $item->label = str_replace($site_url, '', $item->label);
63 }
64 }
65 }
66