PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.6.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.6.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 7 months ago Commands 2 years ago Db 1 year ago Ecommerce 10 months ago Report 1 year ago Site 2 years ago TrackingCode 1 year ago Updater 4 years ago User 7 months ago Workarounds 2 years ago WpStatistics 7 months ago views 4 years ago API.php 1 year ago Access.php 4 years ago AjaxTracker.php 7 months ago Annotations.php 4 years ago Bootstrap.php 10 months 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 10 months ago ScheduledTasks.php 1 year ago Settings.php 7 months ago Site.php 3 years ago TrackingCode.php 1 year ago Uninstaller.php 1 year ago Updater.php 10 months 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