Version Description
new option to always send an 410 instead of an 404
Download this release
Release Info
Developer | petersplugins |
Plugin | 404page – your smart custom 404 error page |
Version | 11.3.0 |
Comparing to | |
See all releases |
Code changes from version 11.2.6 to 11.3.0
- 404page.php +1 -1
- assets/img/pluginicon.png +0 -0
- assets/js/404page-ui.js +13 -4
- inc/class-404page-admin.php +24 -2
- inc/class-404page-block-editor.php +1 -1
- inc/class-404page-classic-editor.php +1 -1
- inc/class-404page-deprecated.php +1 -1
- inc/class-404page-settings.php +1 -1
- inc/class-404page.php +14 -4
- inc/ppf/assets/css/pp-admin-page.css +45 -49
- inc/ppf/assets/img/addons.svg +1 -1
- inc/ppf/assets/img/addons_current.svg +0 -1
- inc/ppf/assets/img/advanced.svg +1 -1
- inc/ppf/assets/img/advanced_current.svg +0 -1
- inc/ppf/assets/img/general.svg +1 -1
- inc/ppf/assets/img/general_current.svg +0 -1
- inc/ppf/assets/img/info.svg +1 -1
- inc/ppf/assets/img/info_current.svg +0 -1
- inc/ppf/assets/img/videos.svg +1 -1
- inc/ppf/assets/img/videos_current.svg +0 -1
- inc/ppf/loader.php +2 -2
- inc/ppf/ppf-admin.php +4 -4
- inc/ppf/ppf-class.php +4 -4
- inc/ppf/ppf-plugin-addon.php +4 -4
- inc/ppf/ppf-plugin.php +4 -4
- inc/ppf/ppf-settings.php +4 -4
- inc/ppf/ppf-subclass.php +4 -4
- loader.php +1 -1
- readme.txt +9 -2
404page.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
* Plugin Name: 404page - your smart custom 404 error page
|
10 |
* Plugin URI: https://petersplugins.com/404page/
|
11 |
* Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
|
12 |
-
* Version: 11.
|
13 |
* Author: Peter Raschendorfer
|
14 |
* Author URI: https://petersplugins.com
|
15 |
* Text Domain: 404page
|
9 |
* Plugin Name: 404page - your smart custom 404 error page
|
10 |
* Plugin URI: https://petersplugins.com/404page/
|
11 |
* Description: Custom 404 the easy way! Set any page as custom 404 error page. No coding needed. Works with (almost) every Theme.
|
12 |
+
* Version: 11.3.0
|
13 |
* Author: Peter Raschendorfer
|
14 |
* Author URI: https://petersplugins.com
|
15 |
* Text Domain: 404page
|
assets/img/pluginicon.png
CHANGED
Binary file
|
assets/js/404page-ui.js
CHANGED
@@ -1,12 +1,21 @@
|
|
1 |
-
jQuery(document).ready(function($) {
|
2 |
-
|
|
|
3 |
$( '#edit_404_page, #test_404_page' ).prop( 'disabled', !( $( '#select404page' ).val() == $( '#404page_current_value').text() != 0 ) );
|
4 |
});
|
|
|
5 |
$( '#select404page' ).trigger( 'change' );
|
6 |
-
|
|
|
7 |
window.location.href = $( '#404page_edit_link' ).text();
|
8 |
});
|
9 |
-
|
|
|
10 |
window.location.href = $( '#404page_test_link' ).text();
|
11 |
});
|
|
|
|
|
|
|
|
|
|
|
12 |
});
|
1 |
+
jQuery( document ).ready( function( $ ) {
|
2 |
+
|
3 |
+
$( '#select404page' ).change( function() {
|
4 |
$( '#edit_404_page, #test_404_page' ).prop( 'disabled', !( $( '#select404page' ).val() == $( '#404page_current_value').text() != 0 ) );
|
5 |
});
|
6 |
+
|
7 |
$( '#select404page' ).trigger( 'change' );
|
8 |
+
|
9 |
+
$( '#edit_404_page' ).click( function() {
|
10 |
window.location.href = $( '#404page_edit_link' ).text();
|
11 |
});
|
12 |
+
|
13 |
+
$( '#test_404_page' ).click( function() {
|
14 |
window.location.href = $( '#404page_test_link' ).text();
|
15 |
});
|
16 |
+
|
17 |
+
$( '#404page-http410_always' ).change( function() {
|
18 |
+
$( '#404page-http410_if_trashed' ).prop( 'disabled', $( '#404page-http410_always' ).prop( 'checked' ) );
|
19 |
+
});
|
20 |
+
|
21 |
});
|
inc/class-404page-admin.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_Admin' ) ) {
|
17 |
|
18 |
-
class PP_404Page_Admin extends
|
19 |
|
20 |
|
21 |
/**
|
@@ -114,6 +114,10 @@ if ( !class_exists( 'PP_404Page_Admin' ) ) {
|
|
114 |
array(
|
115 |
'key' => 'http410_if_trashed',
|
116 |
'callback' => 'admin_http410'
|
|
|
|
|
|
|
|
|
117 |
),
|
118 |
array(
|
119 |
'key' => 'method',
|
@@ -347,10 +351,28 @@ if ( !class_exists( 'PP_404Page_Admin' ) ) {
|
|
347 |
esc_html__( 'Send an HTTP 410 error instead of HTTP 404 in case the requested object is in trash', '404page' ),
|
348 |
'settings_maybe_send_http410',
|
349 |
'O5xPM0BMZxM',
|
350 |
-
'<span class="dashicons dashicons-info"></span> ' . esc_html__( 'Check this if you want to inform search engines that the resource requested is no longer available and will not be available again so it can be removed from the search index immediately.', '404page' )
|
|
|
351 |
);
|
352 |
|
353 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
|
355 |
|
356 |
/**
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_Admin' ) ) {
|
17 |
|
18 |
+
class PP_404Page_Admin extends PPF07_Admin {
|
19 |
|
20 |
|
21 |
/**
|
114 |
array(
|
115 |
'key' => 'http410_if_trashed',
|
116 |
'callback' => 'admin_http410'
|
117 |
+
),
|
118 |
+
array(
|
119 |
+
'key' => 'http410_always',
|
120 |
+
'callback' => 'admin_http410_always'
|
121 |
),
|
122 |
array(
|
123 |
'key' => 'method',
|
351 |
esc_html__( 'Send an HTTP 410 error instead of HTTP 404 in case the requested object is in trash', '404page' ),
|
352 |
'settings_maybe_send_http410',
|
353 |
'O5xPM0BMZxM',
|
354 |
+
'<span class="dashicons dashicons-info"></span> ' . esc_html__( 'Check this if you want to inform search engines that the resource requested is no longer available and will not be available again so it can be removed from the search index immediately.', '404page' ),
|
355 |
+
$this->settings()->get( 'http410_always' )
|
356 |
);
|
357 |
|
358 |
}
|
359 |
+
|
360 |
+
|
361 |
+
/**
|
362 |
+
* handle the settings field to always send an http 410 error
|
363 |
+
* @since 11.3.0
|
364 |
+
*/
|
365 |
+
function admin_http410_always() {
|
366 |
+
|
367 |
+
$this->print_slider_check(
|
368 |
+
'http410_always',
|
369 |
+
esc_html__( 'Always send an HTTP 410 error instead of HTTP 404', '404page' ),
|
370 |
+
'settings_always_send_http410',
|
371 |
+
false,
|
372 |
+
'<span class="dashicons dashicons-info"></span> ' . esc_html__( 'Check this if you always want to send an HTTP 410 error instead of an HTTP 404 error.', '404page' )
|
373 |
+
);
|
374 |
+
|
375 |
+
}
|
376 |
|
377 |
|
378 |
/**
|
inc/class-404page-block-editor.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_BlockEditor' ) ) {
|
17 |
|
18 |
-
class PP_404Page_BlockEditor extends
|
19 |
|
20 |
/**
|
21 |
* Do Init
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_BlockEditor' ) ) {
|
17 |
|
18 |
+
class PP_404Page_BlockEditor extends PPF07_SubClass {
|
19 |
|
20 |
/**
|
21 |
* Do Init
|
inc/class-404page-classic-editor.php
CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_ClassicEditor' ) ) {
|
17 |
|
18 |
-
class PP_404Page_ClassicEditor extends
|
19 |
|
20 |
/**
|
21 |
* Do Init
|
15 |
*/
|
16 |
if ( !class_exists( 'PP_404Page_ClassicEditor' ) ) {
|
17 |
|
18 |
+
class PP_404Page_ClassicEditor extends PPF07_SubClass {
|
19 |
|
20 |
/**
|
21 |
* Do Init
|
inc/class-404page-deprecated.php
CHANGED
@@ -17,7 +17,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
17 |
*/
|
18 |
if ( !class_exists( 'PP_404Page_Deprecated' ) ) {
|
19 |
|
20 |
-
class PP_404Page_Deprecated extends
|
21 |
|
22 |
/**
|
23 |
* Do Init
|
17 |
*/
|
18 |
if ( !class_exists( 'PP_404Page_Deprecated' ) ) {
|
19 |
|
20 |
+
class PP_404Page_Deprecated extends PPF07_SubClass {
|
21 |
|
22 |
/**
|
23 |
* Do Init
|
inc/class-404page-settings.php
CHANGED
@@ -17,7 +17,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
17 |
*/
|
18 |
if ( !class_exists( 'PP_404Page_Settings' ) ) {
|
19 |
|
20 |
-
class PP_404Page_Settings extends
|
21 |
|
22 |
/**
|
23 |
* sanitize settings
|
17 |
*/
|
18 |
if ( !class_exists( 'PP_404Page_Settings' ) ) {
|
19 |
|
20 |
+
class PP_404Page_Settings extends PPF07_Settings {
|
21 |
|
22 |
/**
|
23 |
* sanitize settings
|
inc/class-404page.php
CHANGED
@@ -23,7 +23,7 @@ if ( ! defined( 'PP_404' ) ) {
|
|
23 |
if ( !class_exists( 'PP_404Page' ) ) {
|
24 |
|
25 |
|
26 |
-
class PP_404Page extends
|
27 |
|
28 |
|
29 |
/**
|
@@ -100,6 +100,7 @@ if ( !class_exists( 'PP_404Page' ) ) {
|
|
100 |
'force_error' => false,
|
101 |
'no_url_guessing' => false,
|
102 |
'http410_if_trashed' => false,
|
|
|
103 |
'method' => 'STD'
|
104 |
);
|
105 |
|
@@ -220,7 +221,9 @@ if ( !class_exists( 'PP_404Page' ) ) {
|
|
220 |
|
221 |
// send http 410 instead of http 404 if requested resource is in trash
|
222 |
// @since 3.2
|
223 |
-
|
|
|
|
|
224 |
|
225 |
add_action( 'template_redirect', array( $this, 'maybe_send_410' ) );
|
226 |
|
@@ -248,7 +251,9 @@ if ( !class_exists( 'PP_404Page' ) ) {
|
|
248 |
|
249 |
// send http 410 instead of http 404 if requested resource is in trash
|
250 |
// @since 3.2
|
251 |
-
|
|
|
|
|
252 |
|
253 |
add_action( 'template_redirect', array( $this, 'maybe_send_410' ) );
|
254 |
|
@@ -652,13 +657,18 @@ if ( !class_exists( 'PP_404Page' ) ) {
|
|
652 |
/**
|
653 |
* send http 410 instead of http 404 in case the requested URL can be found in trash
|
654 |
* @since 3.2
|
|
|
|
|
|
|
655 |
*/
|
656 |
function maybe_send_410() {
|
657 |
|
658 |
// we don't do anything if there is no 404
|
659 |
if ( is_404() ) {
|
660 |
|
661 |
-
if ( $this->is_url_in_trash( rawurldecode ( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ) ) ) {
|
|
|
|
|
662 |
|
663 |
status_header( 410 );
|
664 |
|
23 |
if ( !class_exists( 'PP_404Page' ) ) {
|
24 |
|
25 |
|
26 |
+
class PP_404Page extends PPF07_Plugin {
|
27 |
|
28 |
|
29 |
/**
|
100 |
'force_error' => false,
|
101 |
'no_url_guessing' => false,
|
102 |
'http410_if_trashed' => false,
|
103 |
+
'http410_always' => false,
|
104 |
'method' => 'STD'
|
105 |
);
|
106 |
|
221 |
|
222 |
// send http 410 instead of http 404 if requested resource is in trash
|
223 |
// @since 3.2
|
224 |
+
// or always send http 410
|
225 |
+
// @since 11.3.0
|
226 |
+
if ( $this->settings()->get( 'http410_if_trashed' ) || $this->settings()->get( 'http410_always' ) ) {
|
227 |
|
228 |
add_action( 'template_redirect', array( $this, 'maybe_send_410' ) );
|
229 |
|
251 |
|
252 |
// send http 410 instead of http 404 if requested resource is in trash
|
253 |
// @since 3.2
|
254 |
+
// or always send http 410
|
255 |
+
// @since 11.3.0
|
256 |
+
if ( $this->settings()->get( 'http410_if_trashed' ) || $this->settings()->get( 'http410_always' ) ) {
|
257 |
|
258 |
add_action( 'template_redirect', array( $this, 'maybe_send_410' ) );
|
259 |
|
657 |
/**
|
658 |
* send http 410 instead of http 404 in case the requested URL can be found in trash
|
659 |
* @since 3.2
|
660 |
+
* or always send http 410
|
661 |
+
* @since 11.3.0
|
662 |
+
|
663 |
*/
|
664 |
function maybe_send_410() {
|
665 |
|
666 |
// we don't do anything if there is no 404
|
667 |
if ( is_404() ) {
|
668 |
|
669 |
+
//if ( $this->is_url_in_trash( rawurldecode ( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ) ) ) {
|
670 |
+
|
671 |
+
if ( $this->settings()->get( 'http410_always' ) || ( $this->settings()->get( 'http410_if_trashed' ) && $this->is_url_in_trash( rawurldecode ( ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ) ) ) ) {
|
672 |
|
673 |
status_header( 410 );
|
674 |
|
inc/ppf/assets/css/pp-admin-page.css
CHANGED
@@ -1,5 +1,10 @@
|
|
|
|
|
|
|
|
|
|
1 |
#wpcontent {
|
2 |
padding-left: 0 !important;
|
|
|
3 |
}
|
4 |
|
5 |
.pp-admin-page-wrapper {
|
@@ -7,18 +12,19 @@
|
|
7 |
}
|
8 |
|
9 |
.pp-admin-notice-area {
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
12 |
}
|
13 |
|
14 |
.pp-admin-page-header {
|
15 |
-
background-color: #
|
16 |
-
background: linear-gradient(to right bottom, #1a1a1a 0%,#5e5e5e 100%);
|
17 |
}
|
18 |
|
19 |
.rtl .pp-admin-page-header {
|
20 |
margin-left: 0;
|
21 |
-
background: linear-gradient(to left bottom, #1a1a1a 0%,#5e5e5e 100%);
|
22 |
}
|
23 |
|
24 |
.pp-admin-page-header nav {
|
@@ -36,7 +42,7 @@
|
|
36 |
.pp-admin-page-header nav a {
|
37 |
display: inline-block;
|
38 |
padding: 6px 3px;
|
39 |
-
color: #
|
40 |
text-decoration: none;
|
41 |
font-size: 12px;
|
42 |
height: 20px;
|
@@ -65,24 +71,19 @@
|
|
65 |
}
|
66 |
|
67 |
.pp-admin-page-header nav a:hover, .pp-admin-page-header nav a:focus {
|
68 |
-
border-bottom-color: #
|
69 |
}
|
70 |
|
71 |
.pp-admin-page-title {
|
72 |
-
padding:
|
73 |
-
}
|
74 |
-
|
75 |
-
.rtl .pp-admin-page-title {
|
76 |
-
padding-left: 0;
|
77 |
-
padding-right: 20px;
|
78 |
-
}
|
79 |
|
80 |
.pp-admin-page-title h1 {
|
81 |
line-height: 64px;
|
82 |
padding: 0 0 0 80px;
|
83 |
background-image: url(../../../../assets/img/pluginicon.png);
|
84 |
background-repeat: no-repeat;
|
85 |
-
color: #
|
86 |
}
|
87 |
|
88 |
.rtl .pp-admin-page-title h1 {
|
@@ -112,14 +113,14 @@
|
|
112 |
.pp-admin-page-header .tab-navigation .tabset {
|
113 |
padding: 12px 24px;
|
114 |
font-size: 18px;
|
115 |
-
color: #
|
116 |
cursor: pointer;
|
117 |
background: none;
|
118 |
border: none;
|
119 |
border-top-left-radius: 3px;
|
120 |
border-top-right-radius: 3px;
|
121 |
outline: none;
|
122 |
-
transition: 0.3s
|
123 |
}
|
124 |
|
125 |
.pp-admin-page-header .tab-navigation .tabset:hover {
|
@@ -128,7 +129,7 @@
|
|
128 |
|
129 |
.pp-admin-page-header .tab-navigation .tabset.current, .pp-admin-page-header .tab-navigation .tabset.current:hover {
|
130 |
background-color: #fff;
|
131 |
-
color: #
|
132 |
}
|
133 |
|
134 |
.pp-admin-page-header .tab-navigation .tabset.has-icon {
|
@@ -141,42 +142,22 @@
|
|
141 |
background-image: url( ../img/general.svg );
|
142 |
}
|
143 |
|
144 |
-
.pp-admin-page-header .tab-navigation .tabset.icon-general.current {
|
145 |
-
background-image: url( ../img/general_current.svg );
|
146 |
-
}
|
147 |
-
|
148 |
.pp-admin-page-header .tab-navigation .tabset.icon-videos {
|
149 |
background-image: url( ../img/videos.svg );
|
150 |
}
|
151 |
|
152 |
-
.pp-admin-page-header .tab-navigation .tabset.icon-videos.current {
|
153 |
-
background-image: url( ../img/videos_current.svg );
|
154 |
-
}
|
155 |
-
|
156 |
.pp-admin-page-header .tab-navigation .tabset.icon-advanced {
|
157 |
background-image: url( ../img/advanced.svg );
|
158 |
}
|
159 |
|
160 |
-
.pp-admin-page-header .tab-navigation .tabset.icon-advanced.current {
|
161 |
-
background-image: url( ../img/advanced_current.svg );
|
162 |
-
}
|
163 |
-
|
164 |
.pp-admin-page-header .tab-navigation .tabset.icon-addons {
|
165 |
background-image: url( ../img/addons.svg );
|
166 |
}
|
167 |
|
168 |
-
.pp-admin-page-header .tab-navigation .tabset.icon-addons.current {
|
169 |
-
background-image: url( ../img/addons_current.svg );
|
170 |
-
}
|
171 |
-
|
172 |
.pp-admin-page-header .tab-navigation .tabset.icon-info {
|
173 |
background-image: url( ../img/info.svg );
|
174 |
}
|
175 |
|
176 |
-
.pp-admin-page-header .tab-navigation .tabset.icon-info.current {
|
177 |
-
background-image: url( ../img/info_current.svg );
|
178 |
-
}
|
179 |
-
|
180 |
.pp-admin-page-inner {
|
181 |
padding: 24px;
|
182 |
background-color: #fff;
|
@@ -200,14 +181,20 @@
|
|
200 |
}
|
201 |
|
202 |
.wp-core-ui .pp-admin-page-inner .tab-panel .button-primary {
|
203 |
-
background-color: #
|
204 |
-
border: 1px solid #
|
205 |
box-shadow: none;
|
206 |
text-shadow: none;
|
207 |
font-size: 16px;
|
208 |
line-height: 1;
|
209 |
height: auto;
|
210 |
padding: 12px 24px;
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
|
213 |
.pp-admin-page-wrapper .form-table th, .form-table td {
|
@@ -231,15 +218,20 @@
|
|
231 |
}
|
232 |
|
233 |
.wp-admin .pp-admin-page-wrapper select {
|
234 |
-
border: 3px solid #
|
235 |
border-radius: 6px;
|
236 |
padding: 6px;
|
237 |
-
line-height:
|
238 |
height: auto;
|
239 |
}
|
240 |
|
241 |
.pp-admin-page-wrapper a {
|
242 |
-
color: #
|
|
|
|
|
|
|
|
|
|
|
243 |
}
|
244 |
|
245 |
.pp-admin-page-wrapper .toggle {
|
@@ -263,15 +255,15 @@
|
|
263 |
text-indent: -9999px;
|
264 |
width: 80px;
|
265 |
height: 40px;
|
266 |
-
background: #
|
267 |
display: block;
|
268 |
border-radius: 40px;
|
269 |
position: relative;
|
270 |
-
|
271 |
}
|
272 |
|
273 |
.pp-admin-page-wrapper .toggle input[type="checkbox"]:disabled + label {
|
274 |
-
background-color: #
|
275 |
}
|
276 |
|
277 |
.pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after {
|
@@ -280,9 +272,13 @@
|
|
280 |
top: 5px;
|
281 |
width: 30px;
|
282 |
height: 30px;
|
283 |
-
background: #fff;
|
284 |
border-radius: 30px;
|
285 |
-
transition: 0.3s
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
|
288 |
body:not(.rtl) .pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after, .rtl .pp-admin-page-wrapper .toggle input[type="checkbox"]:checked + label:after {
|
@@ -291,7 +287,7 @@ body:not(.rtl) .pp-admin-page-wrapper .toggle input[type="checkbox"] + label:aft
|
|
291 |
}
|
292 |
|
293 |
.pp-admin-page-wrapper .toggle input[type="checkbox"]:enabled:checked + label {
|
294 |
-
background: #
|
295 |
}
|
296 |
|
297 |
body:not(.rtl) .pp-admin-page-wrapper .toggle input[type="checkbox"]:checked + label:after, .rtl .pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after {
|
1 |
+
body {
|
2 |
+
background-color: #fff;
|
3 |
+
}
|
4 |
+
|
5 |
#wpcontent {
|
6 |
padding-left: 0 !important;
|
7 |
+
color: #434343 !important;
|
8 |
}
|
9 |
|
10 |
.pp-admin-page-wrapper {
|
12 |
}
|
13 |
|
14 |
.pp-admin-notice-area {
|
15 |
+
padding: 0;
|
16 |
+
}
|
17 |
+
|
18 |
+
.pp-admin-notice-area .notice {
|
19 |
+
margin: 0;
|
20 |
}
|
21 |
|
22 |
.pp-admin-page-header {
|
23 |
+
background-color: #E2E2E2;
|
|
|
24 |
}
|
25 |
|
26 |
.rtl .pp-admin-page-header {
|
27 |
margin-left: 0;
|
|
|
28 |
}
|
29 |
|
30 |
.pp-admin-page-header nav {
|
42 |
.pp-admin-page-header nav a {
|
43 |
display: inline-block;
|
44 |
padding: 6px 3px;
|
45 |
+
color: #434343;
|
46 |
text-decoration: none;
|
47 |
font-size: 12px;
|
48 |
height: 20px;
|
71 |
}
|
72 |
|
73 |
.pp-admin-page-header nav a:hover, .pp-admin-page-header nav a:focus {
|
74 |
+
border-bottom-color: #434343;
|
75 |
}
|
76 |
|
77 |
.pp-admin-page-title {
|
78 |
+
padding: 20px;
|
79 |
+
}
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
.pp-admin-page-title h1 {
|
82 |
line-height: 64px;
|
83 |
padding: 0 0 0 80px;
|
84 |
background-image: url(../../../../assets/img/pluginicon.png);
|
85 |
background-repeat: no-repeat;
|
86 |
+
color: #434343;
|
87 |
}
|
88 |
|
89 |
.rtl .pp-admin-page-title h1 {
|
113 |
.pp-admin-page-header .tab-navigation .tabset {
|
114 |
padding: 12px 24px;
|
115 |
font-size: 18px;
|
116 |
+
color: #434343;
|
117 |
cursor: pointer;
|
118 |
background: none;
|
119 |
border: none;
|
120 |
border-top-left-radius: 3px;
|
121 |
border-top-right-radius: 3px;
|
122 |
outline: none;
|
123 |
+
transition: background-color 0.3s ease;
|
124 |
}
|
125 |
|
126 |
.pp-admin-page-header .tab-navigation .tabset:hover {
|
129 |
|
130 |
.pp-admin-page-header .tab-navigation .tabset.current, .pp-admin-page-header .tab-navigation .tabset.current:hover {
|
131 |
background-color: #fff;
|
132 |
+
color: #434343;
|
133 |
}
|
134 |
|
135 |
.pp-admin-page-header .tab-navigation .tabset.has-icon {
|
142 |
background-image: url( ../img/general.svg );
|
143 |
}
|
144 |
|
|
|
|
|
|
|
|
|
145 |
.pp-admin-page-header .tab-navigation .tabset.icon-videos {
|
146 |
background-image: url( ../img/videos.svg );
|
147 |
}
|
148 |
|
|
|
|
|
|
|
|
|
149 |
.pp-admin-page-header .tab-navigation .tabset.icon-advanced {
|
150 |
background-image: url( ../img/advanced.svg );
|
151 |
}
|
152 |
|
|
|
|
|
|
|
|
|
153 |
.pp-admin-page-header .tab-navigation .tabset.icon-addons {
|
154 |
background-image: url( ../img/addons.svg );
|
155 |
}
|
156 |
|
|
|
|
|
|
|
|
|
157 |
.pp-admin-page-header .tab-navigation .tabset.icon-info {
|
158 |
background-image: url( ../img/info.svg );
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
161 |
.pp-admin-page-inner {
|
162 |
padding: 24px;
|
163 |
background-color: #fff;
|
181 |
}
|
182 |
|
183 |
.wp-core-ui .pp-admin-page-inner .tab-panel .button-primary {
|
184 |
+
background-color: #4D648D;
|
185 |
+
border: 1px solid #4D648D;
|
186 |
box-shadow: none;
|
187 |
text-shadow: none;
|
188 |
font-size: 16px;
|
189 |
line-height: 1;
|
190 |
height: auto;
|
191 |
padding: 12px 24px;
|
192 |
+
transition: all 0.3s ease;
|
193 |
+
}
|
194 |
+
|
195 |
+
.wp-core-ui .pp-admin-page-inner .tab-panel .button-primary:hover, .wp-core-ui .pp-admin-page-inner .tab-panel .button-primary:focus {
|
196 |
+
background-color: #283655;
|
197 |
+
border: 1px solid #283655;
|
198 |
}
|
199 |
|
200 |
.pp-admin-page-wrapper .form-table th, .form-table td {
|
218 |
}
|
219 |
|
220 |
.wp-admin .pp-admin-page-wrapper select {
|
221 |
+
border: 3px solid #434343;
|
222 |
border-radius: 6px;
|
223 |
padding: 6px;
|
224 |
+
line-height: 1.5;
|
225 |
height: auto;
|
226 |
}
|
227 |
|
228 |
.pp-admin-page-wrapper a {
|
229 |
+
color: #4D648D;
|
230 |
+
transition: all 0.3s ease;
|
231 |
+
}
|
232 |
+
|
233 |
+
.pp-admin-page-wrapper a:hover, .pp-admin-page-wrapper a:focus {
|
234 |
+
color: #283655;
|
235 |
}
|
236 |
|
237 |
.pp-admin-page-wrapper .toggle {
|
255 |
text-indent: -9999px;
|
256 |
width: 80px;
|
257 |
height: 40px;
|
258 |
+
background: #959595;
|
259 |
display: block;
|
260 |
border-radius: 40px;
|
261 |
position: relative;
|
262 |
+
transition: all 0.3s ease;
|
263 |
}
|
264 |
|
265 |
.pp-admin-page-wrapper .toggle input[type="checkbox"]:disabled + label {
|
266 |
+
background-color: #CDCDCD;
|
267 |
}
|
268 |
|
269 |
.pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after {
|
272 |
top: 5px;
|
273 |
width: 30px;
|
274 |
height: 30px;
|
|
|
275 |
border-radius: 30px;
|
276 |
+
transition: all 0.3s ease;
|
277 |
+
background-color: #FFF;
|
278 |
+
}
|
279 |
+
|
280 |
+
.pp-admin-page-wrapper .toggle input[type="checkbox"]:disabled + label:after {
|
281 |
+
background-color: #E2E2E2;
|
282 |
}
|
283 |
|
284 |
body:not(.rtl) .pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after, .rtl .pp-admin-page-wrapper .toggle input[type="checkbox"]:checked + label:after {
|
287 |
}
|
288 |
|
289 |
.pp-admin-page-wrapper .toggle input[type="checkbox"]:enabled:checked + label {
|
290 |
+
background: #434343;
|
291 |
}
|
292 |
|
293 |
body:not(.rtl) .pp-admin-page-wrapper .toggle input[type="checkbox"]:checked + label:after, .rtl .pp-admin-page-wrapper .toggle input[type="checkbox"] + label:after {
|
inc/ppf/assets/img/addons.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zm-7-2h2v-3h3V9h-3V6h-2v3h-3v2h3z"/></svg>
|
inc/ppf/assets/img/addons_current.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zm-7-2h2v-3h3V9h-3V6h-2v3h-3v2h3z"/></svg>
|
|
inc/ppf/assets/img/advanced.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M22.61 18.99l-9.08-9.08c.93-2.34.45-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11 6.08 7.52 2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.4-.38.4-1.01 0-1.41zm-3 1.6l-9.46-9.46c-.61.45-1.29.72-2 .82-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09 4.24-4.24-3.09-3.09c1.24-.07 2.49.37 3.44 1.31 1.08 1.08 1.49 2.57 1.24 3.96-.12.71-.42 1.37-.88 1.96l9.45 9.45-.88.89z"/></svg>
|
inc/ppf/assets/img/advanced_current.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M22.61 18.99l-9.08-9.08c.93-2.34.45-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11 6.08 7.52 2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.4-.38.4-1.01 0-1.41zm-3 1.6l-9.46-9.46c-.61.45-1.29.72-2 .82-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09 4.24-4.24-3.09-3.09c1.24-.07 2.49.37 3.44 1.31 1.08 1.08 1.49 2.57 1.24 3.96-.12.71-.42 1.37-.88 1.96l9.45 9.45-.88.89z"/></svg>
|
|
inc/ppf/assets/img/general.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/></svg>
|
inc/ppf/assets/img/general_current.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/></svg>
|
|
inc/ppf/assets/img/info.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>
|
inc/ppf/assets/img/info_current.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>
|
|
inc/ppf/assets/img/videos.svg
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zM12 5.5v9l6-4.5z"/></svg>
|
inc/ppf/assets/img/videos_current.svg
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zM12 5.5v9l6-4.5z"/></svg>
|
|
inc/ppf/loader.php
CHANGED
@@ -3,9 +3,9 @@
|
|
3 |
/**
|
4 |
* Plugin Foundation Loader
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
3 |
/**
|
4 |
* Plugin Foundation Loader
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
inc/ppf/ppf-admin.php
CHANGED
@@ -3,17 +3,17 @@
|
|
3 |
/**
|
4 |
* Admin Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
-
if ( !class_exists( '
|
14 |
|
15 |
|
16 |
-
abstract class
|
17 |
|
18 |
|
19 |
/**
|
3 |
/**
|
4 |
* Admin Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
+
if ( !class_exists( 'PPF07_Admin' ) ) {
|
14 |
|
15 |
|
16 |
+
abstract class PPF07_Admin extends PPF07_SubClass {
|
17 |
|
18 |
|
19 |
/**
|
inc/ppf/ppf-class.php
CHANGED
@@ -3,9 +3,9 @@
|
|
3 |
/**
|
4 |
* Base Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
@@ -19,10 +19,10 @@
|
|
19 |
}
|
20 |
|
21 |
|
22 |
-
if ( !class_exists( '
|
23 |
|
24 |
|
25 |
-
abstract class
|
26 |
|
27 |
|
28 |
/**
|
3 |
/**
|
4 |
* Base Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
19 |
}
|
20 |
|
21 |
|
22 |
+
if ( !class_exists( 'PPF07_Class' ) ) {
|
23 |
|
24 |
|
25 |
+
abstract class PPF07_Class {
|
26 |
|
27 |
|
28 |
/**
|
inc/ppf/ppf-plugin-addon.php
CHANGED
@@ -3,17 +3,17 @@
|
|
3 |
/**
|
4 |
* Plugin Addon Base Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
|
14 |
-
if ( !class_exists( '
|
15 |
|
16 |
-
abstract class
|
17 |
|
18 |
/**
|
19 |
* Base Plugin Name
|
3 |
/**
|
4 |
* Plugin Addon Base Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
|
14 |
+
if ( !class_exists( 'PPF07_Plugin_Addon' ) ) {
|
15 |
|
16 |
+
abstract class PPF07_Plugin_Addon extends PPF07_Plugin {
|
17 |
|
18 |
/**
|
19 |
* Base Plugin Name
|
inc/ppf/ppf-plugin.php
CHANGED
@@ -3,17 +3,17 @@
|
|
3 |
/**
|
4 |
* Plugin Base Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
|
14 |
-
if ( !class_exists( '
|
15 |
|
16 |
-
abstract class
|
17 |
|
18 |
/**
|
19 |
* Instances
|
3 |
/**
|
4 |
* Plugin Base Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
|
14 |
+
if ( !class_exists( 'PPF07_Plugin' ) ) {
|
15 |
|
16 |
+
abstract class PPF07_Plugin extends PPF07_Class {
|
17 |
|
18 |
/**
|
19 |
* Instances
|
inc/ppf/ppf-settings.php
CHANGED
@@ -3,17 +3,17 @@
|
|
3 |
/**
|
4 |
* Settings Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
-
if ( !class_exists( '
|
14 |
|
15 |
|
16 |
-
abstract class
|
17 |
|
18 |
/**
|
19 |
* name of settings in databse (meta_key)
|
3 |
/**
|
4 |
* Settings Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
+
if ( !class_exists( 'PPF07_Settings' ) ) {
|
14 |
|
15 |
|
16 |
+
abstract class PPF07_Settings extends PPF07_SubClass {
|
17 |
|
18 |
/**
|
19 |
* name of settings in databse (meta_key)
|
inc/ppf/ppf-subclass.php
CHANGED
@@ -3,17 +3,17 @@
|
|
3 |
/**
|
4 |
* Plugin Base Sub-Class
|
5 |
*
|
6 |
-
* Peter's Plugins Foundation
|
7 |
*
|
8 |
-
* @package
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
-
if ( !class_exists( '
|
14 |
|
15 |
|
16 |
-
abstract class
|
17 |
|
18 |
/**
|
19 |
* reference to core class
|
3 |
/**
|
4 |
* Plugin Base Sub-Class
|
5 |
*
|
6 |
+
* Peter's Plugins Foundation 07
|
7 |
*
|
8 |
+
* @package PPF07
|
9 |
* @author Peter Raschendorfer
|
10 |
* @license GPL2+
|
11 |
*/
|
12 |
|
13 |
+
if ( !class_exists( 'PPF07_SubClass' ) ) {
|
14 |
|
15 |
|
16 |
+
abstract class PPF07_SubClass extends PPF07_Class {
|
17 |
|
18 |
/**
|
19 |
* reference to core class
|
loader.php
CHANGED
@@ -42,7 +42,7 @@ function pp_404page() {
|
|
42 |
'slug' => pathinfo( dirname( __FILE__ ) . '/404page.php', PATHINFO_FILENAME ),
|
43 |
'name' => '404page - your smart custom 404 error page',
|
44 |
'shortname' => '404page',
|
45 |
-
'version' => '11.
|
46 |
) );
|
47 |
|
48 |
}
|
42 |
'slug' => pathinfo( dirname( __FILE__ ) . '/404page.php', PATHINFO_FILENAME ),
|
43 |
'name' => '404page - your smart custom 404 error page',
|
44 |
'shortname' => '404page',
|
45 |
+
'version' => '11.3.0'
|
46 |
) );
|
47 |
|
48 |
}
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: petersplugins
|
3 |
Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page, classicpress
|
4 |
Requires at least: 4.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 11.
|
7 |
Requires PHP: 5.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -172,6 +172,10 @@ Please use the [Support Forum](https://wordpress.org/support/plugin/404page).
|
|
172 |
|
173 |
== Changelog ==
|
174 |
|
|
|
|
|
|
|
|
|
175 |
= 11.2.6 (2020-08-23) =
|
176 |
* Plugin Foundation updated to PPF06
|
177 |
|
@@ -361,6 +365,9 @@ Please use the [Support Forum](https://wordpress.org/support/plugin/404page).
|
|
361 |
|
362 |
== Upgrade Notice ==
|
363 |
|
|
|
|
|
|
|
364 |
= 11.2.6 =
|
365 |
Plugin Foundation updated to PPF06
|
366 |
|
2 |
Contributors: petersplugins
|
3 |
Tags: page, 404, error, error page, 404 page, page not found, page not found error, 404 error page, missing, broken link, template, 404 link, seo, custom 404, custom 404 page, custom 404 error, custom 404 error page, customize 404, customize 404 page, customize 404 error page, classicpress
|
4 |
Requires at least: 4.0
|
5 |
+
Tested up to: 5.9
|
6 |
+
Stable tag: 11.3.0
|
7 |
Requires PHP: 5.4
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
172 |
|
173 |
== Changelog ==
|
174 |
|
175 |
+
= 11.3.0 (2021-01-06) =
|
176 |
+
* new option to always send an 410 instead of an 404
|
177 |
+
* Plugin Foundation updated to PPF07
|
178 |
+
|
179 |
= 11.2.6 (2020-08-23) =
|
180 |
* Plugin Foundation updated to PPF06
|
181 |
|
365 |
|
366 |
== Upgrade Notice ==
|
367 |
|
368 |
+
= 11.3.0 =
|
369 |
+
new option to always send an 410 instead of an 404
|
370 |
+
|
371 |
= 11.2.6 =
|
372 |
Plugin Foundation updated to PPF06
|
373 |
|