PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.13.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.13.0
5.13.0 5.12.1 5.12.0 5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / classes / WpMatomo / Admin / Admin.php
matomo / classes / WpMatomo / Admin Last commit date
Marketplace 2 months ago PluginSuggestions 1 month ago TrackingSettings 1 month ago views 4 days ago AccessSettings.php 1 month ago AdBlockDetector.php 8 months ago Admin.php 2 months ago AdminSettings.php 1 month ago AdminSettingsInterface.php 6 years ago AdvancedSettings.php 1 month ago Chart.php 3 months ago CookieConsent.php 4 years ago Dashboard.php 1 month ago ExclusionSettings.php 1 month ago GeolocationSettings.php 1 month ago GetStarted.php 1 month ago ImportWpStatistics.php 1 month ago Info.php 1 month ago InvalidIpException.php 4 years ago Marketplace.php 1 month ago MarketplaceSetupWizard.php 1 month ago MarketplaceSetupWizardBody.php 1 month ago MatomoPage.php 4 months ago MatomoPageContent.php 4 months ago Menu.php 1 month ago PluginMeasurableSettings.php 1 month ago PrivacySettings.php 1 month ago SafeModeMenu.php 1 month ago Summary.php 1 month ago SystemReport.php 4 days ago TrackingSettings.php 1 month ago WhatsNewNotifications.php 4 months ago
Admin.php
104 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 * @package matomo
8 */
9
10 namespace WpMatomo\Admin;
11
12 use WpMatomo\Feature;
13 use WpMatomo\Settings;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit; // if accessed directly
17 }
18
19 class Admin extends Feature {
20
21 /**
22 * @var Settings
23 */
24 private $settings;
25
26 /**
27 * @param Settings $settings
28 */
29 public function __construct( $settings ) {
30 $this->settings = $settings;
31 }
32
33 public function is_active() {
34 return is_admin();
35 }
36
37 public function register_hooks() {
38 add_action( 'admin_enqueue_scripts', [ $this, 'load_scripts' ] );
39 add_filter( 'admin_body_class', [ $this, 'on_admin_body_class' ], 9999 );
40 }
41
42 public static function is_matomo_admin() {
43 return substr( self::get_current_page(), 0, 7 ) === 'matomo-';
44 }
45
46 public static function get_current_page() {
47 return isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : '';
48 }
49
50 public function load_scripts() {
51 wp_enqueue_style( 'matomo_admin_css', plugins_url( 'assets/css/admin-style.css', MATOMO_ANALYTICS_FILE ), false, matomo_get_asset_version() );
52 wp_enqueue_script(
53 'matomo_iframe_resizer',
54 plugins_url( 'assets/js/iframeResizer.min.js', MATOMO_ANALYTICS_FILE ),
55 [],
56 matomo_get_asset_version(),
57 [
58 'strategy' => 'defer',
59 'in_footer' => false,
60 ]
61 );
62
63 wp_enqueue_script(
64 'matomo-admin-js',
65 plugins_url( '/assets/js/admin.js', MATOMO_ANALYTICS_FILE ),
66 [ 'jquery' ],
67 matomo_get_asset_version(),
68 true
69 );
70 wp_localize_script(
71 'matomo-admin-js',
72 'mtmSystemReportErrorNoticeAjax',
73 [
74 'ajax_url' => admin_url( 'admin-ajax.php' ),
75 'nonce' => wp_create_nonce( 'matomo-systemreport-notice-dismiss' ),
76 ]
77 );
78 wp_localize_script(
79 'matomo-admin-js',
80 'mtmReferralDismissNoticeAjax',
81 [
82 'ajax_url' => admin_url( 'admin-ajax.php' ),
83 'nonce' => wp_create_nonce( 'matomo-referral-notice-dismiss' ),
84 ]
85 );
86 }
87
88 public function on_admin_body_class( $classes ) {
89 $raw_version = get_bloginfo( 'version' );
90 if ( ! $raw_version ) {
91 return $classes;
92 }
93
94 $version_parts = explode( '-', $raw_version );
95 $version = count( $version_parts ) > 1 ? $version_parts[0] : $raw_version;
96
97 if ( version_compare( $version, '7.0', '>=' ) ) {
98 $classes .= ' mtm-wp-gte-7';
99 }
100
101 return $classes;
102 }
103 }
104