PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
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
PluginSuggestions 2 months ago TrackingSettings 2 months ago views 2 months ago AccessSettings.php 4 years ago AdBlockDetector.php 7 months ago Admin.php 2 months ago AdminSettings.php 2 months ago AdminSettingsInterface.php 6 years ago AdvancedSettings.php 10 months ago Chart.php 2 months ago CookieConsent.php 4 years ago Dashboard.php 2 months ago ExclusionSettings.php 7 months ago GeolocationSettings.php 2 years ago GetStarted.php 2 months ago ImportWpStatistics.php 2 months ago Info.php 2 months ago InvalidIpException.php 4 years ago Marketplace.php 2 months ago MarketplaceSetupWizard.php 2 months ago MarketplaceSetupWizardBody.php 3 months ago MatomoPage.php 2 months ago MatomoPageContent.php 2 months ago Menu.php 2 months ago PluginMeasurableSettings.php 2 years ago PrivacySettings.php 1 year ago SafeModeMenu.php 2 months ago Summary.php 2 months ago SystemReport.php 2 months ago TrackingSettings.php 4 months ago WhatsNewNotifications.php 2 months ago
Admin.php
85 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 private $init_menu;
27
28 /**
29 * @param Settings $settings
30 */
31 public function __construct( $settings, $init_menu = true ) {
32 $this->settings = $settings;
33 $this->init_menu = $init_menu;
34 }
35
36 public function is_active() {
37 return is_admin();
38 }
39
40 public function register_hooks() {
41 if ( $this->init_menu ) {
42 new Menu( $this->settings );
43 }
44
45 add_action( 'admin_enqueue_scripts', [ $this, 'load_scripts' ] );
46 }
47
48 public static function is_matomo_admin() {
49 return substr( self::get_current_page(), 0, 7 ) === 'matomo-';
50 }
51
52 public static function get_current_page() {
53 return isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : '';
54 }
55
56 public function load_scripts() {
57 wp_enqueue_style( 'matomo_admin_css', plugins_url( 'assets/css/admin-style.css', MATOMO_ANALYTICS_FILE ), false, \WpMatomo::VERSION );
58 wp_enqueue_script( 'matomo_iframe_resizer', plugins_url( 'assets/js/iframeResizer.min.js', MATOMO_ANALYTICS_FILE ), [], \WpMatomo::VERSION, [ 'defer', false ] );
59
60 wp_enqueue_script(
61 'matomo-admin-js',
62 plugins_url( '/assets/js/admin.js', MATOMO_ANALYTICS_FILE ),
63 [ 'jquery' ],
64 \WpMatomo::VERSION,
65 true
66 );
67 wp_localize_script(
68 'matomo-admin-js',
69 'mtmSystemReportErrorNoticeAjax',
70 [
71 'ajax_url' => admin_url( 'admin-ajax.php' ),
72 'nonce' => wp_create_nonce( 'matomo-systemreport-notice-dismiss' ),
73 ]
74 );
75 wp_localize_script(
76 'matomo-admin-js',
77 'mtmReferralDismissNoticeAjax',
78 [
79 'ajax_url' => admin_url( 'admin-ajax.php' ),
80 'nonce' => wp_create_nonce( 'matomo-referral-notice-dismiss' ),
81 ]
82 );
83 }
84 }
85