PluginProbe ʕ •ᴥ•ʔ
Starter Templates – AI-Powered Templates for Elementor & Gutenberg / 2.6.11
Starter Templates – AI-Powered Templates for Elementor & Gutenberg v2.6.11
4.6.1 4.6.0 4.5.4 4.5.3 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.5.0 2.5.1 2.6.0 2.6.1 2.6.10 2.6.11 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.18 2.6.19 2.6.2 2.6.20 2.6.21 2.6.22 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 3.0.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.4.10 4.4.11 4.4.12 4.4.13 4.4.14 4.4.16 4.4.17 4.4.18 4.4.19 4.4.2 4.4.20 4.4.21 4.4.22 4.4.23 4.4.24 trunk 4.4.25 0.4.4.0 4.4.26 0.4.4.15 4.4.27 1.0.0 4.4.28 1.0.1 4.4.29 1.0.10 4.4.3 1.0.11 4.4.30 1.0.12 4.4.31 1.0.13 4.4.32 1.0.14 4.4.33 1.0.2 4.4.34 1.0.3 4.4.35 1.0.4 4.4.36 1.0.5 4.4.37 1.0.6 4.4.38 1.0.7 4.4.39 1.0.8 4.4.4 1.0.9 4.4.40 1.1.0 4.4.41 1.1.1 4.4.42 1.1.2 4.4.43 1.1.3 4.4.44 1.1.4 4.4.45 1.1.5 4.4.46 1.1.6 4.4.47 1.1.7 4.4.48 1.1.8 4.4.49 1.1.9 4.4.5 1.2.0 4.4.50 1.2.1 4.4.51 1.2.10 4.4.52 1.2.11 4.4.6 1.2.12 4.4.7 1.2.13 4.4.8 1.2.14 4.4.9 1.2.15 4.5.0 1.2.2 4.5.1 1.2.3 4.5.2 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.10 1.3.11 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.19 1.3.2 1.3.20 1.3.21 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 2.0.0 2.0.1 2.0.2 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5
astra-sites / admin / bsf-analytics / class-bsf-analytics-loader.php
astra-sites / admin / bsf-analytics Last commit date
assets 5 years ago class-bsf-analytics-loader.php 5 years ago class-bsf-analytics-stats.php 5 years ago class-bsf-analytics.php 5 years ago version.json 5 years ago
class-bsf-analytics-loader.php
119 lines
1 <?php
2 /**
3 * BSF analytics loader file.
4 *
5 * @version 1.0.0
6 *
7 * @package bsf-analytics
8 */
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit();
12 }
13
14 /**
15 * Class BSF_Analytics_Loader.
16 */
17 class BSF_Analytics_Loader {
18
19 /**
20 * Analytics Entities.
21 *
22 * @access private
23 * @var array Entities array.
24 */
25 private $entities = array();
26
27 /**
28 * Analytics Version.
29 *
30 * @access private
31 * @var float analytics version.
32 */
33 private $analytics_version = '';
34
35 /**
36 * Analytics path.
37 *
38 * @access private
39 * @var string path array.
40 */
41 private $analytics_path = '';
42
43 /**
44 * Instance
45 *
46 * @access private
47 * @var object Class object.
48 */
49 private static $instance = null;
50
51 /**
52 * Get instace of class.
53 *
54 * @return object
55 */
56 public static function get_instance() {
57 if ( null === self::$instance ) {
58 self::$instance = new self();
59 }
60
61 return self::$instance;
62 }
63
64 /**
65 * Constructor
66 */
67 public function __construct() {
68 add_action( 'init', array( $this, 'load_analytics' ) );
69 }
70
71 /**
72 * Set entity for analytics.
73 *
74 * @param string $data Entity attributes data.
75 * @return void
76 */
77 public function set_entity( $data ) {
78 array_push( $this->entities, $data );
79 }
80
81 /**
82 * Load Analytics library.
83 *
84 * @return void
85 */
86 public function load_analytics() {
87 $unique_entities = array();
88
89 if ( ! empty( $this->entities ) ) {
90 foreach ( $this->entities as $entity ) {
91 foreach ( $entity as $key => $data ) {
92
93 if ( isset( $data['path'] ) ) {
94 if ( file_exists( $data['path'] . '/version.json' ) ) {
95 $file_contents = file_get_contents( $data['path'] . '/version.json' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
96 $analytics_version = json_decode( $file_contents, 1 );
97 $analytics_version = $analytics_version['bsf-analytics-ver'];
98
99 if ( version_compare( $analytics_version, $this->analytics_version, '>' ) ) {
100 $this->analytics_version = $analytics_version;
101 $this->analytics_path = $data['path'];
102 }
103 }
104 }
105
106 if ( ! isset( $unique_entities[ $key ] ) ) {
107 $unique_entities[ $key ] = $data;
108 }
109 }
110 }
111
112 if ( file_exists( $this->analytics_path ) && ! class_exists( 'BSF_Analytics' ) ) {
113 require_once $this->analytics_path . '/class-bsf-analytics.php';
114 new BSF_Analytics( $unique_entities, $this->analytics_path, $this->analytics_version );
115 }
116 }
117 }
118 }
119