PluginProbe
Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) / 9.0.2
Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) v9.0.2
9.1.2 9.1.1 9.1.0 9.0.2 9.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.1.0 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 All 153 releases
wp-analytify / inc / module-manager.php

module-manager.php in Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) 9.0.2, at inc/module-manager.php

76 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName -- File naming is acceptable
2 /**
3 * Module Manager Component for WP Analytify
4 *
5 * This file contains all module and addon management functions
6 * that were previously in the main plugin file.
7 *
8 * @package WP_Analytify
9 * @since 8.0.0
10 */
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit;
14 }
15
16 /**
17 * Module Manager Component Class
18 */
19 class Analytify_Module_Manager {
20
21 /**
22 * Main plugin instance
23 *
24 * @var WP_Analytify
25 */
26 private $analytify;
27
28 /**
29 * Constructor
30 *
31 * @param WP_Analytify $analytify Main plugin instance.
32 */
33 public function __construct( $analytify ) {
34 $this->analytify = $analytify;
35 $this->init_hooks();
36 }
37
38 /**
39 * Initialize hooks
40 *
41 * @return void
42 */
43 private function init_hooks() {
44 // Module management hooks.
45 add_action( 'admin_init', array( $this, 'modules_fallback_page' ) );
46 }
47
48 /**
49 * Fallback addons page if plugin is deactive
50 *
51 * @return void
52 */
53 public function modules_fallback_page() {
54 $wp_analytify_modules = get_option( 'wp-analytify-modules' );
55
56 // Sanitize server data for security.
57 if ( $wp_analytify_modules && $_SERVER ) {
58 foreach ( $wp_analytify_modules as $module ) {
59 if ( isset( $_SERVER['QUERY_STRING'] ) && 'page=' . $module['page_slug'] === $_SERVER['QUERY_STRING'] && 'active' !== $module['status'] ) {
60 wp_safe_redirect( admin_url( '/admin.php?page=analytify-promo&addon=' . $module['slug'] ) );
61 exit;
62 }
63 }
64 }
65 }
66
67 /**
68 * Show promo screen for addons
69 *
70 * @return void
71 */
72 public function addons_promo_screen() {
73 include defined( 'WP_ANALYTIFY_ROOT_PATH' ) ? WP_ANALYTIFY_ROOT_PATH : WP_ANALYTIFY_PLUGIN_DIR . '/views/default/admin/addons-promo.php';
74 }
75 }
76