PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.3.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.3.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 / Compatibility.php
matomo / classes / WpMatomo Last commit date
Admin 1 year ago Commands 2 years ago Db 1 year ago Ecommerce 1 year ago Report 1 year ago Site 2 years ago TrackingCode 1 year ago Updater 4 years ago User 1 year ago Workarounds 2 years ago WpStatistics 1 year ago views 4 years ago API.php 1 year ago Access.php 4 years ago AjaxTracker.php 1 year ago Annotations.php 4 years ago Bootstrap.php 1 year ago Capabilities.php 4 years ago Compatibility.php 2 years ago Email.php 2 years ago ErrorNotice.php 2 years ago Installer.php 1 year ago Logger.php 1 year ago OptOut.php 1 year ago Paths.php 2 years ago PluginAdminOverrides.php 2 years ago PrivacyBadge.php 4 years ago RedirectOnActivation.php 4 years ago Referral.php 2 years ago Roles.php 1 year ago ScheduledTasks.php 1 year ago Settings.php 1 year ago Site.php 3 years ago TrackingCode.php 1 year ago Uninstaller.php 1 year ago Updater.php 1 year ago User.php 4 years ago
Compatibility.php
61 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;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // if accessed directly
14 }
15
16 class Compatibility {
17 public function register_hooks() {
18 $this->ithemes_security();
19 }
20
21 /**
22 * refs https://github.com/matomo-org/matomo-for-wordpress/issues/131
23 * When user disables feature "Disable PHP in plugins" in system tweaks
24 * then the Matomo backend doesn't work
25 */
26 private function ithemes_security() {
27 if ( defined( 'MATOMO_COMPATIBIILITY_ITHEMES_SECURITY_DISABLE' ) && MATOMO_COMPATIBIILITY_ITHEMES_SECURITY_DISABLE ) {
28 return;
29 }
30 add_filter(
31 'itsec_filter_apache_server_config_modification',
32 function ( $rules ) {
33 // otherwise the path below won't be compatible
34 // todo ideally we would make the plugins path relative and match the specific path...
35 // like preg_quote(relative_wp_content_dir)...
36 $is_wp_content_dir_compatible = defined( 'WP_CONTENT_DIR' )
37 && ABSPATH . 'wp-content' === rtrim( WP_CONTENT_DIR, '/' );
38 if ( $rules
39 && $is_wp_content_dir_compatible
40 && is_string( $rules )
41 && strpos( $rules, 'RewriteEngine On' ) > 0
42 && strpos( $rules, 'content' ) > 0
43 && strpos( $rules, 'plugins' ) > 0 ) {
44 $rules = '
45 <IfModule mod_rewrite.c>
46 RewriteEngine On
47
48 # Allow Matomo Backend
49 RewriteRule ^wp\-content/plugins/matomo/app/(index|piwik|matomo)\.php$ \$0 [NC,L]
50 </IfModule>
51 ' . $rules;
52 }
53
54 return $rules;
55 },
56 9999999991,
57 $accepted_args = 1
58 );
59 }
60 }
61