PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.11.6
Independent Analytics – WordPress Analytics Plugin v2.11.6
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / IAWP / Admin_Page / Admin_Page.php
Admin_Page.php
65 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP\Admin_Page;
4
5 use IAWP\Capability_Manager;
6 use IAWP\Dashboard_Options;
7 use IAWP\Env;
8 use IAWP\Migrations\Migrations;
9 use IAWP\Report_Finder;
10 /** @internal */
11 abstract class Admin_Page
12 {
13 protected abstract function render_page();
14 /**
15 * @param bool $show_report_sidebar Some admin pages, such as the settings page, don't show the report sidebar
16 *
17 * @return void
18 */
19 public function render(bool $show_report_sidebar = \true) : void
20 {
21 if (!Capability_Manager::can_view()) {
22 return;
23 }
24 if (Migrations::is_migrating()) {
25 echo \IAWPSCOPED\iawp_render('interrupt.migration-is-running');
26 return;
27 }
28 $options = Dashboard_Options::getInstance();
29 $tab = (new Env())->get_tab();
30 ?>
31
32 <div id="iawp-parent" class="iawp-parent <?php
33 echo \esc_attr($tab);
34 ?>">
35 <div id="iawp-layout" class="iawp-layout <?php
36 echo $options->is_sidebar_collapsed() ? 'collapsed' : '';
37 ?>">
38 <?php
39 if ($show_report_sidebar) {
40 echo \IAWPSCOPED\iawp_render('partials.sidebar', ['report_finder' => Report_Finder::new(), 'is_white_labeled' => Capability_Manager::show_white_labeled_ui(), 'can_edit_settings' => Capability_Manager::can_edit()]);
41 }
42 ?>
43 <div class="iawp-layout-main">
44 <div class="iawp-tab-content">
45 <div id="iawp-dashboard" class="iawp-dashboard">
46 <?php
47 $this->render_page();
48 ?>
49 </div>
50 </div>
51 <div class="modal-background"></div>
52 <div id="loading-icon" class="loading-icon">
53 <img src="<?php
54 echo \esc_url(\IAWPSCOPED\iawp_url_to('img/loading.svg'));
55 ?>" />
56 </div>
57 <button id="scroll-to-top" class="scroll-to-top"><span class="dashicons dashicons-arrow-up-alt"></span></button>
58 </div>
59 </div>
60 </div>
61
62 <?php
63 }
64 }
65