PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 6.1
MainWP Dashboard: Self-hosted WordPress Management for Agencies v6.1
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 6.1, at modules/api-backups/classes/class-api-backups-hooks.php

119 lines 3.0 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 // Exit if accessed directly.
14 if ( ! defined( 'ABSPATH' ) ) {
15 exit;
16 }
17
18 /**
19 * Class Api_Backups_Hooks
20 */
21 class Api_Backups_Hooks {
22
23 /**
24 * Public static variable to hold the single instance of the class.
25 *
26 * @static
27 *
28 * @var mixed Default null
29 */
30 public static $instance = null;
31
32
33 /**
34 * Get Instance
35 *
36 * Creates public static instance.
37 *
38 * @static
39 *
40 * @return Api_Backups_Hooks
41 */
42 public static function get_instance() {
43 if ( null === static::$instance ) {
44 static::$instance = new self();
45 }
46 return static::$instance;
47 }
48
49 /**
50 * Constructor
51 *
52 * Runs each time the class is called.
53 */
54 public function __construct() {
55 add_filter( 'mainwp_getsubpages_settings', array( $this, 'add_subpage_menu_settings' ) );
56 add_filter( 'mainwp_init_primary_menu_items', array( $this, 'hook_init_primary_menu_items' ), 10, 2 );
57 add_filter( 'mainwp_getsubpages_sites', array( &$this, 'managesites_subpage' ), 10, 1 );
58 }
59
60
61 /**
62 * Init sub menu logs settings.
63 *
64 * @param array $items Sub menu items.
65 * @param string $which_menu first|second.
66 *
67 * @return array $tmp_items Menu items.
68 */
69 public function hook_init_primary_menu_items( $items, $which_menu ) {
70 if ( ! is_array( $items ) || 'first' !== $which_menu ) {
71 return $items;
72 }
73 $items[] = array(
74 'slug' => 'ManageApiBackups',
75 'menu_level' => 3,
76 'menu_rights' => array(
77 'dashboard' => array(
78 'manage_api_backups',
79 ),
80 ),
81 'init_menu_callback' => array( Api_Backups_Admin::class, 'init_menu' ),
82 );
83 return $items;
84 }
85
86 /**
87 * Init sub menu manage sites.
88 *
89 * @param array $subPage Sub pages.
90 */
91 public function managesites_subpage( $subPage ) {
92 $subPage[] = array(
93 'title' => esc_html__( 'API Backups', 'mainwp' ),
94 'slug' => 'ApiBackups',
95 'sitetab' => true,
96 'menu_hidden' => true,
97 'callback' => array( Api_Backups_Overview::get_instance(), 'render_individual_tabs' ),
98 );
99 return $subPage;
100 }
101
102 /**
103 * Init sub menu logs settings.
104 *
105 * @param array $subpages Sub pages.
106 *
107 * @action init
108 */
109 public function add_subpage_menu_settings( $subpages = array() ) {
110 $subpages[] = array(
111 'title' => esc_html__( 'API Backups Settings ', 'mainwp' ),
112 'slug' => 'ApiBackups',
113 'callback' => array( Api_Backups_Settings::get_instance(), 'render_settings_page' ),
114 'class' => '',
115 );
116 return $subpages;
117 }
118 }
119