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 / lib / adminify-framework / functions / actions.php

actions.php in Adminify – White Label, Admin Menu Editor, Login Customizer 1.0.5, at lib/adminify-framework/functions/actions.php

191 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access directly.
2 /**
3 *
4 * Get icons from admin ajax
5 *
6 * @since 1.0.0
7 * @version 1.0.0
8 *
9 */
10 if ( ! function_exists( 'adminify_get_icons' ) ) {
11 function adminify_get_icons() {
12
13 $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
14
15 if ( ! wp_verify_nonce( $nonce, 'adminify_icon_nonce' ) ) {
16 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'adminify' ) ) );
17 }
18
19 ob_start();
20
21 $icon_library = ( apply_filters( 'adminify_fa4', false ) ) ? 'fa4' : 'fa5';
22
23 ADMINIFY::include_plugin_file( 'fields/icon/'. $icon_library .'-icons.php' );
24
25 $icon_lists = apply_filters( 'adminify_field_icon_add_icons', adminify_get_default_icons() );
26
27 if ( ! empty( $icon_lists ) ) {
28
29 foreach ( $icon_lists as $list ) {
30
31 echo ( count( $icon_lists ) >= 2 ) ? '<div class="adminify-icon-title">'. esc_attr( $list['title'] ) .'</div>' : '';
32
33 foreach ( $list['icons'] as $icon ) {
34 echo '<i title="'. esc_attr( $icon ) .'" class="'. esc_attr( $icon ) .'"></i>';
35 }
36
37 }
38
39 } else {
40
41 echo '<div class="adminify-error-text">'. esc_html__( 'No data available.', 'adminify' ) .'</div>';
42
43 }
44
45 $content = ob_get_clean();
46
47 wp_send_json_success( array( 'content' => $content ) );
48
49 }
50 add_action( 'wp_ajax_adminify-get-icons', 'adminify_get_icons' );
51 }
52
53 /**
54 *
55 * Export
56 *
57 * @since 1.0.0
58 * @version 1.0.0
59 *
60 */
61 if ( ! function_exists( 'adminify_export' ) ) {
62 function adminify_export() {
63
64 $nonce = ( ! empty( $_GET[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'nonce' ] ) ) : '';
65 $unique = ( ! empty( $_GET[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_GET[ 'unique' ] ) ) : '';
66
67 if ( ! wp_verify_nonce( $nonce, 'adminify_backup_nonce' ) ) {
68 die( esc_html__( 'Error: Invalid nonce verification.', 'adminify' ) );
69 }
70
71 if ( empty( $unique ) ) {
72 die( esc_html__( 'Error: Invalid key.', 'adminify' ) );
73 }
74
75 // Export
76 header('Content-Type: application/json');
77 header('Content-disposition: attachment; filename=backup-'. gmdate( 'd-m-Y' ) .'.json');
78 header('Content-Transfer-Encoding: binary');
79 header('Pragma: no-cache');
80 header('Expires: 0');
81
82 echo json_encode( get_option( $unique ) );
83
84 die();
85
86 }
87 add_action( 'wp_ajax_adminify-export', 'adminify_export' );
88 }
89
90 /**
91 *
92 * Import Ajax
93 *
94 * @since 1.0.0
95 * @version 1.0.0
96 *
97 */
98 if ( ! function_exists( 'adminify_import_ajax' ) ) {
99 function adminify_import_ajax() {
100
101 $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
102 $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
103 $data = ( ! empty( $_POST[ 'data' ] ) ) ? wp_kses_post_deep( json_decode( wp_unslash( trim( $_POST[ 'data' ] ) ), true ) ) : array();
104
105 if ( ! wp_verify_nonce( $nonce, 'adminify_backup_nonce' ) ) {
106 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'adminify' ) ) );
107 }
108
109 if ( empty( $unique ) ) {
110 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid key.', 'adminify' ) ) );
111 }
112
113 if ( empty( $data ) || ! is_array( $data ) ) {
114 wp_send_json_error( array( 'error' => esc_html__( 'Error: The response is not a valid JSON response.', 'adminify' ) ) );
115 }
116
117 // Success
118 update_option( $unique, $data );
119
120 wp_send_json_success();
121
122 }
123 add_action( 'wp_ajax_adminify-import', 'adminify_import_ajax' );
124 }
125
126 /**
127 *
128 * Reset Ajax
129 *
130 * @since 1.0.0
131 * @version 1.0.0
132 *
133 */
134 if ( ! function_exists( 'adminify_reset_ajax' ) ) {
135 function adminify_reset_ajax() {
136
137 $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
138 $unique = ( ! empty( $_POST[ 'unique' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'unique' ] ) ) : '';
139
140 if ( ! wp_verify_nonce( $nonce, 'adminify_backup_nonce' ) ) {
141 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'adminify' ) ) );
142 }
143
144 // Success
145 delete_option( $unique );
146
147 wp_send_json_success();
148
149 }
150 add_action( 'wp_ajax_adminify-reset', 'adminify_reset_ajax' );
151 }
152
153 /**
154 *
155 * Chosen Ajax
156 *
157 * @since 1.0.0
158 * @version 1.0.0
159 *
160 */
161 if ( ! function_exists( 'adminify_chosen_ajax' ) ) {
162 function adminify_chosen_ajax() {
163
164 $nonce = ( ! empty( $_POST[ 'nonce' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'nonce' ] ) ) : '';
165 $type = ( ! empty( $_POST[ 'type' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'type' ] ) ) : '';
166 $term = ( ! empty( $_POST[ 'term' ] ) ) ? sanitize_text_field( wp_unslash( $_POST[ 'term' ] ) ) : '';
167 $query = ( ! empty( $_POST[ 'query_args' ] ) ) ? wp_kses_post_deep( $_POST[ 'query_args' ] ) : array();
168
169 if ( ! wp_verify_nonce( $nonce, 'adminify_chosen_ajax_nonce' ) ) {
170 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid nonce verification.', 'adminify' ) ) );
171 }
172
173 if ( empty( $type ) || empty( $term ) ) {
174 wp_send_json_error( array( 'error' => esc_html__( 'Error: Invalid term ID.', 'adminify' ) ) );
175 }
176
177 $capability = apply_filters( 'adminify_chosen_ajax_capability', 'manage_options' );
178
179 if ( ! current_user_can( $capability ) ) {
180 wp_send_json_error( array( 'error' => esc_html__( 'Error: You do not have permission to do that.', 'adminify' ) ) );
181 }
182
183 // Success
184 $options = ADMINIFY_Fields::field_data( $type, $term, $query );
185
186 wp_send_json_success( $options );
187
188 }
189 add_action( 'wp_ajax_adminify-chosen', 'adminify_chosen_ajax' );
190 }
191