PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.3.3
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.3.3
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 / Marketplace.php
matomo / classes / WpMatomo / Admin Last commit date
TrackingSettings 1 year ago views 1 year ago AccessSettings.php 4 years ago Admin.php 1 year ago AdminSettings.php 2 years ago AdminSettingsInterface.php 6 years ago AdvancedSettings.php 1 year ago Chart.php 4 years ago CookieConsent.php 4 years ago Dashboard.php 4 years ago ExclusionSettings.php 4 years ago GeolocationSettings.php 2 years ago GetStarted.php 4 years ago ImportWpStatistics.php 4 years ago Info.php 4 years ago InvalidIpException.php 4 years ago Marketplace.php 2 years ago MarketplaceSetupWizard.php 1 year ago Menu.php 1 year ago PluginMeasurableSettings.php 2 years ago PrivacySettings.php 1 year ago SafeModeMenu.php 4 years ago Summary.php 1 year ago SystemReport.php 1 year ago TrackingSettings.php 1 year ago WhatsNewNotifications.php 1 year ago
Marketplace.php
74 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\Settings;
13 use WpMatomo\Capabilities;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit; // if accessed directly
17 }
18
19 class Marketplace {
20
21 /**
22 * @var Settings
23 */
24 private $settings;
25
26 public function __construct( Settings $settings ) {
27 $this->settings = $settings;
28 }
29
30 public function show() {
31 $settings = $this->settings;
32 $valid_tabs = [];
33 $active_tab = '';
34
35 if ( ! is_plugin_active( MATOMO_MARKETPLACE_PLUGIN_NAME ) ) {
36 $valid_tabs = [ 'marketplace' ];
37 $active_tab = 'marketplace';
38
39 if ( $this->can_user_manage() ) {
40 if ( current_user_can( 'install_plugins' ) ) {
41 $valid_tabs[] = 'install';
42 }
43 $valid_tabs[] = 'subscriptions';
44 }
45
46 if ( isset( $_GET['tab'] )
47 && in_array( $_GET['tab'], $valid_tabs, true )
48 ) {
49 // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
50 $active_tab = wp_unslash( $_GET['tab'] );
51 }
52
53 if ( 'install' === $active_tab || 'subscriptions' === $active_tab ) {
54 $marketplace_setup_wizard = new MarketplaceSetupWizard();
55 }
56 }
57
58 include dirname( __FILE__ ) . '/views/marketplace.php';
59 }
60
61 private function can_user_manage() {
62 // only someone who can activate plugins is allowed to manage subscriptions
63 if ( $this->is_multisite() ) {
64 return is_super_admin();
65 }
66
67 return current_user_can( Capabilities::KEY_SUPERUSER );
68 }
69
70 private function is_multisite() {
71 return function_exists( 'is_multisite' ) && is_multisite();
72 }
73 }
74