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

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