| Server IP : 87.229.120.60 / Your IP : 216.73.216.86 Web Server : Apache System : Linux outside 5.4.8_Algonet_ZeroMAC_0.9.4.8 #6 SMP Mon Feb 3 20:36:07 CET 2020 x86_64 User : server ( 1002) PHP Version : 8.3.20 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/faktorteam/www/wp-content/plugins/duplicate-post/src/handlers/ |
Upload File : |
<?php
/**
* Duplicate Post handler class for save_post action.
*
* @package Duplicate_Post
* @since 4.0
*/
namespace Yoast\WP\Duplicate_Post\Handlers;
use Yoast\WP\Duplicate_Post\Permissions_Helper;
/**
* Represents the handler for save_post action.
*/
class Save_Post_Handler {
/**
* Holds the permissions helper.
*
* @var Permissions_Helper
*/
protected $permissions_helper;
/**
* Initializes the class.
*
* @param Permissions_Helper $permissions_helper The Permissions Helper object.
*/
public function __construct( Permissions_Helper $permissions_helper ) {
$this->permissions_helper = $permissions_helper;
}
/**
* Adds hooks to integrate with WordPress.
*
* @return void
*/
public function register_hooks() {
if ( \intval( \get_option( 'duplicate_post_show_original_meta_box' ) ) === 1
|| \intval( \get_option( 'duplicate_post_show_original_column' ) ) === 1 ) {
\add_action( 'save_post', [ $this, 'delete_on_save_post' ] );
}
}
/**
* Deletes the custom field with the ID of the original post.
*
* @param int $post_id The current post ID.
*
* @return void
*/
public function delete_on_save_post( $post_id ) {
if ( ( \defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|| empty( $_POST['duplicate_post_remove_original'] ) // phpcs:ignore WordPress.Security.NonceVerification
|| ! \current_user_can( 'edit_post', $post_id ) ) {
return;
}
$post = \get_post( $post_id );
if ( ! $post ) {
return;
}
if ( ! $this->permissions_helper->is_rewrite_and_republish_copy( $post ) ) {
\delete_post_meta( $post_id, '_dp_original' );
}
}
}