/var/www/hkosl.com/aga/wp-content/plugins/wordpress-seo/admin/class-admin-help-panel.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
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin
 */

/**
 * Generates the HTML for an inline Help Button and Panel.
 */
class WPSEO_Admin_Help_Panel {

    
/**
     * @var string
     */
    
private $id;

    
/**
     * @var string
     */
    
private $help_button_text;

    
/**
     * @var string
     */
    
private $help_content;

    
/**
     * @var string
     */
    
private $wrapper;

    
/**
     * Constructor.
     *
     * @param string $id                Unique identifier of the element the inline help refers to, used as an identifier in the html.
     * @param string $help_button_text  The Help Button text. Needs a properly escaped string.
     * @param string $help_content      The Help Panel content. Needs a properly escaped string (might contain HTML).
     * @param string $wrapper           Optional Whether to print out a container div element for the Help Panel, used for styling.
     *                                  Pass a `has-wrapper` value to print out the container. Default: no container.
     */
    
public function __construct$id$help_button_text$help_content$wrapper '' ) {
        
$this->id               $id;
        
$this->help_button_text $help_button_text;
        
$this->help_content     $help_content;
        
$this->wrapper          $wrapper;
    }

    
/**
     * Returns the html for the Help Button.
     *
     * @return string
     */
    
public function get_button_html() {

        if ( ! 
$this->id || ! $this->help_button_text || ! $this->help_content ) {
            return 
'';
        }

        return 
sprintf(
            
' <button type="button" class="yoast_help yoast-help-button dashicons" id="%1$s-help-toggle" aria-expanded="false" aria-controls="%1$s-help"><span class="yoast-help-icon" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span></button>',
            
esc_attr$this->id ),
            
$this->help_button_text
        
);
    }

    
/**
     * Returns the html for the Help Panel.
     *
     * @return string
     */
    
public function get_panel_html() {

        if ( ! 
$this->id || ! $this->help_button_text || ! $this->help_content ) {
            return 
'';
        }

        
$wrapper_start '';
        
$wrapper_end   '';

        if ( 
'has-wrapper' === $this->wrapper ) {
            
$wrapper_start '<div class="yoast-seo-help-container">';
            
$wrapper_end   '</div>';
        }

        return 
sprintf(
            
'%1$s<p id="%2$s-help" class="yoast-help-panel">%3$s</p>%4$s',
            
$wrapper_start,
            
esc_attr$this->id ),
            
$this->help_content,
            
$wrapper_end
        
);
    }
}