PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.18
Independent Analytics – WordPress Analytics Plugin v1.18
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 / current_resource.php
independent-analytics / IAWP Last commit date
Migrations 3 years ago ajax 3 years ago models 3 years ago queries 3 years ago sql 3 years ago tables 3 years ago utils 3 years ago campaign_builder.php 3 years ago capability_manager.php 3 years ago chart.php 3 years ago chart_geo.php 3 years ago chart_svg.php 3 years ago current_resource.php 3 years ago dashboard_options.php 3 years ago dashboard_widget.php 3 years ago email_reports.php 3 years ago filters.php 3 years ago freemius.php 3 years ago geo_database.php 3 years ago geo_database_download_job.php 3 years ago health_check.php 3 years ago independent_analytics.php 3 years ago known_referrers.php 3 years ago pdf.php 3 years ago query.php 3 years ago quick_stats.php 3 years ago real_time.php 3 years ago rest_api.php 3 years ago settings.php 3 years ago track_resource_changes.php 3 years ago view_counter.php 3 years ago
current_resource.php
125 lines
1 <?php
2
3 namespace IAWP;
4
5 class Current_Resource
6 {
7 private $type;
8 private $meta_key;
9 private $meta_value;
10
11 /**
12 * @param string $type
13 * @param string|null $meta_key
14 * @param string|null $meta_value
15 */
16 private function __construct(string $type, ?string $meta_key = null, ?string $meta_value = null)
17 {
18 $this->type = $type;
19 $this->meta_key = $meta_key;
20 $this->meta_value = $meta_value;
21 }
22
23 /**
24 * @return string
25 */
26 public function type(): string
27 {
28 return $this->type;
29 }
30
31 /**
32 * @return string|null
33 */
34 public function meta_key(): ?string
35 {
36 return $this->meta_key;
37 }
38
39 /**
40 * @return string|null
41 */
42 public function meta_value(): ?string
43 {
44 return $this->meta_value;
45 }
46
47 /**
48 * @return bool
49 */
50 public function has_meta(): bool
51 {
52 return !is_null($this->meta_key) && !is_null($this->meta_value);
53 }
54
55 /**
56 * @return static|null
57 */
58 public static function get_resource(): ?self
59 {
60 if (is_singular()) {
61 $type = 'singular';
62 $meta_key = 'singular_id';
63 $meta_value = get_queried_object_id();
64 } elseif (is_author()) {
65 $type = 'author_archive';
66 $meta_key = 'author_id';
67 $meta_value = get_queried_object_id();
68 } elseif (is_date()) {
69 $type = 'date_archive';
70 $meta_key = 'date_archive';
71 $meta_value = self::get_date_archive_date();
72 } elseif (is_post_type_archive()) {
73 $type = 'post_type_archive';
74 $meta_key = 'post_type';
75 $meta_value = get_queried_object()->name;
76 } elseif (is_category() || is_tag() || is_tax()) {
77 $type = 'term_archive';
78 $meta_key = 'term_id';
79 $meta_value = get_queried_object_id();
80 } elseif (is_search()) {
81 $type = 'search';
82 $meta_key = 'search_query';
83 $meta_value = get_search_query();
84 } elseif (is_home()) {
85 $type = 'home';
86 $meta_key = null;
87 $meta_value = null;
88 } elseif (is_404()) {
89 $path = Request::path_relative_to_site_url();
90
91 if (is_null($path)) {
92 return null;
93 }
94
95 $type = '404';
96 $meta_key = 'not_found_url';
97 $meta_value = $path;
98 } else {
99 return null;
100 }
101
102 return new self($type, $meta_key, $meta_value);
103 }
104
105 /**
106 * @return mixed|string
107 */
108 private static function get_date_archive_date()
109 {
110 $str = get_query_var('year');
111
112 if (is_month() || is_day()) {
113 $month = get_query_var('monthnum');
114 $str = $str . '-' . str_pad($month, 2, '0', STR_PAD_LEFT);
115 }
116
117 if (is_day()) {
118 $day = get_query_var('day');
119 $str = $str . '-' . str_pad($day, 2, '0', STR_PAD_LEFT);
120 }
121
122 return $str;
123 }
124 }
125