PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 1.0.3
Adminify – White Label, Admin Menu Editor, Login Customizer v1.0.3
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 1.0.3, at inc/Modules/LoginCustomizer/LoginCustomizer.php

246 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 $new_template = plugin_dir_path(__FILE__) . 'inc/wp-adminify-login-template.php';
80
81 return $new_template;
82 }
83
84 return $template;
85 }
86
87
88 /**
89 * Enqueue the login customizer control styles.
90 */
91 public function jltwp_adminify_control_styles()
92 {
93
94
95 wp_enqueue_script('wp-adminify-login-customizer', $this->url . '/assets/js/adminify-customizer.js', ['jquery', 'customize-controls'], WP_ADMINIFY_VER, true);
96 wp_localize_script('wp-adminify-login-customizer', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
97 }
98
99 /**
100 * Enqueue styles to login customizer preview styles.
101 */
102 public function jltwp_adminify_preview_styles()
103 {
104
105 if (!is_customize_preview()) {
106 return;
107 }
108
109 wp_enqueue_style('wp-adminify-login-customizer-preview', $this->url . '/assets/css/preview.css', array(), WP_ADMINIFY_VER, 'all');
110 }
111
112 /**
113 * Enqueue scripts to login customizer preview scripts.
114 */
115 public function jltwp_adminify_preview_scripts()
116 {
117
118 if (!is_customize_preview()) {
119 return;
120 }
121 wp_enqueue_script('wp-adminify-login-customizer-preview', $this->url . '/assets/js/preview.js', ['jquery', 'customize-preview'], WP_ADMINIFY_VER, true);
122 wp_localize_script('wp-adminify-login-customizer-preview', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
123 }
124 /**
125 * Enqueue login customizer control scripts.
126 */
127 public function jltwp_adminify_control_scripts()
128 {
129 wp_enqueue_style('wp-adminify-login-customizer-controls');
130 wp_enqueue_script('wp-adminify-login-customizer', $this->url . '/assets/js/adminify-customizer.js', ['jquery', 'customize-controls'], WP_ADMINIFY_VER, true);
131 wp_localize_script('wp-adminify-login-customizer', 'WPAdminifyLoginCustomizer', $this->jltwp_adminify_create_js_object());
132 }
133
134 /**
135 * Login customizer's localized JS object.
136 *
137 * @return array The login customizer's localized JS object.
138 */
139 public function jltwp_adminify_create_js_object()
140 {
141 return array(
142 'homeUrl' => home_url(),
143 'ajaxurl' => admin_url('admin-ajax.php'),
144 'loginPageUrl' => home_url('wp-adminify-login-customizer'),
145 'pluginUrl' => rtrim(WP_ADMINIFY_URL, '/'),
146 'login_template' => $this->options['templates'],
147 'moduleUrl' => $this->url,
148 'assetUrl' => $this->url . '/assets/',
149 'preset_nonce' => wp_create_nonce('wp-adminify-login-customizer-template-nonce'),
150 'wpLogoUrl' => admin_url('images/wordpress-logo.svg?ver=' . WP_ADMINIFY_VER),
151 'siteurl' => get_option('siteurl'),
152 'register_url' => wp_registration_url(),
153 'filter_bg' => apply_filters('adminify_logincustomizer_bg', ''),
154 'preset_loader' => includes_url('js/tinymce/skins/lightgray/img/loader.gif'),
155 'isProActive' => jltwp_adminify()->can_use_premium_code__premium_only() ? true : false
156 );
157 }
158
159
160 // Template Selection
161 public function jltwp_adminify_templates()
162 {
163 check_ajax_referer('wp-adminify-login-customizer-template-nonce', 'security');
164
165 if (!current_user_can('manage_options')) {
166 wp_die('No cheating, huh!');
167 }
168
169 $selected_template = $_POST['template_id'];
170 if ($selected_template == 'template-01') {
171 include_once plugin_dir_path(__FILE__) . 'inc/templates/template-01.php';
172 } else {
173 do_action('wp_adminify_add_templates', $selected_template);
174 }
175 wp_die();
176 }
177
178
179 /**
180 * Customizer Redirect
181 *
182 */
183 public function jltwp_adminify_redirect_customizer()
184 {
185
186 if (!empty($_GET['page'])) {
187 if ('wp-adminify-settings-login-customizer' === $_GET['page']) {
188 // Redirect URL
189 $url = add_query_arg(
190 array(
191 'autofocus[panel]' => 'jltwp_adminify_panel',
192 ),
193 admin_url('customize.php')
194 );
195
196 wp_safe_redirect($url);
197 }
198 }
199 }
200
201
202 /**
203 * Login Customizer Submenu
204 */
205 public function jltwp_adminify_login_customizer_submenu()
206 {
207 add_submenu_page(
208 'wp-adminify-settings',
209 esc_html__('Login Customizer', WP_ADMINIFY_TD),
210 esc_html__('Login Customizer', WP_ADMINIFY_TD),
211 apply_filters('jltwp_adminify_capability', 'manage_options'),
212 admin_url('customize.php?autofocus[panel]=jltwp_adminify_panel')
213 );
214 }
215
216
217 /**
218 * Register Panels
219 */
220 public function jltwp_adminify_register_panels($wp_customize)
221 {
222 $wp_customize->add_panel(
223 'jltwp_adminify_panel',
224 array(
225 'title' => __('Login Customizer - WP Adminify', WP_ADMINIFY_TD),
226 'description' => __('Customize Your WordPress Login Page with WP Adminify :)', WP_ADMINIFY_TD),
227 'capability' => apply_filters('jltwp_adminify_capability', 'manage_options'),
228 'priority' => 10,
229 )
230 );
231 }
232
233 /**
234 * Login Customizer Sections
235 *
236 * @param [type] $wp_customize
237 *
238 * @return void
239 */
240 public function jltwp_adminify_register_sections($wp_customize)
241 {
242 jltwp_adminify_sections($wp_customize);
243 }
244 }
245 }
246