/var/www/(Del)hsihk.com/wp-content/plugins/backupbuddy/init_admin.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<?php // This code runs whenever in the wp-admin. pb_backupbuddy::$options preloaded.



/********** MISC **********/



// Needed for retina icons in menu.
add_action'admin_enqueue_scripts'create_function'',
    
"wp_enqueue_style( 'pb_backupbuddy-wp-admin', '" pb_backupbuddy::plugin_url() . "/css/wp-admin.css', array(), pb_backupbuddy::settings( 'version' ) );"
    
)
);
global 
$wp_version;
if ( 
$wp_version >= 3.8 ) {
    
add_action'admin_enqueue_scripts'create_function'',
        
"wp_enqueue_style( 'pb_backupbuddy-wp-admin-fonticon', '" pb_backupbuddy::plugin_url() . "/css/wp-admin-fonticon.css', array(), pb_backupbuddy::settings( 'version' ) );"
        
)
    );
}


// Enqueue styles for Dashboard Widget
function enqueue_dashboard_stylesheet($hook) {
    if( 
'index.php' != $hook )
        return;
    
wp_enqueue_style'bub_dashboard_widget'pb_backupbuddy::plugin_url() . '/css/dashboard_widget.css' );
}
add_action'admin_enqueue_scripts''enqueue_dashboard_stylesheet' );




// Load backupbuddy class with helper functions.
if ( ! class_exists'backupbuddy_core' ) ) {
    require_once( 
pb_backupbuddy::plugin_path() . '/classes/core.php' );
}



/* BEGIN HANDLING DATA STRUCTURE UPGRADE */



// 2.x -> 3.x
$options get_site_option'pluginbuddy_backupbuddy' ); // Attempt to get 2.x options.
if ( is_multisite() ) { // Try to read site-specific settings in.
    
$multisite_option get_option'pluginbuddy_backupbuddy' );
    if ( 
$multisite_option ) {
        
$options $multisite_option;
    }
    unset( 
$multisite_option );
}
if ( 
$options !== false ) { // If options is not false then we need to upgrade.
    
pb_backupbuddy::status'details''Migrating data structure. 2.x data discovered.' );
    
backupbuddy_core::verify_directories$skipTempGeneration true );
    require_once( 
pb_backupbuddy::plugin_path() . '/controllers/activation.php' );
}
unset( 
$options );

// Check if data version is behind & run activation upgrades if needed.
$default_options pb_backupbuddy::settings'default_options' );
if ( 
pb_backupbuddy::$options['data_version'] < $default_options['data_version'] ) {
    
backupbuddy_core::verify_directories$skipTempGeneration true );
    
pb_backupbuddy::status'details''Data structure version of `' pb_backupbuddy::$options['data_version'] . '` behind current version of `' $default_options['data_version'] . '`. Running activation upgrade.' );
    require_once( 
pb_backupbuddy::plugin_path() . '/controllers/activation.php' );
}



/* END HANDLING DATA STRUCTURE UPGRADE */



// Schedule daily housekeeping.
if ( false === wp_next_scheduledpb_backupbuddy::cron_tag'housekeeping' ) ) ) { // if schedule does not exist...
    
backupbuddy_core::schedule_eventtime() + ( 60*60 ), 'daily'pb_backupbuddy::cron_tag'housekeeping' ), array() ); // Add schedule.
}



/********** ACTIONS (admin) **********/



// Set up reminders if enabled.
if ( pb_backupbuddy::$options['backup_reminders'] == '1' ) {
    
pb_backupbuddy::add_action( array( 'load-update-core.php''wp_update_backup_reminder' ) );
    
pb_backupbuddy::add_action( array( 'post_updated_messages''content_editor_backup_reminder_on_update' ) );
}

// Display warning to network activate if running in normal mode on a MultiSite Network.
if ( is_multisite() && !backupbuddy_core::is_network_activated() ) {
    
pb_backupbuddy::add_action( array( 'all_admin_notices''multisite_network_warning' ) ); // BB should be network activated while on Multisite.
}



/********** AJAX (admin) **********/



pb_backupbuddy::add_ajax'backupbuddy' ); // New AJAX wrapper to begin passing all AJAX through this single call to reduce number of registered hooks. POST or GET the var function containing the function.php file to run within controllers/ajax.
//pb_backupbuddy::add_ajax( 'ajax_controller_callback_function' ); // Tell WordPress about this AJAX callback.

// Register BackupBuddy API. As of BackupBuddy v5.0. Access credentials will be checked within callback.
add_action'wp_ajax_backupbuddy_api', array( pb_backupbuddy::$_ajax'api' ) );
add_action'wp_ajax_nopriv_backupbuddy_api', array( pb_backupbuddy::$_ajax'api' ) );



/********** DASHBOARD (admin) **********/



// Display stats in Dashboard.
if ( ( !is_multisite() ) || ( is_multisite() && is_network_admin() ) ) { // Only show if standalon OR in main network admin.
    
pb_backupbuddy::add_dashboard_widget'stats''BackupBuddy v' pb_backupbuddy::settings'version' ), 'godmode' );
}



/********** FILTERS (admin) **********/



pb_backupbuddy::add_filter'plugin_row_meta'10);



/********** PAGES (admin) **********/



$icon '';

if ( 
is_multisite() && backupbuddy_core::is_network_activated() && !defined'PB_DEMO_MODE' ) ) { // Multisite installation.
    
if ( defined'PB_BACKUPBUDDY_MULTISITE_EXPERIMENT' ) && ( PB_BACKUPBUDDY_MULTISITE_EXPERIMENT == TRUE ) ) { // comparing with bool but loose so string is acceptable.
        
        
if ( is_network_admin() ) { // Network Admin pages
            
pb_backupbuddy::add_page'''backup', array( pb_backupbuddy::settings'name' ), __'Backup''it-l10n-backupbuddy' ) ), 'manage_network'$icon );
            
pb_backupbuddy::add_page'backup''migrate_restore'__'Migrate, Restore''it-l10n-backupbuddy' ), 'manage_network' );
            
pb_backupbuddy::add_page'backup''destinations'__'Remote Destinations''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
            
pb_backupbuddy::add_page'backup''multisite_import'__'MS Import (beta)''it-l10n-backupbuddy' ), 'manage_network' );
            
pb_backupbuddy::add_page'backup''server_tools'__'Server Tools''it-l10n-backupbuddy' ), 'manage_network' );
            
pb_backupbuddy::add_page'backup''malware_scan'__'Malware Scan''it-l10n-backupbuddy' ), 'manage_network' );
            
pb_backupbuddy::add_page'backup''scheduling'__'Schedules''it-l10n-backupbuddy' ), 'manage_network' );
            
pb_backupbuddy::add_page'backup''settings'__'Settings''it-l10n-backupbuddy' ), 'manage_network' );
        } else { 
// Subsite pages.            
            
$export_note '';
            
            
$options get_site_option'pb_' pb_backupbuddy::settings'slug' ) );
            
$multisite_export $options'multisite_export' ];
            unset( 
$options );

            if ( 
$multisite_export == '1' ) { // Settings enable admins to export. Set capability to admin and higher only.
                
$capability pb_backupbuddy::$options['role_access'];
                
$export_title '<span title="Note: Enabled for both subsite Admins and Network Superadmins based on BackupBuddy settings">' __'MS Export (experimental)''it-l10n-backupbuddy' ) . '</span>';
            } else { 
// Settings do NOT allow admins to export; set capability for superadmins only.
                
$capability 'manage_network';
                
$export_title '<span title="Note: Enabled for Network Superadmins only based on BackupBuddy settings">' __'MS Export SA (experimental)''it-l10n-backupbuddy' ) . '</span>';
            }
            
            
//pb_backupbuddy::add_page( '', 'getting_started', array( pb_backupbuddy::settings( 'name' ), 'Getting Started' . $export_note ), $capability );
            
pb_backupbuddy::add_page'''multisite_export'$export_title$capability$icon );
            
pb_backupbuddy::add_page'multisite_export''malware_scan'__'Malware Scan''it-l10n-backupbuddy' ), $capability );
        }
        
    } else { 
// PB_BACKUPBUDDY_MULTISITE_EXPERIMENT not in wp-config / set to TRUE.
        
pb_backupbuddy::status'error''Multisite detected but PB_BACKUPBUDDY_MULTISITE_EXPERIMENT definition not found in wp-config.php / not defined to boolean TRUE.' );
    }
    
} else { 
// Standalone site.
    
    
pb_backupbuddy::add_page'''backup', array( pb_backupbuddy::settings'name' ), __'Backup''it-l10n-backupbuddy' ) ), pb_backupbuddy::$options['role_access'], $icon );
    
pb_backupbuddy::add_page'backup''migrate_restore'__'Restore / Migrate''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    
pb_backupbuddy::add_page'backup''destinations'__'Remote Destinations''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    
/*
    if ( defined( 'BACKUPBUDDY_DEV' ) && ( true === BACKUPBUDDY_DEV ) ) {
        pb_backupbuddy::add_page( 'backup', 'deploy', __( 'Deployments', 'it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    }
    */
    
pb_backupbuddy::add_page'backup''server_tools'__'Server Tools''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    
pb_backupbuddy::add_page'backup''malware_scan'__'Malware Scan''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    
pb_backupbuddy::add_page'backup''scheduling'__'Schedules''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
    
pb_backupbuddy::add_page'backup''settings'__'Settings''it-l10n-backupbuddy' ), pb_backupbuddy::$options['role_access'] );
}



/********** OTHER (admin) **********/
add_filter'contextual_help''pb_backupbuddy_contextual_help'10);
function 
pb_backupbuddy_contextual_help$contextual_help$screen_id$screen ) { // Loads help from file in controllers/help/:PAGENAME:.php
    
    // WordPress pre-v3.3 so no contextual help.
    
if ( ! method_exists$screen'add_help_tab' ) ) {
        return 
$contextual_help;
    }
    
    
// Not a backupbuddy page.
    
if ( false === stristr$screen_id'backupbuddy' ) ) {
        return 
$contextual_help;
    }
    
    
// Load page-specific help.
    
$page str_replace'pb_backupbuddy_'''str_replace'toplevel_page_'''str_replace'backupbuddy_page_pb_backupbuddy_'''$screen_id ) ) );
    
$helpFile dirname__FILE__ ) . '/controllers/help/' $page '.php';
    if ( 
file_exists$helpFile ) ) {
        include( 
$helpFile );
    }
    
    
// Global help.
    
$screen->add_help_tab(
    array(
    
'id'      => 'pb_backupbuddy_additionalhelp',
    
'title'   => __'Tutorials & Support''it-l10n-backupbuddy' ),
    
'content' => '<p>
                    <a href="http://ithemes.com/publishing/getting-started-with-backupbuddy/" target="_new">' 
__'Getting Started eBook''it-l10n-backupbuddy' ) . '</a>
                    <br>
                    <a href="http://ithemes.tv/category/backupbuddy/" target="_new">' 
__'Getting Started Videos''it-l10n-backupbuddy' ) . '</a>
                    <br>
                    <a href="http://ithemes.com/codex/" target="_new">' 
__'Knowledge Base & Tutorials''it-l10n-backupbuddy' ) . '</a>
                    <br>
                    <a href="http://ithemes.com/support/" target="_new"><b>' 
__'Support Forum''it-l10n-backupbuddy' ) . '</b></a>
                </p>'
,
    ));
    
    return 
$contextual_help;
    
// End pb_backupbuddy_contextual_help().