PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 5.3
MainWP Dashboard: Self-hosted WordPress Management for Agencies v5.3
6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 5.2 5.2.1 5.2.2 5.3 All 153 releases
mainwp / modules / api-backups / classes / class-api-backups-hooks.php

class-api-backups-hooks.php in MainWP Dashboard: Self-hosted WordPress Management for Agencies 5.3, at modules/api-backups/classes/class-api-backups-hooks.php

114 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MainWP Module API Backups Hooks class.
4 *
5 * @package MainWP\Dashboard
6 * @version 5.0
7 */
8
9 namespace MainWP\Dashboard\Module\ApiBackups;
10
11 use MainWP\Dashboard\MainWP_Settings_Indicator;
12
13 /**
14 * Class Api_Backups_Hooks
15 */
16 class Api_Backups_Hooks {
17
18 /**
19 * Public static variable to hold the single instance of the class.
20 *
21 * @static
22 *
23 * @var mixed Default null
24 */
25 public static $instance = null;
26
27
28 /**
29 * Get Instance
30 *
31 * Creates public static instance.
32 *
33 * @static
34 *
35 * @return Api_Backups_Hooks
36 */
37 public static function get_instance() {
38 if ( null === static::$instance ) {
39 static::$instance = new self();
40 }
41 return static::$instance;
42 }
43
44 /**
45 * Constructor
46 *
47 * Runs each time the class is called.
48 */
49 public function __construct() {
50 add_filter( 'mainwp_getsubpages_settings', array( $this, 'add_subpage_menu_settings' ) );
51 add_filter( 'mainwp_init_primary_menu_items', array( $this, 'hook_init_primary_menu_items' ), 10, 2 );
52 add_filter( 'mainwp_getsubpages_sites', array( &$this, 'managesites_subpage' ), 10, 1 );
53 }
54
55
56 /**
57 * Init sub menu logs settings.
58 *
59 * @param array $items Sub menu items.
60 * @param string $which_menu first|second.
61 *
62 * @return array $tmp_items Menu items.
63 */
64 public function hook_init_primary_menu_items( $items, $which_menu ) {
65 if ( ! is_array( $items ) || 'first' !== $which_menu ) {
66 return $items;
67 }
68 $items[] = array(
69 'slug' => 'ManageApiBackups',
70 'menu_level' => 3,
71 'menu_rights' => array(
72 'dashboard' => array(
73 'manage_api_backups',
74 ),
75 ),
76 'init_menu_callback' => array( Api_Backups_Admin::class, 'init_menu' ),
77 );
78 return $items;
79 }
80
81 /**
82 * Init sub menu manage sites.
83 *
84 * @param array $subPage Sub pages.
85 */
86 public function managesites_subpage( $subPage ) {
87 $subPage[] = array(
88 'title' => esc_html__( 'API Backups', 'mainwp' ),
89 'slug' => 'ApiBackups',
90 'sitetab' => true,
91 'menu_hidden' => true,
92 'callback' => array( Api_Backups_Overview::get_instance(), 'render_individual_tabs' ),
93 );
94 return $subPage;
95 }
96
97 /**
98 * Init sub menu logs settings.
99 *
100 * @param array $subpages Sub pages.
101 *
102 * @action init
103 */
104 public function add_subpage_menu_settings( $subpages = array() ) {
105 $subpages[] = array(
106 'title' => esc_html__( 'API Backups', 'mainwp' ),
107 'slug' => 'ApiBackups',
108 'callback' => array( Api_Backups_Settings::get_instance(), 'render_settings_page' ),
109 'class' => '',
110 );
111 return $subpages;
112 }
113 }
114