C:\xampp\htdocs\landing\wp-content\updraft\plugins-old\duplicate-post\src\ui\class-bulk-actions.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
<?php
/**
 * Duplicate Post class to manage the bulk actions menu.
 *
 * @package Duplicate_Post
 */

namespace Yoast\WP\Duplicate_Post\UI;

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

/**
 * Represents the Bulk_Actions class.
 */
class Bulk_Actions {

    
/**
     * 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 ( \
intvalUtils::get_option'duplicate_post_show_link_in''bulkactions' ) ) === ) {
            return;
        }

        \
add_action'admin_init', [ $this'add_bulk_filters' ] );
    }

    
/**
     * Hooks the function to add the Rewrite & Republish option in the bulk actions for the selected post types.
     *
     * @return void
     */
    
public function add_bulk_filters() {
        if ( ! 
$this->permissions_helper->is_current_user_allowed_to_copy() ) {
            return;
        }

        
$duplicate_post_types_enabled $this->permissions_helper->get_enabled_post_types();
        foreach ( 
$duplicate_post_types_enabled as $duplicate_post_type_enabled ) {
            \
add_filter"bulk_actions-edit-{$duplicate_post_type_enabled}", [ $this'register_bulk_action' ] );
        }
    }

    
/**
     * Adds 'Rewrite & Republish' to the bulk action dropdown.
     *
     * @param array $bulk_actions The bulk actions array.
     *
     * @return array The bulk actions array.
     */
    
public function register_bulk_action$bulk_actions ) {
        
// phpcs:ignore WordPress.Security.NonceVerification
        
$is_draft_or_trash = isset( $_REQUEST['post_status'] ) && in_array$_REQUEST['post_status'], array( 'draft''trash' ), true );

        if ( \
intvalUtils::get_option'duplicate_post_show_link''clone' ) ) === ) {
            
$bulk_actions['duplicate_post_bulk_clone'] = \esc_html__'Clone''duplicate-post' );
        }

        if ( ! 
$is_draft_or_trash
            
&& \intvalUtils::get_option'duplicate_post_show_link''rewrite_republish' ) ) === ) {
            
$bulk_actions['duplicate_post_bulk_rewrite_republish'] = \esc_html__'Rewrite & Republish''duplicate-post' );
        }

        return 
$bulk_actions;
    }
}
x

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