| @@ -1,41 +1,60 @@ | ||
| 1 | 1 | <?php |
| 2 | +namespace WPDeveloper\BetterDocs\Admin; | |
| 2 | 3 | |
| 3 | -namespace WPDeveloper\BetterDocs\Admin; | |
| 4 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 5 | + exit; | |
| 6 | +} | |
| 7 | + | |
| 8 | + | |
| 4 | 9 | use WPDeveloper\BetterDocs\Utils\Base; |
| 5 | 10 | use WPDeveloper\BetterDocs\Utils\Database; |
| 6 | 11 | |
| 7 | 12 | class Analytics extends Base { |
| 8 | - /** | |
| 9 | - * Database class | |
| 10 | - * @var Database | |
| 11 | - */ | |
| 12 | - protected $database; | |
| 13 | + /** | |
| 14 | + * Database class | |
| 15 | + * @var Database | |
| 16 | + */ | |
| 17 | + protected $database; | |
| 13 | 18 | |
| 14 | - public function __construct( Database $database ) { | |
| 15 | - $this->database = $database; | |
| 19 | + public function __construct( Database $database ) { | |
| 20 | + $this->database = $database; | |
| 16 | 21 | |
| 17 | - add_action( 'admin_enqueue_scripts', [$this, 'enqueue'] ); | |
| 22 | + add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] ); | |
| 23 | + add_action( 'admin_enqueue_scripts', [ $this, '_enqueue' ] ); | |
| 18 | 24 | |
| 19 | - if ( isset( $_GET['page'] ) && $_GET['page'] === 'betterdocs-analytics' ) { | |
| 20 | - add_action( 'betterdocs_settings_header', [$this, 'header'] ); | |
| 21 | - } | |
| 22 | - } | |
| 25 | + // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only screen detection. | |
| 26 | + $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : ''; | |
| 27 | + if ( 'betterdocs-analytics' === $page ) { | |
| 28 | + add_action( 'betterdocs_settings_header', [ $this, 'header' ] ); | |
| 29 | + } | |
| 30 | + } | |
| 23 | 31 | |
| 24 | - public function enqueue( $hook ) { | |
| 25 | - if ( $hook !== 'betterdocs_page_betterdocs-analytics' ) { | |
| 26 | - return; | |
| 27 | - } | |
| 32 | + public function enqueue( $hook ) { | |
| 33 | + if ( ! betterdocs()->is_betterdocs_screen( $hook ) ) { | |
| 34 | + return; | |
| 35 | + } | |
| 28 | 36 | |
| 29 | - betterdocs()->assets->enqueue( 'betterdocs-analytics', 'admin/css/analytics.css' ); | |
| 30 | - } | |
| 37 | + betterdocs()->assets->enqueue( 'betterdocs-analytics', 'admin/css/analytics.css' ); | |
| 38 | + } | |
| 31 | 39 | |
| 32 | - public function header() { | |
| 33 | - betterdocs()->views->get( 'admin/template-parts/settings-header', [ | |
| 34 | - 'title' => __( 'BetterDocs Analytics', 'betterdocs' ) | |
| 35 | - ] ); | |
| 36 | - } | |
| 40 | + public function _enqueue( $hook ) { | |
| 41 | + if ( ! betterdocs()->is_betterdocs_screen( $hook ) ) { | |
| 42 | + return; | |
| 43 | + } | |
| 37 | 44 | |
| 38 | - public function views() { | |
| 39 | - betterdocs()->views->get( 'admin/analytics' ); | |
| 40 | - } | |
| 45 | + $this->enqueue( 'betterdocs_page_betterdocs-analytics' ); | |
| 46 | + } | |
| 47 | + | |
| 48 | + public function header() { | |
| 49 | + betterdocs()->views->get( | |
| 50 | + 'admin/template-parts/settings-header', | |
| 51 | + [ | |
| 52 | + 'title' => __( 'BetterDocs Analytics', 'betterdocs' ) | |
| 53 | + ] | |
| 54 | + ); | |
| 55 | + } | |
| 56 | + | |
| 57 | + public function views() { | |
| 58 | + betterdocs()->views->get( 'admin/analytics' ); | |
| 59 | + } | |
| 41 | 60 | } |