C:\xampp\htdocs\landing\wp-content\plugins\wordpress-seo\admin\class-paper-presenter.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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin
 */

/**
 * Class WPSEO_presenter_paper.
 */
class WPSEO_Paper_Presenter {

    
/**
     * Title of the paper.
     *
     * @var string
     */
    
private $title;

    
/**
     * The view variables.
     *
     * @var array
     */
    
private $settings;

    
/**
     * The path to the view file.
     *
     * @var string
     */
    
private $view_file;

    
/**
     * WPSEO_presenter_paper constructor.
     *
     * @param string $title     The title of the paper.
     * @param string $view_file Optional. The path to the view file. Use the content setting if you do not wish to use
     *                          a view file.
     * @param array  $settings  Optional. Settings for the paper.
     */
    
public function __construct$title$view_file null, array $settings = [] ) {
        
$defaults = [
            
'paper_id'                 => null,
            
'paper_id_prefix'          => 'wpseo-',
            
'collapsible'              => false,
            
'collapsible_header_class' => '',
            
'expanded'                 => false,
            
'help_text'                => '',
            
'title_after'              => '',
            
'class'                    => '',
            
'content'                  => '',
            
'view_data'                => [],
        ];

        
$this->settings  wp_parse_args$settings$defaults );
        
$this->title     $title;
        
$this->view_file $view_file;
    }

    
/**
     * Renders the collapsible paper and returns it as a string.
     *
     * @return string The rendered paper.
     */
    
public function get_output() {
        
$view_variables $this->get_view_variables();

        
extract$view_variablesEXTR_SKIP );

        
$content $this->settings['content'];

        if ( 
$this->view_file !== null ) {
            
ob_start();
            require 
$this->view_file;
            
$content ob_get_clean();
        }

        
ob_start();
        require 
WPSEO_PATH 'admin/views/paper-collapsible.php';
        
$rendered_output ob_get_clean();

        return 
$rendered_output;
    }

    
/**
     * Retrieves the view variables.
     *
     * @return array The view variables.
     */
    
private function get_view_variables() {
        if ( 
$this->settings['help_text'] instanceof WPSEO_Admin_Help_Panel === false ) {
            
$this->settings['help_text'] = new WPSEO_Admin_Help_Panel'''''' );
        }

        
$view_variables = [
            
'class'                    => $this->settings['class'],
            
'collapsible'              => $this->settings['collapsible'],
            
'collapsible_config'       => $this->collapsible_config(),
            
'collapsible_header_class' => $this->settings['collapsible_header_class'],
            
'title_after'              => $this->settings['title_after'],
            
'help_text'                => $this->settings['help_text'],
            
'view_file'                => $this->view_file,
            
'title'                    => $this->title,
            
'paper_id'                 => $this->settings['paper_id'],
            
'paper_id_prefix'          => $this->settings['paper_id_prefix'],
            
'yform'                    => Yoast_Form::get_instance(),
        ];

        return 
array_merge$this->settings['view_data'], $view_variables );
    }

    
/**
     * Retrieves the collapsible config based on the settings.
     *
     * @return array The config.
     */
    
protected function collapsible_config() {
        if ( empty( 
$this->settings['collapsible'] ) ) {
            return [
                
'toggle_icon' => '',
                
'class'       => '',
                
'expanded'    => '',
            ];
        }

        if ( ! empty( 
$this->settings['expanded'] ) ) {
            return [
                
'toggle_icon' => 'dashicons-arrow-up-alt2',
                
'class'       => 'toggleable-container',
                
'expanded'    => 'true',
            ];
        }

        return [
            
'toggle_icon' => 'dashicons-arrow-down-alt2',
            
'class'       => 'toggleable-container toggleable-container-hidden',
            
'expanded'    => 'false',
        ];
    }
}
x

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