PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.9
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.9
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 / Modules / LoginCustomizer / LoginCustomizer.php

LoginCustomizer.php in Adminify – White Label, Admin Menu Editor, Login Customizer 2.0.9, at Inc/Modules/LoginCustomizer/LoginCustomizer.php

244 lines 8.5 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\Modules\LoginCustomizer;
4
5 use WPAdminify\Inc\Modules\LoginCustomizer\Inc\Customize_Settings;
6 use WPAdminify\Inc\Modules\LoginCustomizer\Inc\Output_Customization;
7 use WPAdminify\Inc\Base_Model;
8
9 // no direct access allowed
10 if (!defined('ABSPATH')) exit;
11
12 /**
13 * WP Adminify
14 * Module: Login Customizer
15 *
16 * @author Jewel Theme <support@jeweltheme.com>
17 */
18
19 if (!class_exists('LoginCustomizer')) {
20
21 class LoginCustomizer
22 {
23
24 public $script_suffix;
25
26 public $options;
27
28 public $url = WP_ADMINIFY_URL . 'Inc/Modules/LoginCustomizer';
29
30 public function __construct()
31 {
32
33 $this->url = WP_ADMINIFY_URL . 'Inc/Modules/LoginCustomizer';
34
35 $this->script_suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
36
37 $this->_hooks();
38
39 $this->options = (new \WPAdminify\Inc\Modules\LoginCustomizer\Inc\Customize_Settings())->get();
40
41 // Customizer Output CSS
42 new Output_Customization();
43 }
44
45 /**
46 * Hooks
47 */
48 public function _hooks()
49 {
50
51 add_action('admin_menu', [$this, 'jltwp_adminify_login_customizer_submenu'], 50);
52 // add_action('network_admin_menu', [$this, 'jltwp_adminify_login_customizer_submenu'], 50);
53
54 add_action('admin_init', [$this, 'jltwp_adminify_redirect_customizer']);
55
56 // Setup customizer.
57 add_action('customize_register', [$this, 'jltwp_adminify_register_panels']);
58 add_action('customize_register', [$this, 'jltwp_adminify_register_sections']);
59
60
61 // Enqueue assets.
62 add_action('customize_controls_print_styles', [$this, 'jltwp_adminify_control_styles'], 9999);
63 add_action('customize_controls_enqueue_scripts', [$this, 'jltwp_adminify_control_scripts'], 9999);
64 add_action('login_enqueue_scripts', [$this, 'jltwp_adminify_preview_styles'], 99);
65 add_action('customize_preview_init', [$this, 'jltwp_adminify_preview_scripts'], 99);
66
67 // Setup redirect.
68 add_filter('template_include', [$this, 'jltwp_adminify_template_include'], 99);
69
70 // Templates Ajax
71 add_action('wp_ajax_jltwp_adminify_adminify_presets', [$this, 'jltwp_adminify_templates']);
72 }
73
74
75 // Template Include
76 public function jltwp_adminify_template_include($template)
77 {
78 if (is_customize_preview() && isset($_REQUEST['wp-adminify-login-customizer']) && is_user_logged_in()) {
79 return plugin_dir_path(__FILE__) . 'Inc/wp-adminify-login-template.php';
80 }
81
82 return $template;
83 }
84
85
86 /**
87 * Enqueue the login customizer control styles.
88 */
89 public function jltwp_adminify_control_styles()
90 {
91
92
93 wp_enqueue_script('wp-adminify-login-customizer', $this->url . '/assets/js/adminify-customizer.js', ['jquery', 'customize-controls'], WP_ADMINIFY_VER, true);
94 wp_localize_script('wp-adminify-login-customizer', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
95 }
96
97 /**
98 * Enqueue styles to login customizer preview styles.
99 */
100 public function jltwp_adminify_preview_styles()
101 {
102
103 if (!is_customize_preview()) {
104 return;
105 }
106
107 wp_enqueue_style('wp-adminify-login-customizer-preview', $this->url . '/assets/css/preview.css', array(), WP_ADMINIFY_VER, 'all');
108 }
109
110 /**
111 * Enqueue scripts to login customizer preview scripts.
112 */
113 public function jltwp_adminify_preview_scripts()
114 {
115
116 if (!is_customize_preview()) {
117 return;
118 }
119 wp_enqueue_script('wp-adminify-login-customizer-preview', $this->url . '/assets/js/preview.js', ['jquery', 'customize-preview'], WP_ADMINIFY_VER, true);
120 wp_localize_script('wp-adminify-login-customizer-preview', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
121 }
122 /**
123 * Enqueue login customizer control scripts.
124 */
125 public function jltwp_adminify_control_scripts()
126 {
127 wp_enqueue_style('wp-adminify-login-customizer-controls');
128 wp_enqueue_script('wp-adminify-login-customizer', $this->url . '/assets/js/adminify-customizer.js', ['jquery', 'customize-controls'], WP_ADMINIFY_VER, true);
129 wp_localize_script('wp-adminify-login-customizer', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
130 }
131
132 /**
133 * Login customizer's localized JS object.
134 *
135 * @return array The login customizer's localized JS object.
136 */
137 public function jltwp_adminify_create_js_object()
138 {
139 return array(
140 'homeUrl' => home_url(),
141 'ajaxurl' => admin_url('admin-ajax.php'),
142 'loginPageUrl' => home_url('wp-adminify-login-customizer'),
143 'pluginUrl' => rtrim(WP_ADMINIFY_URL, '/'),
144 'login_template' => $this->options['templates'],
145 'moduleUrl' => $this->url,
146 'assetUrl' => $this->url . '/assets/',
147 'preset_nonce' => wp_create_nonce('wp-adminify-login-customizer-template-nonce'),
148 'wpLogoUrl' => admin_url('images/wordpress-logo.svg?ver=' . WP_ADMINIFY_VER),
149 'siteurl' => get_option('siteurl'),
150 'register_url' => wp_registration_url(),
151 'filter_bg' => apply_filters('adminify_logincustomizer_bg', ''),
152 'preset_loader' => includes_url('js/tinymce/skins/lightgray/img/loader.gif'),
153 'isProActive' => jltwp_adminify()->can_use_premium_code__premium_only() ? true : false
154 );
155 }
156
157
158 // Template Selection
159 public function jltwp_adminify_templates()
160 {
161 check_ajax_referer('wp-adminify-login-customizer-template-nonce', 'security');
162
163 if (!current_user_can('manage_options')) {
164 wp_die('No cheating, huh!');
165 }
166
167 $selected_template = $_POST['template_id'];
168 if ($selected_template == 'template-01') {
169 include_once plugin_dir_path(__FILE__) . 'Inc/templates/template-01.php';
170 } else {
171 do_action('wp_adminify_add_templates', $selected_template);
172 }
173 wp_die();
174 }
175
176
177 /**
178 * Customizer Redirect
179 *
180 */
181 public function jltwp_adminify_redirect_customizer()
182 {
183
184 if (!empty($_GET['page'])) {
185 if ('wp-adminify-settings-login-customizer' === $_GET['page']) {
186 // Redirect URL
187 $url = add_query_arg(
188 array(
189 'autofocus[panel]' => 'jltwp_adminify_panel',
190 ),
191 admin_url('customize.php')
192 );
193
194 wp_safe_redirect($url);
195 }
196 }
197 }
198
199
200 /**
201 * Login Customizer Submenu
202 */
203 public function jltwp_adminify_login_customizer_submenu()
204 {
205 add_submenu_page(
206 'wp-adminify-settings',
207 esc_html__('Login Customizer', 'adminify'),
208 esc_html__('Login Customizer', 'adminify'),
209 apply_filters('jltwp_adminify_capability', 'manage_options'),
210 admin_url('customize.php?autofocus[panel]=jltwp_adminify_panel')
211 );
212 }
213
214
215 /**
216 * Register Panels
217 */
218 public function jltwp_adminify_register_panels($wp_customize)
219 {
220 $wp_customize->add_panel(
221 'jltwp_adminify_panel',
222 array(
223 'title' => __('Login Customizer - WP Adminify', 'adminify'),
224 'description' => __('Customize Your WordPress Login Page with WP Adminify :)', 'adminify'),
225 'capability' => apply_filters('jltwp_adminify_capability', 'manage_options'),
226 'priority' => 10,
227 )
228 );
229 }
230
231 /**
232 * Login Customizer Sections
233 *
234 * @param [type] $wp_customize
235 *
236 * @return void
237 */
238 public function jltwp_adminify_register_sections($wp_customize)
239 {
240 jltwp_adminify_sections($wp_customize);
241 }
242 }
243 }
244