PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.1
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / Admin / Options / RollbackVersion.php

RollbackVersion.php in Adminify – White Label, Admin Menu Editor, Login Customizer 3.2.1, at Inc/Admin/Options/RollbackVersion.php

224 lines 7.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify\Inc\Admin\Options;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Classes\Adminify_Rollback;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 die;
10 } // Cannot access directly.
11
12 class RollbackVersion {
13
14 private $prefix;
15 public function __construct() {
16 if ( is_multisite() && ! is_network_admin() ) {
17 return; // only display to network admin if multisite is enbaled
18 }
19
20 $this->prefix = '_adminify_rollback';
21 $this->jltwp_adminify_rollback_options();
22
23 add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_rollback_enqueue_scripts' ] );
24 }
25
26 public function get_defaults() {
27 return [
28 'adminify_rollback' => '',
29 ];
30 }
31
32 /**
33 * Scripts/Styles
34 */
35 public function jltwp_adminify_rollback_enqueue_scripts() {
36 global $pagenow;
37
38 // Load Scripts/Styles only WP Adminify Custom CSS/JS Page
39 if ( ! empty( $_GET['page'] ) && ( 'admin.php' === $pagenow ) && ( 'adminify-rollback-version' === $_GET['page'] ) ) {
40 $this->version_rollback_admin_script();
41 }
42 }
43
44
45 public function version_rollback_admin_script() {
46 $rollback_custom_admin_styles = '.adminify-rollback-version .adminify-container{ max-width:60%; margin:0 auto;} .adminify-rollback-version .adminify-header{display:none ;}
47 .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;}
48 /* If needed for white top-bar */
49 .adminify-rollback-version .adminify-header-inner {
50 background-color: #fafafa !important;
51 border-bottom: 1px solid #f5f5f5;
52 }
53 .adminify-rollback-version .adminify-field-callback a.dashicons{ width: inherit; }';
54
55 echo '<style>' . wp_strip_all_tags( $rollback_custom_admin_styles ) . '</style>';
56 }
57
58
59 public static function jltwp_adminify_rollback_contents() { ?>
60
61 <div class="border border-muted">
62
63 <h3><?php echo esc_html__( 'Rollback Version', 'adminify' ); ?></h3>
64
65
66 <?php
67 $rollback_html = '<select class="wp-adminify-rollback-select">';
68 $ger_versions = Adminify_Rollback::get_instance();
69
70 foreach ( $ger_versions->get_rollback_versions() as $version ) {
71 $rollback_html .= "<option value='{$version}'>$version</option>";
72 }
73 $rollback_html .= '</select>';
74 echo Utils::wp_kses_custom( $rollback_html );
75
76 echo sprintf(
77 wp_kses_post( '<a data-placeholder-text="%1$s" href="#" data-placeholder-url="%2$s" class="button button-primary wp-adminify-btn wp-adminify-rollback-button dashicons dashicons-update-alt ml-2">%3$s</a>' ),
78 esc_html__( 'Reinstall', WP_ADMINIFY_VER ) . ' v' . esc_html( VERSION ),
79 esc_url_raw( wp_nonce_url( admin_url( 'admin-post.php?action=wp_adminify_rollback_version&version=VERSION' ), 'wp_adminify_rollback_version' ) ),
80 esc_html__( 'Reinstall', WP_ADMINIFY_VER )
81 );
82 ?>
83 <p class="wp-adminify-roll-desc pt-2 has-text-danger">
84 <?php echo esc_html__( 'Warning: Please backup your database before making the rollback.', 'adminify' ); ?>
85 </p>
86 </div>
87
88
89 <div class="wp-adminify--popup-area is-flex is-align-items-center is-justify-content-center">
90 <div class="wp-adminify--popup-container has-text-centered">
91 <div class="wp-adminify--popup-container_inner pt-6 pb-6">
92 <div class="wp-adminify-popup-header">
93 <?php echo esc_html__( 'Rollback to Previous Version', 'adminify' ); ?>
94 </div>
95 <div class="wp-adminify-dialog-message wp-adminify-dialog-confirm-message slow">
96 <?php echo esc_html__( 'Are you sure you want to reinstall previous version?', 'adminify' ); ?>
97 </div>
98 <div class="wp-adminify-dialog-buttons-wrapper wp-adminify-dialog-confirm-buttons-wrapper mt-5">
99 <button class="wp-adminify-dialog-button button-secondary wp-adminify-dialog-cancel wp-adminify-dialog-confirm-cancel">
100 <?php echo esc_html__( 'Cancel', 'adminify' ); ?>
101 </button>
102 <button class="wp-adminify-dialog-button button-primary wp-adminify-dialog-ok wp-adminify-dialog-confirm-ok">
103 <?php echo esc_html__( 'Continue', 'adminify' ); ?>
104 </button>
105 </div>
106 </div>
107 </div>
108 </div>
109
110
111
112
113 <?php
114 }
115
116
117 public function jltwp_adminify_rollback_fields( &$fields ) {
118 $fields[] = [
119 'type' => 'subheading',
120 'content' => Utils::adminfiy_help_urls(
121 __( 'Rollback to Previous Version', 'adminify' ),
122 'https://wpadminify.com/kb/version-rollback/',
123 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
124 'https://www.facebook.com/groups/jeweltheme',
125 'https://wpadminify.com/support/'
126 ),
127 ];
128
129 $fields[] = [
130 'type' => 'submessage',
131 'style' => 'info',
132 'content' => sprintf( __( '<strong>Experiencing an issue with %1$s <em>v%2$s</em>? Rollback to a previous version before the issue appeared.</strong>', 'adminify' ), esc_html( WP_ADMINIFY ), esc_html( WP_ADMINIFY_VER ) ),
133 ];
134
135 $fields[] = [
136 'id' => 'adminify_rollback',
137 'type' => 'callback',
138 'function' => '\WPAdminify\Inc\Admin\Options\RollbackVersion::jltwp_adminify_rollback_contents',
139 ];
140 }
141
142 public function jltwp_adminify_rollback_options() {
143 if ( ! class_exists( 'ADMINIFY' ) ) {
144 return;
145 }
146
147 // WP Adminify Custom Header & Footer Options
148 \ADMINIFY::createOptions(
149 $this->prefix,
150 [
151
152 // Framework Title
153 'framework_title' => __( 'Rollback Version <small>for WP Adminify</small>', 'adminify' ),
154 'framework_class' => 'adminify-rollback-version',
155
156 // menu settings
157 'menu_title' => __( 'Rollback Version', 'adminify' ),
158 'menu_slug' => 'adminify-rollback-version',
159 'menu_type' => 'submenu', // menu, submenu, options, theme, etc.
160 'menu_capability' => 'manage_options',
161 'menu_icon' => '',
162 'menu_position' => 54,
163 'menu_hidden' => false,
164 'menu_parent' => 'wp-adminify-settings',
165
166 // footer
167 'footer_text' => ' ',
168 'footer_after' => ' ',
169 'footer_credit' => ' ',
170
171 // menu extras
172 'show_bar_menu' => false,
173 'show_sub_menu' => false,
174 'show_in_network' => true,
175 'show_in_customizer' => false,
176
177 'show_search' => false,
178 'show_reset_all' => false,
179 'show_reset_section' => false,
180 'show_header' => false,
181 'show_footer' => false,
182 'show_all_options' => false,
183 'show_form_warning' => false,
184 'sticky_header' => false,
185 'save_defaults' => false,
186 'ajax_save' => false,
187
188 // admin bar menu settings
189 'admin_bar_menu_icon' => '',
190 'admin_bar_menu_priority' => 45,
191
192 // database model
193 'database' => 'network', // options, transient, theme_mod, network(multisite support)
194 'transient_time' => 0,
195
196 // typography options
197 'enqueue_webfont' => false,
198 'async_webfont' => false,
199
200 // others
201 'output_css' => false,
202
203 // theme and wrapper classname
204 'nav' => 'normal',
205 'theme' => 'dark',
206 'class' => 'wp-adminify-rollback',
207 ]
208 );
209
210 $fields = [];
211 $this->jltwp_adminify_rollback_fields( $fields );
212
213 // Rollback Section
214 \ADMINIFY::createSection(
215 $this->prefix,
216 [
217 'title' => __( 'Rollback Version', 'adminify' ),
218 'icon' => 'fas fa-layer-group',
219 'fields' => $fields,
220 ]
221 );
222 }
223 }
224