Version Description
(2020-10-03): = * Fixes saving of preview status without a previous Ajax request.
Download this release
Release Info
Developer | ocean90 |
Plugin | Public Post Preview |
Version | 2.9.2 |
Comparing to | |
See all releases |
Code changes from version 2.9.1 to 2.9.2
- CHANGELOG.md +3 -0
- composer.json +0 -25
- public-post-preview.php +15 -9
- readme.txt +5 -2
CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1 |
# Changelog
|
2 |
|
|
|
|
|
|
|
3 |
## 2.9.1 (2020-07-25):
|
4 |
* Improve HTTP status codes for expired/invalid preview links.
|
5 |
|
1 |
# Changelog
|
2 |
|
3 |
+
## 2.9.2 (2020-10-03):
|
4 |
+
* Fixes saving of preview status without a previous Ajax request.
|
5 |
+
|
6 |
## 2.9.1 (2020-07-25):
|
7 |
* Improve HTTP status codes for expired/invalid preview links.
|
8 |
|
composer.json
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "ocean90/public-post-preview",
|
3 |
-
"description": "WordPress plugin to allow anonymous users to preview a post before it is published.",
|
4 |
-
"homepage": "https://wordpress.org/plugins/public-post-preview/",
|
5 |
-
"type": "wordpress-plugin",
|
6 |
-
"license": "GPL-2.0-or-later",
|
7 |
-
"authors": [
|
8 |
-
{
|
9 |
-
"name": "Dominik Schilling",
|
10 |
-
"homepage": "https://dominikschilling.de/"
|
11 |
-
}
|
12 |
-
],
|
13 |
-
"support": {
|
14 |
-
"issues": "https://github.com/ocean90/public-post-preview/issues",
|
15 |
-
"forum": "https://wordpress.org/support/plugin/public-post-preview",
|
16 |
-
"source": "https://github.com/ocean90/public-post-preview"
|
17 |
-
},
|
18 |
-
"config": {
|
19 |
-
"sort-packages": true,
|
20 |
-
"preferred-install": "dist"
|
21 |
-
},
|
22 |
-
"require": {
|
23 |
-
"php": ">=5.6"
|
24 |
-
}
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public-post-preview.php
CHANGED
@@ -1,12 +1,14 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Public Post Preview
|
4 |
-
* Version: 2.9.
|
5 |
* Description: Allow anonymous users to preview a post before it is published.
|
6 |
* Author: Dominik Schilling
|
7 |
* Author URI: https://dominikschilling.de/
|
8 |
* Plugin URI: https://dominikschilling.de/wp-plugins/public-post-preview/en/
|
9 |
* Text Domain: public-post-preview
|
|
|
|
|
10 |
* License: GPLv2 or later
|
11 |
*
|
12 |
* Previously (2009-2011) maintained by Jonathan Dingman and Matt Martz.
|
@@ -274,13 +276,13 @@ class DS_Public_Post_Preview {
|
|
274 |
/**
|
275 |
* (Un)Registers a post for a public preview.
|
276 |
*
|
277 |
-
*
|
278 |
*
|
279 |
* @since 2.0.0
|
280 |
*
|
281 |
* @param int $post_id The post id.
|
282 |
* @param object $post The post object.
|
283 |
-
* @return bool Returns
|
284 |
*/
|
285 |
public static function register_public_preview( $post_id, $post ) {
|
286 |
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
@@ -291,7 +293,11 @@ class DS_Public_Post_Preview {
|
|
291 |
return false;
|
292 |
}
|
293 |
|
294 |
-
if ( empty( $_POST['public_post_preview_wpnonce'] ) || ! wp_verify_nonce( $_POST['public_post_preview_wpnonce'], '
|
|
|
|
|
|
|
|
|
295 |
return false;
|
296 |
}
|
297 |
|
@@ -325,7 +331,7 @@ class DS_Public_Post_Preview {
|
|
325 |
* @param string $new_status New post status.
|
326 |
* @param string $old_status Old post status.
|
327 |
* @param WP_Post $post Post object.
|
328 |
-
* @return bool Returns
|
329 |
*/
|
330 |
public static function unregister_public_preview_on_status_change( $new_status, $old_status, $post ) {
|
331 |
$disallowed_status = self::get_published_statuses();
|
@@ -345,7 +351,7 @@ class DS_Public_Post_Preview {
|
|
345 |
*
|
346 |
* @param int $post_id Post ID.
|
347 |
* @param WP_Post $post Post object.
|
348 |
-
* @return bool Returns
|
349 |
*/
|
350 |
public static function unregister_public_preview_on_edit( $post_id, $post ) {
|
351 |
$disallowed_status = self::get_published_statuses();
|
@@ -364,7 +370,7 @@ class DS_Public_Post_Preview {
|
|
364 |
* @since 2.5.0
|
365 |
*
|
366 |
* @param int $post_id Post ID.
|
367 |
-
* @return bool Returns
|
368 |
*/
|
369 |
private static function unregister_public_preview( $post_id ) {
|
370 |
$post_id = (int) $post_id;
|
@@ -571,7 +577,7 @@ class DS_Public_Post_Preview {
|
|
571 |
* @return int The time-dependent variable.
|
572 |
*/
|
573 |
private static function nonce_tick() {
|
574 |
-
$nonce_life = apply_filters( 'ppp_nonce_life',
|
575 |
|
576 |
return ceil( time() / ( $nonce_life / 2 ) );
|
577 |
}
|
@@ -640,7 +646,7 @@ class DS_Public_Post_Preview {
|
|
640 |
* @since 2.0.0
|
641 |
*
|
642 |
* @param array $post_ids List of post IDs that have a preview.
|
643 |
-
* @return
|
644 |
*/
|
645 |
private static function set_preview_post_ids( $post_ids = array() ) {
|
646 |
$post_ids = array_map( 'absint', $post_ids );
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Public Post Preview
|
4 |
+
* Version: 2.9.2
|
5 |
* Description: Allow anonymous users to preview a post before it is published.
|
6 |
* Author: Dominik Schilling
|
7 |
* Author URI: https://dominikschilling.de/
|
8 |
* Plugin URI: https://dominikschilling.de/wp-plugins/public-post-preview/en/
|
9 |
* Text Domain: public-post-preview
|
10 |
+
* Requires at least: 5.0
|
11 |
+
* Requires PHP: 5.6
|
12 |
* License: GPLv2 or later
|
13 |
*
|
14 |
* Previously (2009-2011) maintained by Jonathan Dingman and Matt Martz.
|
276 |
/**
|
277 |
* (Un)Registers a post for a public preview.
|
278 |
*
|
279 |
+
* Runs when a post is saved, ignores revisions and autosaves.
|
280 |
*
|
281 |
* @since 2.0.0
|
282 |
*
|
283 |
* @param int $post_id The post id.
|
284 |
* @param object $post The post object.
|
285 |
+
* @return bool Returns true on a success, false on a failure.
|
286 |
*/
|
287 |
public static function register_public_preview( $post_id, $post ) {
|
288 |
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
293 |
return false;
|
294 |
}
|
295 |
|
296 |
+
if ( empty( $_POST['public_post_preview_wpnonce'] ) || ! wp_verify_nonce( $_POST['public_post_preview_wpnonce'], 'public-post-preview_' . $post_id ) ) {
|
297 |
+
return false;
|
298 |
+
}
|
299 |
+
|
300 |
+
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
301 |
return false;
|
302 |
}
|
303 |
|
331 |
* @param string $new_status New post status.
|
332 |
* @param string $old_status Old post status.
|
333 |
* @param WP_Post $post Post object.
|
334 |
+
* @return bool Returns true on a success, false on a failure.
|
335 |
*/
|
336 |
public static function unregister_public_preview_on_status_change( $new_status, $old_status, $post ) {
|
337 |
$disallowed_status = self::get_published_statuses();
|
351 |
*
|
352 |
* @param int $post_id Post ID.
|
353 |
* @param WP_Post $post Post object.
|
354 |
+
* @return bool Returns true on a success, false on a failure.
|
355 |
*/
|
356 |
public static function unregister_public_preview_on_edit( $post_id, $post ) {
|
357 |
$disallowed_status = self::get_published_statuses();
|
370 |
* @since 2.5.0
|
371 |
*
|
372 |
* @param int $post_id Post ID.
|
373 |
+
* @return bool Returns true on a success, false on a failure.
|
374 |
*/
|
375 |
private static function unregister_public_preview( $post_id ) {
|
376 |
$post_id = (int) $post_id;
|
577 |
* @return int The time-dependent variable.
|
578 |
*/
|
579 |
private static function nonce_tick() {
|
580 |
+
$nonce_life = apply_filters( 'ppp_nonce_life', 2 * DAY_IN_SECONDS ); // 2 days.
|
581 |
|
582 |
return ceil( time() / ( $nonce_life / 2 ) );
|
583 |
}
|
646 |
* @since 2.0.0
|
647 |
*
|
648 |
* @param array $post_ids List of post IDs that have a preview.
|
649 |
+
* @return bool Returns true on a success, false on a failure.
|
650 |
*/
|
651 |
private static function set_preview_post_ids( $post_ids = array() ) {
|
652 |
$post_ids = array_map( 'absint', $post_ids );
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: ocean90
|
3 |
Tags: public, preview, posts, anonymous, drafts
|
4 |
Requires at least: 5.0
|
5 |
-
Tested up to: 5.
|
6 |
Requires PHP: 5.6
|
7 |
-
Stable tag: 2.9.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -73,6 +73,9 @@ Or use the [Public Post Preview Configurator](https://wordpress.org/plugins/publ
|
|
73 |
|
74 |
== Change Log ==
|
75 |
|
|
|
|
|
|
|
76 |
= 2.9.1 (2020-07-25): =
|
77 |
* Improve HTTP status codes for expired/invalid preview links.
|
78 |
|
2 |
Contributors: ocean90
|
3 |
Tags: public, preview, posts, anonymous, drafts
|
4 |
Requires at least: 5.0
|
5 |
+
Tested up to: 5.6
|
6 |
Requires PHP: 5.6
|
7 |
+
Stable tag: 2.9.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
73 |
|
74 |
== Change Log ==
|
75 |
|
76 |
+
= 2.9.2 (2020-10-03): =
|
77 |
+
* Fixes saving of preview status without a previous Ajax request.
|
78 |
+
|
79 |
= 2.9.1 (2020-07-25): =
|
80 |
* Improve HTTP status codes for expired/invalid preview links.
|
81 |
|