prefix = '_adminify_rollback';
$this->pxlbsadminify_rollback_options();
add_action( 'admin_enqueue_scripts', [ $this, 'pxlbsadminify_rollback_enqueue_scripts' ] );
}
public function get_defaults() {
return [
'adminify_rollback' => '',
];
}
/**
* Scripts/Styles
*/
public function pxlbsadminify_rollback_enqueue_scripts() {
global $pagenow;
// Load Scripts/Styles only WP Adminify Custom CSS/JS Page
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
if ( ! empty( $_GET['page'] ) && ( 'admin.php' === $pagenow ) && ( 'adminify-rollback-version' === sanitize_key( wp_unslash( $_GET['page'] ) ) ) ) {
$this->version_rollback_admin_script();
}
}
public function version_rollback_admin_script() {
$rollback_custom_admin_styles = '.adminify-rollback-version .adminify-container{ max-width:60%; margin:0 auto;} .adminify-rollback-version .adminify-header{display:none ;}
.adminify-rollback-version .adminify-header-inner{padding:0;}.adminify-rollback-version .adminify-field-subheading{font-size:20px; padding-left:0;} .adminify-rollback-version .adminify-nav,.adminify-rollback-version .adminify-search,.adminify-rollback-version .adminify-footer,.adminify-rollback-version .adminify-reset-all,.adminify-rollback-version .adminify-expand-all,.adminify-rollback-version .adminify-header-left,.adminify-rollback-version .adminify-reset-section,.adminify-rollback-version .adminify-nav-background{display: none !important;}.adminify-rollback-version .adminify-nav-normal + .adminify-content{margin-left: 0;}
/* If needed for white top-bar */
.adminify-rollback-version .adminify-header-inner {
background-color: #fafafa !important;
border-bottom: 1px solid #f5f5f5;
}
.adminify-rollback-version .adminify-field-callback a.dashicons{ width: inherit; }';
echo '';
}
public static function pxlbsadminify_rollback_contents() { ?>
';
$ger_versions = Adminify_Rollback::get_instance();
foreach ( $ger_versions->get_rollback_versions() as $version ) {
$rollback_html .= "
";
}
$rollback_html .= '';
echo Utils::kses_custom( $rollback_html ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- kses_custom() is a wp_kses() wrapper; output already escaped.
echo sprintf(
wp_kses_post( '
%3$s' ),
esc_html__( 'Reinstall', 'adminify' ) . ' v' . esc_html( PXLBSADMINIFY_VER ),
esc_url( wp_nonce_url( admin_url( 'admin-post.php?action=pxlbsadminify_rollback_version&version=VERSION' ), 'pxlbsadminify_rollback_version' ) ),
esc_html__( 'Reinstall', 'adminify' )
);
?>
'subheading',
'content' => Utils::help_urls(
__( 'Rollback to Previous Version', 'adminify' ),
'https://wpadminify.com/kb/version-rollback/',
'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
'https://www.facebook.com/groups/jeweltheme',
\PXLBSAdminify\Inc\Admin\AdminSettings::support_url()
),
];
$fields[] = [
'type' => 'submessage',
'style' => 'info',
/* translators: %1$s: plugin name, %2$s: plugin version */
'content' => '' . sprintf( __( 'Experiencing an issue with %1$s v%2$s? Rollback to a previous version before the issue appeared.', 'adminify' ), esc_html( PXLBSADMINIFY ), esc_html( PXLBSADMINIFY_VER ) ) . '',
];
$fields[] = [
'id' => 'adminify_rollback',
'type' => 'callback',
'function' => '\PXLBSAdminify\Inc\Admin\Options\RollbackVersion::pxlbsadminify_rollback_contents',
];
}
public function pxlbsadminify_rollback_options() {
if ( ! class_exists( 'ADMINIFY' ) ) {
return;
}
// WP Adminify Custom Header & Footer Options
\ADMINIFY::createOptions(
$this->prefix,
[
// Framework Title
'framework_title' => __( 'Rollback Version for Adminify', 'adminify' ),
'framework_class' => 'adminify-rollback-version',
// menu settings
'menu_title' => __( 'Rollback Version', 'adminify' ),
'menu_slug' => 'adminify-rollback-version',
'menu_type' => 'submenu', // menu, submenu, options, theme, etc.
'menu_capability' => 'manage_options',
'menu_icon' => '',
'menu_position' => 54,
'menu_hidden' => false,
'menu_parent' => 'wp-adminify-settings',
// footer
'footer_text' => ' ',
'footer_after' => ' ',
'footer_credit' => ' ',
// menu extras
'show_bar_menu' => false,
'show_sub_menu' => false,
'show_in_network' => true,
'show_in_customizer' => false,
'show_search' => false,
'show_reset_all' => false,
'show_reset_section' => false,
'show_header' => false,
'show_footer' => false,
'show_all_options' => false,
'show_form_warning' => false,
'sticky_header' => false,
'save_defaults' => false,
'ajax_save' => false,
// admin bar menu settings
'admin_bar_menu_icon' => '',
'admin_bar_menu_priority' => 45,
// database model
'database' => 'network', // options, transient, theme_mod, network(multisite support)
'transient_time' => 0,
// typography options
'enqueue_webfont' => false,
'async_webfont' => false,
// others
'output_css' => false,
// theme and wrapper classname
'nav' => 'normal',
'theme' => 'dark',
'class' => 'wp-adminify-rollback',
]
);
$fields = [];
$this->pxlbsadminify_rollback_fields( $fields );
// Rollback Section
\ADMINIFY::createSection(
$this->prefix,
[
'title' => __( 'Rollback Version', 'adminify' ),
'icon' => 'fas fa-layer-group',
'fields' => $fields,
]
);
}
}