/var/www/hkosl.com/aga/wp-content/plugins/wordpress-seo/admin/config-ui/fields/class-field.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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin\ConfigurationUI
 */

/**
 * Class WPSEO_Config_Field.
 */
class WPSEO_Config_Field {

    
/**
     * Field name.
     *
     * @var string
     */
    
protected $field;

    
/**
     * Component to use.
     *
     * @var string
     */
    
protected $component;

    
/**
     * Properties of this field.
     *
     * @var array
     */
    
protected $properties = array();

    
/**
     * Field requirements.
     *
     * @var array
     */
    
protected $requires = array();

    
/**
     * Value of this field.
     *
     * @var array|mixed
     */
    
protected $data = array();

    
/**
     * WPSEO_Config_Field constructor.
     *
     * @param string $field     The field name.
     * @param string $component The component to use.
     */
    
public function __construct$field$component ) {
        
$this->field     $field;
        
$this->component $component;
    }

    
/**
     * Get the identifier.
     *
     * @return string
     */
    
public function get_identifier() {
        return 
$this->field;
    }

    
/**
     * Get the component.
     *
     * @return string
     */
    
public function get_component() {
        return 
$this->component;
    }

    
/**
     * Set a property value.
     *
     * @param string $name  Property to set.
     * @param mixed  $value Value to apply.
     */
    
public function set_property$name$value ) {
        
$this->properties$name ] = $value;
    }

    
/**
     * Get all the properties.
     *
     * @return array
     */
    
public function get_properties() {
        return 
$this->properties;
    }

    
/**
     * Get the data.
     *
     * @return mixed
     */
    
public function get_data() {
        return 
$this->data;
    }

    
/**
     * Array representation of this object.
     *
     * @return array
     */
    
public function to_array() {
        
$output = array(
            
'componentName' => $this->get_component(),
        );

        
$properties $this->get_properties();
        if ( 
$properties ) {
            
$output['properties'] = $properties;
        }

        
$requires $this->get_requires();
        if ( ! empty( 
$requires ) ) {
            
$output['requires'] = $requires;
        }

        return 
$output;
    }

    
/**
     * Set the adapter to use.
     *
     * @param WPSEO_Configuration_Options_Adapter $adapter Adapter to register lookup on.
     */
    
public function set_adapterWPSEO_Configuration_Options_Adapter $adapter ) {
    }

    
/**
     * Requires another field to have a certain value.
     *
     * @param string $field Field to check for a certain value.
     * @param mixed  $value Value of the field.
     */
    
public function set_requires$field$value ) {
        
$this->requires = array(
            
'field' => $field,
            
'value' => $value,
        );
    }

    
/**
     * Get the required field settings (if present).
     *
     * @return array
     */
    
public function get_requires() {
        return 
$this->requires;
    }
}