Version Description
Download this release
Release Info
Developer | codeinwp |
Plugin | Custom Login Page Customizer |
Version | 1.0.8 |
Comparing to | |
See all releases |
Code changes from version 1.0.7 to 1.0.8
- CHANGELOG.md +47 -3
- includes/class-remote-notification-client.php +0 -381
- login-customizer.php +2 -5
- readme.txt +9 -5
CHANGELOG.md
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
0 |
-
|
|
|
|
|
|
|
1 |
-
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
|
3 |
+
|
4 |
+
|
5 |
+
|
6 |
+
|
7 |
+
|
8 |
+
|
9 |
+
|
10 |
+
|
11 |
+
|
12 |
+
### 1.0.6 - 11/01/2016
|
13 |
+
|
14 |
+
Changes:
|
15 |
+
|
16 |
+
|
17 |
+
* added subscribe form
|
18 |
+
|
19 |
+
|
20 |
+
### 1.0.4 - 11/01/2016
|
21 |
+
|
22 |
+
Changes:
|
23 |
+
|
24 |
+
|
25 |
+
* * added notification for security addon
|
26 |
+
* Improved code format
|
27 |
+
* Merge pull request #7 from cristian-ungureanu/development
|
28 |
+
|
29 |
+
Development
|
30 |
+
|
31 |
+
|
32 |
+
### 1.0.2 - 23/06/2015
|
33 |
+
|
34 |
+
Changes:
|
35 |
+
|
36 |
+
|
37 |
+
* Remove phpstorm files
|
38 |
+
* Remove phpstorm files
|
39 |
+
* Merge branch 'development' of https://github.com/Codeinwp/login-customizer into development
|
40 |
+
|
41 |
+
|
42 |
+
### 1.0.2 - 23/06/2015
|
43 |
+
|
44 |
+
Changes:
|
45 |
+
|
46 |
+
|
47 |
+
* * added support for pro version
|
includes/class-remote-notification-client.php
DELETED
@@ -1,381 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Remote Dashobard Notifications.
|
4 |
-
*
|
5 |
-
* This class is part of the Remote Dashboard Notifications plugin.
|
6 |
-
* This plugin allows you to send notifications to your client's
|
7 |
-
* WordPress dashboard easily.
|
8 |
-
*
|
9 |
-
* Notification you send will be displayed as admin notifications
|
10 |
-
* using the standard WordPress hooks. A "dismiss" option is added
|
11 |
-
* in order to let the user hide the notification.
|
12 |
-
*
|
13 |
-
* @package Remote Dashboard Notifications
|
14 |
-
* @author ThemeAvenue <web@themeavenue.net>
|
15 |
-
* @license GPL-2.0+
|
16 |
-
* @link http://themeavenue.net
|
17 |
-
* @link http://wordpress.org/plugins/remote-dashboard-notifications/
|
18 |
-
* @link https://github.com/ThemeAvenue/Remote-Dashboard-Notifications
|
19 |
-
* @copyright 2014 ThemeAvenue
|
20 |
-
*/
|
21 |
-
|
22 |
-
// If this file is called directly, abort.
|
23 |
-
if ( ! defined( 'WPINC' ) ) {
|
24 |
-
die;
|
25 |
-
}
|
26 |
-
|
27 |
-
class TAV_Remote_Notification_Client {
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Class version.
|
31 |
-
*
|
32 |
-
* @since 0.1.0
|
33 |
-
*
|
34 |
-
* @var string
|
35 |
-
*/
|
36 |
-
protected static $version = '0.1.2';
|
37 |
-
|
38 |
-
public function __construct( $channel_id = false, $channel_key = false, $server = false, $debug = false ) {
|
39 |
-
|
40 |
-
/* Don't continue during Ajax process */
|
41 |
-
if( !is_admin() || defined( 'DOING_AJAX' ) && DOING_AJAX )
|
42 |
-
return;
|
43 |
-
|
44 |
-
$this->id = intval( $channel_id );
|
45 |
-
$this->key = sanitize_key( $channel_key );
|
46 |
-
$this->server = esc_url( $server );
|
47 |
-
$this->notice = false;
|
48 |
-
$this->cache = apply_filters( 'rn_notice_caching_time', 6 );
|
49 |
-
$this->debug = $debug;
|
50 |
-
$this->error = null;
|
51 |
-
|
52 |
-
/* The plugin can't work without those 2 parameters */
|
53 |
-
if( false === ( $this->id || $this->key || $this->server ) )
|
54 |
-
return;
|
55 |
-
|
56 |
-
/* Call the dismiss method before testing for Ajax */
|
57 |
-
if( isset( $_GET['rn'] ) && isset( $_GET['notification'] ) )
|
58 |
-
add_action( 'init', array( $this, 'dismiss' ) );
|
59 |
-
|
60 |
-
add_action( 'init', array( $this, 'request_server' ) );
|
61 |
-
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Send a request to notification server
|
66 |
-
*
|
67 |
-
* The distant WordPress notification server is
|
68 |
-
* queried using the WordPress HTTP API.
|
69 |
-
*
|
70 |
-
* @since 0.1.0
|
71 |
-
*/
|
72 |
-
public function request_server() {
|
73 |
-
|
74 |
-
/* Current channel ID */
|
75 |
-
$channel_id = $this->id;
|
76 |
-
|
77 |
-
/* Current channel key */
|
78 |
-
$channel_key = $this->key;
|
79 |
-
|
80 |
-
/* Generate a unique identifyer used for the transient */
|
81 |
-
$uniqid = $channel_id . substr( $channel_key, 0, 5 );
|
82 |
-
|
83 |
-
/* Prepare the payload to send to server */
|
84 |
-
$payload = base64_encode( json_encode( array( 'channel' => $channel_id, 'key' => $channel_key ) ) );
|
85 |
-
|
86 |
-
/* Get the endpoint URL ready */
|
87 |
-
$url = add_query_arg( array( 'payload' => $payload ), $this->server );
|
88 |
-
|
89 |
-
/* Content is false at first */
|
90 |
-
$content = get_transient( "rn_last_notification_$uniqid" );
|
91 |
-
|
92 |
-
/* Set the request response to null */
|
93 |
-
$request = null;
|
94 |
-
|
95 |
-
/* If no notice is present in DB we query the server */
|
96 |
-
if( false === $content || defined( 'RDN_DEV' ) && RDN_DEV ) {
|
97 |
-
|
98 |
-
/* Query the server */
|
99 |
-
$request = wp_remote_get( $url, array( 'timeout' => apply_filters( 'rn_http_request_timeout', 5 ) ) );
|
100 |
-
|
101 |
-
/* If we have a WP_Error object we abort */
|
102 |
-
if( is_wp_error( $request ) )
|
103 |
-
return;
|
104 |
-
|
105 |
-
/* Check if we have a valid response */
|
106 |
-
if( is_array( $request ) && isset( $request['response']['code'] ) && 200 === intval( $request['response']['code'] ) ) {
|
107 |
-
|
108 |
-
/* Get the response body */
|
109 |
-
if( isset( $request['body'] ) ) {
|
110 |
-
|
111 |
-
/**
|
112 |
-
* Decode the response JSON string
|
113 |
-
*/
|
114 |
-
$content = json_decode( $request['body'] );
|
115 |
-
|
116 |
-
/**
|
117 |
-
* Check if the payload is in a usable JSON format
|
118 |
-
*/
|
119 |
-
if( version_compare( phpversion(), '5.3.0', '>=' ) ) {
|
120 |
-
|
121 |
-
if( ! ( json_last_error() == JSON_ERROR_NONE ) )
|
122 |
-
return false;
|
123 |
-
|
124 |
-
} else {
|
125 |
-
|
126 |
-
if( $content == NULL )
|
127 |
-
return false;
|
128 |
-
|
129 |
-
}
|
130 |
-
|
131 |
-
set_transient( "rn_last_notification_$uniqid", $content, $this->cache*60*60*5 );
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* If the JSON string has been decoded we can go ahead
|
141 |
-
*/
|
142 |
-
if( is_object( $content ) ) {
|
143 |
-
|
144 |
-
if( isset( $content->error ) ) {
|
145 |
-
|
146 |
-
/* Display debug info in the admin footer */
|
147 |
-
if( true === $this->debug ) {
|
148 |
-
|
149 |
-
/* Save the error message */
|
150 |
-
$this->error = $content->error;
|
151 |
-
|
152 |
-
/* Display it commented in the footer */
|
153 |
-
add_action( 'admin_footer', array( $this, 'debug_info' ) );
|
154 |
-
|
155 |
-
}
|
156 |
-
|
157 |
-
/* Stop */
|
158 |
-
return;
|
159 |
-
|
160 |
-
}
|
161 |
-
|
162 |
-
$this->notice = $content;
|
163 |
-
|
164 |
-
/**
|
165 |
-
* Check if notice has already been dismissed
|
166 |
-
*/
|
167 |
-
$dismissed = get_option( '_rn_dismissed' );
|
168 |
-
|
169 |
-
if( is_array( $dismissed ) && in_array( $content->slug, $dismissed ) )
|
170 |
-
return;
|
171 |
-
|
172 |
-
/**
|
173 |
-
* Add the notice style
|
174 |
-
*/
|
175 |
-
add_action( 'admin_print_styles', array( $this, 'style' ), 100 );
|
176 |
-
|
177 |
-
/**
|
178 |
-
* Add the notice to WP dashboard
|
179 |
-
*/
|
180 |
-
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
181 |
-
|
182 |
-
} else {
|
183 |
-
|
184 |
-
return false;
|
185 |
-
|
186 |
-
}
|
187 |
-
|
188 |
-
}
|
189 |
-
|
190 |
-
/**
|
191 |
-
* Display the admin notice
|
192 |
-
*
|
193 |
-
* The function will do some checks to verify if
|
194 |
-
* the notice can be displayed on the current page.
|
195 |
-
* If all the checks are passed, the notice
|
196 |
-
* is added to the page.
|
197 |
-
*
|
198 |
-
* @since 0.1.0
|
199 |
-
*/
|
200 |
-
public function show_notice() {
|
201 |
-
|
202 |
-
$content = $this->notice;
|
203 |
-
|
204 |
-
/* If there is no content we abort */
|
205 |
-
if( false === $content )
|
206 |
-
return;
|
207 |
-
|
208 |
-
/* If the type array isn't empty we have a limitation */
|
209 |
-
if( isset( $content->type ) && is_array( $content->type ) && !empty( $content->type ) ) {
|
210 |
-
|
211 |
-
/* Get current post type */
|
212 |
-
$pt = get_post_type();
|
213 |
-
|
214 |
-
/**
|
215 |
-
* If the current post type can't be retrieved
|
216 |
-
* or if it's not in the allowed post types,
|
217 |
-
* then we don't display the admin notice.
|
218 |
-
*/
|
219 |
-
if( false === $pt || !in_array( $pt, $content->type ) )
|
220 |
-
return;
|
221 |
-
|
222 |
-
}
|
223 |
-
|
224 |
-
/* Prepare alert class */
|
225 |
-
$style = isset( $content->style ) ? $content->style : 'updated';
|
226 |
-
|
227 |
-
if( 'updated' == $style )
|
228 |
-
$class = $style;
|
229 |
-
|
230 |
-
elseif( 'error' == $style )
|
231 |
-
$class = 'updated error';
|
232 |
-
|
233 |
-
else
|
234 |
-
$class = "updated rn-alert rn-alert-$style";
|
235 |
-
|
236 |
-
/**
|
237 |
-
* Prepare the dismiss URL
|
238 |
-
*
|
239 |
-
* @var (string) URL
|
240 |
-
* @todo get a more accurate URL of the current page
|
241 |
-
*/
|
242 |
-
$args = array();
|
243 |
-
$nonce = wp_create_nonce( 'rn-dismiss' );
|
244 |
-
$slug = $content->slug;
|
245 |
-
|
246 |
-
array_push( $args, "rn=$nonce" );
|
247 |
-
array_push( $args, "notification=$slug" );
|
248 |
-
|
249 |
-
foreach( $_GET as $key => $value ) {
|
250 |
-
|
251 |
-
array_push( $args, "$key=$value" );
|
252 |
-
|
253 |
-
}
|
254 |
-
|
255 |
-
$args = implode( '&', $args );
|
256 |
-
$url = "?$args";
|
257 |
-
?>
|
258 |
-
|
259 |
-
<div class="<?php echo $class; ?>">
|
260 |
-
<?php if( !in_array( $style, array( 'updated', 'error' ) ) ): ?><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-btn" title="<?php _e( 'Dismiss notification', 'remote-notifications' ); ?>">×</a><?php endif; ?>
|
261 |
-
<p><?php echo html_entity_decode( $content->message ); ?></p>
|
262 |
-
<?php if( in_array( $style, array( 'updated', 'error' ) ) ): ?><p><a href="<?php echo $url; ?>" id="rn-dismiss" class="rn-dismiss-button button-secondary"><?php _e( 'Dismiss', 'remote-notifications' ); ?></a></p><?php endif; ?>
|
263 |
-
</div>
|
264 |
-
<?php
|
265 |
-
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Dismiss notice
|
270 |
-
*
|
271 |
-
* When the user dismisses a notice, its slug
|
272 |
-
* is added to the _rn_dismissed entry in the DB options table.
|
273 |
-
* This entry is then used to check if a notie has been dismissed
|
274 |
-
* before displaying it on the dashboard.
|
275 |
-
*
|
276 |
-
* @since 0.1.0
|
277 |
-
*/
|
278 |
-
public function dismiss() {
|
279 |
-
|
280 |
-
/* Check if we have all the vars */
|
281 |
-
if( !isset( $_GET['rn'] ) || !isset( $_GET['notification'] ) )
|
282 |
-
return;
|
283 |
-
|
284 |
-
/* Validate nonce */
|
285 |
-
if( !wp_verify_nonce( sanitize_key( $_GET['rn'] ), 'rn-dismiss' ) )
|
286 |
-
return;
|
287 |
-
|
288 |
-
/* Get dismissed list */
|
289 |
-
$dismissed = get_option( '_rn_dismissed', array() );
|
290 |
-
|
291 |
-
/* Add the current notice to the list if needed */
|
292 |
-
if( is_array( $dismissed ) && !in_array( $_GET['notification'], $dismissed ) )
|
293 |
-
array_push( $dismissed, $_GET['notification'] );
|
294 |
-
|
295 |
-
/* Update option */
|
296 |
-
update_option( '_rn_dismissed', $dismissed );
|
297 |
-
|
298 |
-
/* Get redirect URL */
|
299 |
-
$args = array();
|
300 |
-
|
301 |
-
/* Get URL args */
|
302 |
-
foreach( $_GET as $key => $value ) {
|
303 |
-
|
304 |
-
if( in_array( $key, array( 'rn', 'notification' ) ) )
|
305 |
-
continue;
|
306 |
-
|
307 |
-
array_push( $args, "$key=$value" );
|
308 |
-
|
309 |
-
}
|
310 |
-
|
311 |
-
$args = implode( '&', $args );
|
312 |
-
$url = "?$args";
|
313 |
-
|
314 |
-
/* Redirect */
|
315 |
-
wp_redirect( $url );
|
316 |
-
|
317 |
-
}
|
318 |
-
|
319 |
-
/**
|
320 |
-
* Adds inline style for non standard notices
|
321 |
-
*
|
322 |
-
* This function will only be called if the notice style is not standard.
|
323 |
-
*
|
324 |
-
* @since 0.1.0
|
325 |
-
*/
|
326 |
-
public function style() { ?>
|
327 |
-
|
328 |
-
<style type="text/css">div.rn-alert{padding:15px;padding-right:35px;margin-bottom:20px;border:1px solid transparent;-webkit-box-shadow:none;box-shadow:none}div.rn-alert p:empty{display:none}div.rn-alert ul,div.rn-alert ul li,div.rn-alert ol,div.rn-alert ol li{list-style:inherit !important}div.rn-alert ul,div.rn-alert ol{padding-left:30px}div.rn-alert hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}div.rn-alert h1,h2,h3,h4,h5,h6{margin-top:0;color:inherit}div.rn-alert a{font-weight:700}div.rn-alert a:hover{text-decoration:underline}div.rn-alert>p{margin:0;padding:0;line-height:1}div.rn-alert>p,div.rn-alert>ul{margin-bottom:0}div.rn-alert>p+p{margin-top:5px}div.rn-alert .rn-dismiss-btn{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;top:-2px;right:-21px;padding:0;cursor:pointer;background:0;border:0;-webkit-appearance:none;float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20);text-decoration:none}div.rn-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}div.rn-alert-success hr{border-top-color:#c9e2b3}div.rn-alert-success a{color:#2b542c}div.rn-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}div.rn-alert-info hr{border-top-color:#a6e1ec}div.rn-alert-info a{color:#245269}div.rn-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}div.rn-alert-warning hr{border-top-color:#f7e1b5}div.rn-alert-warning a{color:#66512c}div.rn-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}div.rn-alert-danger hr{border-top-color:#e4b9c0}div.rn-alert-danger a{color:#843534}</style>
|
329 |
-
|
330 |
-
<?php }
|
331 |
-
|
332 |
-
/**
|
333 |
-
* Dismiss notice using Ajax
|
334 |
-
*
|
335 |
-
* This function is NOT used. Testing only.
|
336 |
-
*/
|
337 |
-
public function script() {
|
338 |
-
|
339 |
-
$url = admin_url();
|
340 |
-
?>
|
341 |
-
|
342 |
-
<script type="text/javascript">
|
343 |
-
jQuery(document).ready(function($) {
|
344 |
-
|
345 |
-
var prout = 'prout';
|
346 |
-
|
347 |
-
$('#rn-dismiss').on('click', function(event) {
|
348 |
-
event.preventDefault();
|
349 |
-
$.ajax({
|
350 |
-
type: "GET",
|
351 |
-
url: <?php echo $url; ?>,
|
352 |
-
data: prout
|
353 |
-
});
|
354 |
-
console.log('clicked');
|
355 |
-
});
|
356 |
-
|
357 |
-
return false;
|
358 |
-
|
359 |
-
});
|
360 |
-
</script>
|
361 |
-
|
362 |
-
<?php
|
363 |
-
|
364 |
-
}
|
365 |
-
|
366 |
-
/**
|
367 |
-
* Debug info.
|
368 |
-
*
|
369 |
-
* Display an error message commented in the admin footer.
|
370 |
-
*
|
371 |
-
* @since 0.1.2
|
372 |
-
*/
|
373 |
-
public function debug_info() {
|
374 |
-
|
375 |
-
$error = $this->error;
|
376 |
-
|
377 |
-
echo "<!-- RDN Debug Info: $error -->";
|
378 |
-
|
379 |
-
}
|
380 |
-
|
381 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
login-customizer.php
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
* Description: Custom Login Customizer plugin allows you to easily customize your login page straight from your WordPress Customizer! Awesome, right?
|
14 |
* Author: Hardeep Asrani
|
15 |
* Author URI: https://themeisle.com/
|
16 |
-
* Version: 1.0.
|
17 |
*/
|
18 |
|
19 |
define( 'LOGINCUST_VERSION','1.0.7' );
|
@@ -34,10 +34,7 @@ define( 'LOGINCUST_PRO_TEXT',__( '<p class="logincust_pro_text">You need to buy
|
|
34 |
function logincust_check_security() {
|
35 |
return ( defined( 'LOGINCUST_SECURITY_VERSION' ) );
|
36 |
}
|
37 |
-
|
38 |
-
require( LOGINCUST_FREE_PATH.'/includes/class-remote-notification-client.php' );
|
39 |
-
}
|
40 |
|
41 |
include( LOGINCUST_FREE_PATH . 'customizer.php' );
|
42 |
include( LOGINCUST_FREE_PATH . 'option-panel.php' );
|
43 |
-
$notification = new TAV_Remote_Notification_Client( 48, '0f7b61c2420ea7ec', 'http://themeisle.com?post_type=notification' );
|
13 |
* Description: Custom Login Customizer plugin allows you to easily customize your login page straight from your WordPress Customizer! Awesome, right?
|
14 |
* Author: Hardeep Asrani
|
15 |
* Author URI: https://themeisle.com/
|
16 |
+
* Version: 1.0.8
|
17 |
*/
|
18 |
|
19 |
define( 'LOGINCUST_VERSION','1.0.7' );
|
34 |
function logincust_check_security() {
|
35 |
return ( defined( 'LOGINCUST_SECURITY_VERSION' ) );
|
36 |
}
|
37 |
+
|
|
|
|
|
38 |
|
39 |
include( LOGINCUST_FREE_PATH . 'customizer.php' );
|
40 |
include( LOGINCUST_FREE_PATH . 'option-panel.php' );
|
|
readme.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== Custom Login Page Customizer ===
|
2 |
-
Version: 1.0.
|
3 |
Requires at least: 4.0
|
4 |
-
Tested up to: 4.
|
5 |
Contributors: codeinwp, hardeepasrani,marius_codeinwp
|
6 |
Author URI: https://themeisle.com
|
7 |
Tags: login, customizer, logo, login logo, login customizer, login page,admin, branding, customization, custom login, error, login error, custom login pro
|
@@ -12,13 +12,13 @@ Custom Login Customizer allows you to easily customize your admin login page, st
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
><a href="https://themeisle.com/plugins/login-customizer/" target="_blank" rel="
|
16 |
|
17 |
In your WordPress Dashboard, navigate to Appearance > Custom Login Page Customizer to get started.
|
18 |
|
19 |
You can customize almost anything and make it look the way you want.
|
20 |
|
21 |
-
If you are looking for the best WordPress themes that works with Login Customizer check this out : <a href="http://www.codeinwp.com/blog/best-free-wordpress-themes/" target="_blank" rel="
|
22 |
== Installation ==
|
23 |
|
24 |
1. Upload the plugin to your 'wp-content/plugins' directory, or download and install automatically through your admin panel.
|
@@ -32,7 +32,7 @@ In your WordPress Dashboard, navigate to Appearance > Custom Login Customizer to
|
|
32 |
|
33 |
= How to donate or contribute? =
|
34 |
|
35 |
-
Please visit <a target="_blank" rel="
|
36 |
|
37 |
== Screenshots ==
|
38 |
|
@@ -41,6 +41,10 @@ Please visit <a target="_blank" rel="friend" href="http://themeisle.com">this li
|
|
41 |
|
42 |
== Changelog ==
|
43 |
|
|
|
|
|
|
|
|
|
44 |
**New in v1.0.7**
|
45 |
|
46 |
* Improved customizer settings
|
1 |
=== Custom Login Page Customizer ===
|
2 |
+
Version: 1.0.8
|
3 |
Requires at least: 4.0
|
4 |
+
Tested up to: 4.6.1
|
5 |
Contributors: codeinwp, hardeepasrani,marius_codeinwp
|
6 |
Author URI: https://themeisle.com
|
7 |
Tags: login, customizer, logo, login logo, login customizer, login page,admin, branding, customization, custom login, error, login error, custom login pro
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
><a href="https://themeisle.com/plugins/login-customizer/" target="_blank" rel="nofollow">Custom Login Page Customizer</a> plugin allows you to easily customize your login page straight from your WordPress Customizer! You can preview your custom login changes before you save them! Awesome, right?
|
16 |
|
17 |
In your WordPress Dashboard, navigate to Appearance > Custom Login Page Customizer to get started.
|
18 |
|
19 |
You can customize almost anything and make it look the way you want.
|
20 |
|
21 |
+
If you are looking for the best WordPress themes that works with Login Customizer check this out : <a href="http://www.codeinwp.com/blog/best-free-wordpress-themes/" target="_blank" rel="nofollow">http://www.codeinwp.com/blog/best-free-wordpress-themes/</a>
|
22 |
== Installation ==
|
23 |
|
24 |
1. Upload the plugin to your 'wp-content/plugins' directory, or download and install automatically through your admin panel.
|
32 |
|
33 |
= How to donate or contribute? =
|
34 |
|
35 |
+
Please visit <a target="_blank" rel="nofollow" href="http://themeisle.com">this link</a> for more info.
|
36 |
|
37 |
== Screenshots ==
|
38 |
|
41 |
|
42 |
== Changelog ==
|
43 |
|
44 |
+
**New in v1.0.8**
|
45 |
+
|
46 |
+
* Removed notifications
|
47 |
+
|
48 |
**New in v1.0.7**
|
49 |
|
50 |
* Improved customizer settings
|