admin = $admin;
}
/**
* Initialize the class.
*
* @return void
*/
public function init() {
add_action( 'admin_bar_menu', [ $this, 'adminbar' ], 100 );
add_action( 'wp_head', [ $this->admin, 'admin_css' ] );
}
/**
* Render the admin bar entries.
*
* @global WP_Admin_Bar $wp_admin_bar Admin bar instance.
*/
public function adminbar() {
if ( ! is_admin_bar_showing() ) {
return;
}
/**
* Admin bar instance.
*
* @var WP_Admin_Bar $wp_admin_bar
*/
global $wp_admin_bar;
$menu_title = '';
$menu_herf = network_admin_url( 'admin.php?page=backwpup' );
if ( file_exists( BackWPup::get_plugin_data( 'running_file' ) ) && current_user_can( 'backwpup_jobs_start' ) ) {
$menu_title = '' . esc_html( BackWPup::get_plugin_data( 'name' ) ) . ' ' . esc_html__( 'running', 'backwpup' ) . '';
$menu_herf = network_admin_url( 'admin.php?page=backwpup' );
}
if ( current_user_can( 'backwpup' ) ) {
$wp_admin_bar->add_menu(
[
'id' => 'backwpup',
'title' => $menu_title,
'href' => $menu_herf,
'meta' => [ 'title' => BackWPup::get_plugin_data( 'name' ) ],
]
);
}
if ( file_exists( BackWPup::get_plugin_data( 'running_file' ) ) && current_user_can( 'backwpup_jobs_start' ) ) {
$wp_admin_bar->add_menu(
[
'id' => 'backwpup_working',
'parent' => 'backwpup_jobs',
'title' => __( 'Now Running', 'backwpup' ),
'href' => network_admin_url( 'admin.php?page=backwpup' ),
]
);
$wp_admin_bar->add_menu(
[
'id' => 'backwpup_working_abort',
'parent' => 'backwpup_working',
'title' => __( 'Abort!', 'backwpup' ),
'href' => wp_nonce_url( network_admin_url( 'admin.php?page=backwpup&action=abort' ), 'abort-job' ),
]
);
}
if ( current_user_can( 'backwpup_logs' ) ) {
$wp_admin_bar->add_menu(
[
'id' => 'backwpup_logs',
'parent' => 'backwpup',
'title' => __( 'Accessing your logs', 'backwpup' ),
'href' => network_admin_url( 'admin.php?page=backwpuplogs' ),
]
);
}
if ( current_user_can( 'backwpup_backups' ) ) {
$wp_admin_bar->add_menu(
[
'id' => 'backwpup_backups',
'parent' => 'backwpup',
'title' => __( 'Backups', 'backwpup' ),
'href' => network_admin_url( 'admin.php?page=backwpup' ),
]
);
}
}
}