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

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