PluginProbe
UpdraftCentral Dashboard / 0.7.1
UpdraftCentral Dashboard v0.7.1
0.8.33 0.7.2 0.7.3 0.7.4 0.8.0 0.8.1 0.8.10 0.8.11 0.8.12 0.8.13 0.8.14 0.8.15 0.8.16 0.8.17 0.8.18 0.8.19 0.8.2 0.8.20 0.8.21 0.8.22 0.8.23 0.8.24 0.8.25 0.8.26 0.8.27 All 51 releases
updraftcentral / modules / advancedtools / loader.php

loader.php in UpdraftCentral Dashboard 0.7.1, at modules/advancedtools/loader.php

123 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (!defined('UD_CENTRAL_DIR')) die('Security check');
4
5 /**
6 * This class handles Advanced Tools option
7 *
8 * Provides a way to access and update `advanced tools` tab
9 * of UpdraftPlus Backup/Restore plugin
10 */
11 class UpdraftCentral_Module_AdvancedTools {
12
13 const MODULE_NAME = 'advancedtools';
14
15 /**
16 * UpdraftCentral_Module_AdvancedTools constructor.
17 *
18 * Adds required actions and filter hooks
19 */
20 public function __construct() {
21 add_action('updraftcentral_load_dashboard_js', array($this, 'load_dashboard_js'));
22 add_action('updraftcentral_load_dashboard_css', array($this, 'load_dashboard_css'));
23 add_action('updraftcentral_dashboard_post_navigation', array($this, 'dashboard_post_navigation'));
24 add_action('updraftcentral_site_row_after_buttons', array($this, 'site_row_after_buttons'));
25 add_filter('updraftcentral_main_navigation_items', array($this, 'main_navigation_items'));
26 add_filter('updraftcentral_udrclion', array($this, 'udrclion'));
27 add_filter('updraftcentral_template_directories', array($this, 'template_directories'));
28
29 // Add available shortcuts for this module
30 add_filter('updraftcentral_keyboard_shortcuts', array($this, 'keyboard_shortcuts'));
31 }
32
33 /**
34 * Adds keyboard shortcut(s) available for this module
35 *
36 * @param array $shortcuts UpdraftCentral keyboard shortcuts
37 * @return array Updated UpdraftCentral keyboard shortcuts
38 */
39 public function keyboard_shortcuts($shortcuts) {
40 $shortcuts['show_advanced_tools'] = array(
41 'key' => 'T',
42 'description' => __('Show advanced tools', 'updraftcentral'),
43 'action' => 'updraftcentral_site_advanced_settings', /* ID or class name or a jQuery selector or a callback function (only applicable when registered from javascript). Element to trigger to load the content. */
44 'menu' => self::MODULE_NAME /* Name of the navigation item or menu. */
45 );
46
47 return $shortcuts;
48 }
49
50 /**
51 * Enqueues Advanced Tools module's js files
52 *
53 * @param string $enqueue_version The version number
54 * @return void
55 */
56 public function load_dashboard_js($enqueue_version) {
57 wp_enqueue_script('updraftcentral-dashboard-activities-'.self::MODULE_NAME, UD_CENTRAL_URL.'/modules/'.self::MODULE_NAME.'/'.self::MODULE_NAME.'.js', array('updraftcentral-dashboard', 'jquery'), $enqueue_version);
58 }
59
60 /**
61 * Enqueues Advanced Tools module's css files
62 *
63 * @param string $enqueue_version The version number
64 * @return void
65 */
66 public function load_dashboard_css($enqueue_version) {
67 wp_enqueue_style('updraftcentral-dashboard-css-'.self::MODULE_NAME, UD_CENTRAL_URL.'/modules/'.self::MODULE_NAME.'/'.self::MODULE_NAME.'.css', array('updraftcentral-dashboard-css'), $enqueue_version);
68 }
69
70 /**
71 * Loads Advanced Tools module's translations file
72 *
73 * @param array $localize The array with all the modules translations files
74 * @return array The updated array with translations
75 */
76 public function udrclion($localize) {
77 $localize[self::MODULE_NAME] = include(__DIR__.'/translations-dashboard.php');
78 return $localize;
79 }
80
81 /**
82 * Adds the buttons in the site row for Advanced Tools module
83 *
84 * @return void
85 */
86 public function site_row_after_buttons() {
87 UpdraftCentral()->include_template(self::MODULE_NAME.'/site-row-buttons.php');
88 }
89
90 /**
91 * Adds 'Tools' navigation item to main navigation
92 *
93 * @param array $items An array of module names as navigation items
94 * @return array Updated array with this module's name
95 */
96 public function main_navigation_items($items) {
97
98 $items[self::MODULE_NAME] = array('label' => __('Tools', 'updraftcentral'), 'sort_order' => 50);
99
100 return $items;
101 }
102
103 /**
104 * Adds site management buttons at the top
105 */
106 public function dashboard_post_navigation() {
107 UpdraftCentral()->include_template(self::MODULE_NAME.'/management-actions.php');
108 }
109
110 /**
111 * Adds Advanced Tools module's template directory
112 *
113 * @param array $template_directories The array with all modules template directories
114 * @return array The updated array with this module's template directory in it.
115 */
116 public function template_directories($template_directories) {
117 $template_directories[self::MODULE_NAME] = __DIR__.'/templates';
118 return $template_directories;
119 }
120 }
121
122 new UpdraftCentral_Module_AdvancedTools();
123