C:\xampp\htdocs\landing\wp-content\updraft\plugins-old\duplicate-post\src\ui\class-metabox.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
/**
 * Duplicate Post class to manage the metabox.
 *
 * @package Duplicate_Post
 */

namespace Yoast\WP\Duplicate_Post\UI;

use 
Yoast\WP\Duplicate_Post\Permissions_Helper;
use 
Yoast\WP\Duplicate_Post\Utils;

/**
 * Represents the Metabox class.
 */
class Metabox {

    
/**
     * Holds the permissions helper.
     *
     * @var Permissions_Helper
     */
    
protected $permissions_helper;

    
/**
     * Initializes the class.
     *
     * @param Permissions_Helper $permissions_helper The permissions helper.
     */
    
public function __constructPermissions_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' ) ) === ) {
            \
add_action'add_meta_boxes', [ $this'add_custom_metabox' ] );
        }
    }

    
/**
     * Adds a metabox to Edit screen.
     *
     * @return void
     */
    
public function add_custom_metabox() {
        
$screens $this->permissions_helper->get_enabled_post_types();
        if ( ! \
is_array$screens ) ) {
            
$screens = [ $screens ];
        }
        foreach ( 
$screens as $screen ) {
            \
add_meta_box(
                
'duplicate_post_show_original',
                \
__'Duplicate Post''duplicate-post' ),
                [ 
$this'custom_metabox_html' ],
                
$screen,
                
'side'
            
);
        }
    }

    
/**
     * Outputs the HTML for the metabox.
     *
     * @param \WP_Post $post The current post.
     *
     * @return void
     */
    
public function custom_metabox_html$post ) {
        
$original_item Utils::get_original$post );
        if ( 
$post instanceof \WP_Post && $original_item instanceof \WP_Post ) {
            if ( ! 
$this->permissions_helper->is_rewrite_and_republish_copy$post ) ) {
                
?>
            <p>
                <input type="checkbox"
                    name="duplicate_post_remove_original"
                    id="duplicate-post-remove-original"
                    value="duplicate_post_remove_original"
                    aria-describedby="duplicate-post-remove-original-description">
                <label for="duplicate-post-remove-original">
                    <?php \esc_html_e'Delete reference to original item.''duplicate-post' ); ?>
                </label>
            </p>
                <?php
            
}
            
?>
            <p id="duplicate-post-remove-original-description">
                <?php
                
\printf(
                    \
wp_kses(
                    
/* translators: %s: post title */
                        
\__(
                            
'The original item this was copied from is: <span class="duplicate_post_original_item_title_span">%s</span>',
                            
'duplicate-post'
                        
),
                        [
                            
'span' => [
                                
'class' => [],
                            ],
                        ]
                    ),
                    
Utils::get_edit_or_view_link$original_item )  // phpcs:ignore WordPress.Security.EscapeOutput
                
);
                
?>
            </p>
            <?php
        
} else {
            
?>
            <script>
                (function(jQuery){
                    jQuery('#duplicate_post_show_original').hide();
                })(jQuery);
            </script>
            <?php
        
}
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586