C:\xampp\htdocs\landing\wp-content\plugins\duplicate-post\src\ui\class-user-interface.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
122
123
<?php
/**
 * Duplicate Post user interface.
 *
 * @package Duplicate_Post
 */

namespace Yoast\WP\Duplicate_Post\UI;

use 
Yoast\WP\Duplicate_Post\Permissions_Helper;

/**
 * Represents the Duplicate Post User Interface class.
 */
class User_Interface {

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

    
/**
     * Holds the object to manage the row actions for the post.
     *
     * @var Row_Actions
     */
    
protected $row_actions;

    
/**
     * Holds the object to manage the classic editor UI.
     *
     * @var Classic_Editor
     */
    
protected $classic_editor;

    
/**
     * Holds the object to manage the block editor UI.
     *
     * @var Block_Editor
     */
    
protected $block_editor;

    
/**
     * Holds the object to manage the admin bar links.
     *
     * @var Admin_Bar
     */
    
protected $admin_bar;

    
/**
     * Holds the object to manage the bulk actions dropdown.
     *
     * @var Bulk_Actions
     */
    
protected $bulk_actions;

    
/**
     * Post states object.
     *
     * @var Post_States
     */
    
protected $post_states;

    
/**
     * Metabox object.
     *
     * @var Metabox
     */
    
protected $metabox;

    
/**
     * Column object.
     *
     * @var Column
     */
    
protected $column;

    
/**
     * Holds the object to create the action link to duplicate.
     *
     * @var Link_Builder
     */
    
protected $link_builder;

    
/**
     * Holds the object to create the action link to duplicate.
     *
     * @var Asset_Manager
     */
    
protected $asset_manager;

    
/**
     * Initializes the class.
     *
     * @param Permissions_Helper $permissions_helper The permissions helper object.
     */
    
public function __constructPermissions_Helper $permissions_helper ) {
        
$this->permissions_helper $permissions_helper;
        
$this->link_builder       = new Link_Builder();
        
$this->asset_manager      = new Asset_Manager();
        
$this->asset_manager->register_hooks();

        
$this->admin_bar      = new Admin_Bar$this->link_builder$this->permissions_helper$this->asset_manager );
        
$this->block_editor   = new Block_Editor$this->link_builder$this->permissions_helper$this->asset_manager );
        
$this->bulk_actions   = new Bulk_Actions$this->permissions_helper );
        
$this->column         = new Column$this->permissions_helper$this->asset_manager );
        
$this->metabox        = new Metabox$this->permissions_helper );
        
$this->post_states    = new Post_States$this->permissions_helper );
        
$this->classic_editor = new Classic_Editor$this->link_builder$this->permissions_helper$this->asset_manager );
        
$this->row_actions    = new Row_Actions$this->link_builder$this->permissions_helper );

        
$this->admin_bar->register_hooks();
        
$this->block_editor->register_hooks();
        
$this->bulk_actions->register_hooks();
        
$this->column->register_hooks();
        
$this->metabox->register_hooks();
        
$this->post_states->register_hooks();
        
$this->classic_editor->register_hooks();
        
$this->row_actions->register_hooks();
    }
}
x

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