$jobtypeclass ) { add_action( 'wp_ajax_backwpup_jobtype_' . strtolower( $id ), array( $jobtypeclass, 'edit_ajax' ) ); } } //ajax calls for destinations if ( $dests = BackWPup::get_registered_destinations() ) { foreach ( $dests as $id => $dest ) { if ( ! empty( $dest[ 'class' ] ) ) add_action( 'wp_ajax_backwpup_dest_' . strtolower( $id ), array( BackWPup::get_destination( $id ), 'edit_ajax' ) ); } } } //display about page after Update if ( ! defined( 'DOING_AJAX' ) && ! get_site_option( 'backwpup_about_page', FALSE ) && ! isset( $_GET['activate-multi'] ) ) { update_site_option( 'backwpup_about_page', TRUE ); wp_redirect( network_admin_url( 'admin.php' ) . '?page=backwpupabout' ); exit(); } } /** * Admin init function */ public static function admin_css() { //register js and css for BackWPup if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) { wp_enqueue_style( 'backwpup', BackWPup::get_plugin_data( 'URL' ) . '/assets/css/backwpup.css', array(), time(), 'screen' ); if ( version_compare( BackWPup::get_plugin_data( 'wp_version' ), '3.8-beta-1', '<' ) ) { wp_enqueue_style( 'backwpup-wplt38', BackWPup::get_plugin_data( 'URL' ) . '/assets/css/lower_wp38.css', array( 'backwpup' ), time(), 'screen' ); } } else { wp_enqueue_style( 'backwpup', BackWPup::get_plugin_data( 'URL' ) . '/assets/css/backwpup.min.css', array(), BackWPup::get_plugin_data( 'Version' ), 'screen' ); if ( version_compare( BackWPup::get_plugin_data( 'wp_version' ), '3.8-beta-1', '<' ) ) { wp_enqueue_style( 'backwpup-wplt38', BackWPup::get_plugin_data( 'URL' ) . '/assets/css/lower_wp38.min.css', array( 'backwpup' ), BackWPup::get_plugin_data( 'Version' ), 'screen' ); } } } /** * * Add Links in Plugins Menu to BackWPup * * @param $links * @param $file * @return array */ public function plugin_links( $links, $file ) { if ( $file == plugin_basename( BackWPup::get_plugin_data( 'MainFile' ) ) ) { $links[ ] = '' . __( 'Documentation', 'backwpup' ) . ''; if ( class_exists( 'BackWPup_Pro', FALSE ) ) $links[ ] = '' . __( 'Pro Support', 'backwpup' ) . ''; else $links[ ] = '' . __( 'Support', 'backwpup' ) . ''; } return $links; } /** * Add menu entries */ public function admin_menu() { add_menu_page( BackWPup::get_plugin_data( 'name' ), BackWPup::get_plugin_data( 'name' ), 'backwpup', 'backwpup', array( 'BackWPup_Page_Backwpup', 'page' ), 'div' ); $this->page_hooks[ 'backwpup' ] = add_submenu_page( 'backwpup', __( 'BackWPup Dashboard', 'backwpup' ), __( 'Dashboard', 'backwpup' ), 'backwpup', 'backwpup', array( 'BackWPup_Page_Backwpup', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpup' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpup' ], array( 'BackWPup_Page_Backwpup', 'load' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpup' ], array( 'BackWPup_Page_Backwpup', 'admin_print_scripts' ) ); //Add pages form plugins $this->page_hooks = apply_filters( 'backwpup_admin_pages' ,$this->page_hooks ); } /** * @param $page_hooks * @return mixed */ public function admin_page_jobs( $page_hooks ) { $this->page_hooks[ 'backwpupjobs' ] = add_submenu_page( 'backwpup', __( 'Jobs', 'backwpup' ), __( 'Jobs', 'backwpup' ), 'backwpup_jobs', 'backwpupjobs', array( 'BackWPup_Page_Jobs', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupjobs' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupjobs' ], array( 'BackWPup_Page_Jobs', 'load' ) ); add_action( 'admin_print_styles-' . $this->page_hooks[ 'backwpupjobs' ], array( 'BackWPup_Page_Jobs', 'admin_print_styles' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpupjobs' ], array( 'BackWPup_Page_Jobs', 'admin_print_scripts' ) ); return $page_hooks; } /** * @param $page_hooks * @return mixed */ public function admin_page_editjob( $page_hooks ) { $this->page_hooks[ 'backwpupeditjob' ] = add_submenu_page( 'backwpup', __( 'Add new job', 'backwpup' ), __( 'Add new job', 'backwpup' ), 'backwpup_jobs_edit', 'backwpupeditjob', array( 'BackWPup_Page_Editjob', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupeditjob' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupeditjob' ], array( 'BackWPup_Page_Editjob', 'auth' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupeditjob' ], array( 'BackWPup_Page_Editjob', 'load' ) ); add_action( 'admin_print_styles-' . $this->page_hooks[ 'backwpupeditjob' ], array( 'BackWPup_Page_Editjob', 'admin_print_styles' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpupeditjob' ], array( 'BackWPup_Page_Editjob', 'admin_print_scripts' ) ); return $page_hooks; } /** * @param $page_hooks * @return mixed */ public function admin_page_logs( $page_hooks ) { $this->page_hooks[ 'backwpuplogs' ] = add_submenu_page( 'backwpup', __( 'Logs', 'backwpup' ), __( 'Logs', 'backwpup' ), 'backwpup_logs', 'backwpuplogs', array( 'BackWPup_Page_Logs', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpuplogs' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpuplogs' ], array( 'BackWPup_Page_Logs', 'load' ) ); add_action( 'admin_print_styles-' . $this->page_hooks[ 'backwpuplogs' ], array( 'BackWPup_Page_Logs', 'admin_print_styles' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpuplogs' ], array( 'BackWPup_Page_Logs', 'admin_print_scripts' ) ); return $page_hooks; } /** * @param $page_hooks * @return mixed */ public function admin_page_backups( $page_hooks ) { $this->page_hooks[ 'backwpupbackups' ] = add_submenu_page( 'backwpup', __( 'Backups', 'backwpup' ), __( 'Backups', 'backwpup' ), 'backwpup_backups', 'backwpupbackups', array( 'BackWPup_Page_Backups', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupbackups' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupbackups' ], array( 'BackWPup_Page_Backups', 'load' ) ); add_action( 'admin_print_styles-' . $this->page_hooks[ 'backwpupbackups' ], array( 'BackWPup_Page_Backups', 'admin_print_styles' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpupbackups' ], array( 'BackWPup_Page_Backups', 'admin_print_scripts' ) ); return $page_hooks; } /** * @param $page_hooks * @return mixed */ public function admin_page_settings( $page_hooks ) { $this->page_hooks[ 'backwpupsettings' ] = add_submenu_page( 'backwpup', __( 'Settings', 'backwpup' ), __( 'Settings', 'backwpup' ), 'backwpup_settings', 'backwpupsettings', array( 'BackWPup_Page_Settings', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupsettings' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpupsettings' ], array( 'BackWPup_Page_Settings', 'admin_print_scripts' ) ); return $page_hooks; } /** * @param $page_hooks * @return mixed */ public function admin_page_about( $page_hooks ) { $this->page_hooks[ 'backwpupabout' ] = add_submenu_page( 'backwpup', __( 'About', 'backwpup' ), __( 'About', 'backwpup' ), 'backwpup', 'backwpupabout', array( 'BackWPup_Page_About', 'page' ) ); add_action( 'load-' . $this->page_hooks[ 'backwpupabout' ], array( 'BackWPup_Admin', 'init_generel' ) ); add_action( 'admin_print_styles-' . $this->page_hooks[ 'backwpupabout' ], array( 'BackWPup_Page_About', 'admin_print_styles' ) ); add_action( 'admin_print_scripts-' . $this->page_hooks[ 'backwpupabout' ], array( 'BackWPup_Page_About', 'admin_print_scripts' ) ); return $page_hooks; } /** * Load for all BackWPup pages */ public static function init_generel() { add_thickbox(); //register js and css for BackWPup if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) { wp_register_script( 'backwpuptiptip', BackWPup::get_plugin_data( 'URL' ) . '/assets/js/jquery.tipTip.js', array( 'jquery' ), '1.3.1', TRUE ); wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/assets/js/general.js', array( 'jquery', 'backwpuptiptip' ), time(), TRUE ); } else { wp_register_script( 'backwpuptiptip', BackWPup::get_plugin_data( 'URL' ) . '/assets/js/jquery.tipTip.min.js', array( 'jquery' ), '1.3.1', TRUE ); wp_register_script( 'backwpupgeneral', BackWPup::get_plugin_data( 'URL' ) . '/assets/js/general.min.js', array( 'jquery', 'backwpuptiptip' ), BackWPup::get_plugin_data( 'Version' ), TRUE ); } //add Help BackWPup_Help::help(); } /** * Called on save form. Only POST allowed. */ public function save_post_form() { //Allowed Pages if ( ! in_array( $_POST[ 'page' ], array ( 'backwpupeditjob', 'backwpupinformation', 'backwpupsettings' ) ) ) wp_die( __( 'Cheating, huh?', 'backwpup' ) ); //nonce check check_admin_referer( $_POST[ 'page' ] . '_page' ); if ( ! current_user_can( 'backwpup' ) ) wp_die( __( 'Cheating, huh?', 'backwpup' ) ); //build query for redirect if ( ! isset( $_POST[ 'anchor' ] ) ) $_POST[ 'anchor' ] = NULL; $query_args=array(); if ( isset( $_POST[ 'page' ] ) ) $query_args[ 'page' ] = $_POST[ 'page' ]; if ( isset( $_POST[ 'tab' ] ) ) $query_args[ 'tab' ] = $_POST[ 'tab' ]; if ( isset( $_POST[ 'tab' ] ) && isset( $_POST[ 'nexttab' ] ) && $_POST[ 'tab' ] != $_POST[ 'nexttab' ] ) $query_args[ 'tab' ] = $_POST[ 'nexttab' ]; $jobid = NULL; if ( isset( $_POST[ 'jobid' ] ) ) { $jobid = (int) $_POST[ 'jobid' ]; $query_args[ 'jobid' ] = $jobid; } //Call method to save data if ( $_POST[ 'page' ] == 'backwpupeditjob' ) BackWPup_Page_Editjob::save_post_form( $_POST[ 'tab' ], $jobid ); elseif ( $_POST[ 'page' ] == 'backwpupsettings' ) { BackWPup_Page_Settings::save_post_form(); } //Back to topic wp_safe_redirect( add_query_arg( $query_args, network_admin_url( 'admin.php' ) ) . $_POST[ 'anchor' ] ); exit; } /** * Add Message (across site loadings) * * @param $message string Message test * @param $error bool ist it a error message */ public static function message( $message, $error = FALSE ) { $saved_message = self::get_messages(); if ( $error ) $saved_message[ 'error' ][] = $message; else $saved_message[ 'updated' ][] = $message; update_site_option( 'backwpup_messages', $saved_message ); } /** * Get all Message that not displayed * * @return array */ public static function get_messages() { return get_site_option( 'backwpup_messages', array() ); } /** * Display Messages * * @param bool $echo * @return string */ public static function display_messages( $echo = TRUE ) { $message_updated= ''; $message_error = ''; $saved_message = self::get_messages(); $message_id = ' id="message"'; if( empty( $saved_message ) ) return ''; if ( ! empty( $saved_message[ 'updated' ] ) ) { foreach( $saved_message[ 'updated' ] as $msg ) $message_updated .= '
' . $msg . '
'; } if ( ! empty( $saved_message[ 'error' ] ) ) { foreach( $saved_message[ 'error' ] as $msg ) $message_error .= '' . $msg . '
'; } update_site_option( 'backwpup_messages', array() ); if ( ! empty( $message_updated ) ) { $message_updated = '|
|
' .sprintf( __( 'Important: before installing this plugin, please back up your database and files with %2$s.', 'backwpup' ), network_admin_url( 'admin.php?page=backwpupjobs' ), BackWPup::get_plugin_data( 'name' ) ); if ( strstr( $text, 'This plugin has not been marked as compatible with your version of WordPress.' ) ) return $translations . '
' .sprintf( __( 'Important: before installing this plugin, please back up your database and files with %2$s.', 'backwpup' ), network_admin_url( 'admin.php?page=backwpupjobs' ), BackWPup::get_plugin_data( 'name' ) );
return $translations;
}
/**
* Filter BackWPup roles from displaying in normal WP roles selection
*
* @param $all_roles
* @return mixed
*/
public function editable_roles( $all_roles ) {
foreach( $all_roles AS $key => $role ) {
if ( substr( $key, 0, 8 ) == 'backwpup' )
unset( $all_roles[$key] );
}
return $all_roles;
}
/**
* Add column for displaying BAckWPup user role
*
* @param $columns
* @return mixed
*/
public function manage_users_columns( $columns ) {
$columns[ 'backwpup_role' ] = __( 'BackWPup Role', 'backwpup' );
return $columns;
}
/**
* Display BackWPup user role in column
*
* @param $value
* @param $column_name
* @param $user_id
* @return string
*/
public function manage_users_custom_column( $value, $column_name, $user_id ) {
global $wp_roles;
if ( 'backwpup_role' != $column_name )
return $value;
$user = get_userdata( $user_id );
foreach ( $user->roles as $role ) {
if ( substr( $role, 0, 8 ) == 'backwpup' ) {
$value .= $wp_roles->roles[ $role ][ 'name' ]. '
';
}
}
return $value;
}
}