PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.4
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.4
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 2.0.4, at Inc/Admin/Options/RollbackVersion.php

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