1 | <?php |
||
12 | class GF_Field extends Field { |
||
13 | |||
14 | /** |
||
15 | * @var \GF_Field The backing Gravity Forms field. |
||
16 | */ |
||
17 | public $field; |
||
18 | |||
19 | /** |
||
20 | * Create self from a configuration array. |
||
21 | * |
||
22 | * @param array $configuration The configuration array. |
||
23 | * @see \GV\Field::as_configuration() |
||
24 | * @internal |
||
25 | * @since 2.0 |
||
26 | * |
||
27 | * @return \GV\GF_Field|null The field implementation or null on error. |
||
28 | */ |
||
29 | 141 | public static function from_configuration( $configuration ) { |
|
50 | |||
51 | /** |
||
52 | * Get a \GV\GF_Field by \GV\GF_Form and Field ID. |
||
53 | * |
||
54 | * @param \GV\GF_Form $form The Gravity Form form. |
||
55 | * @param int $field_id The Gravity Form field ID for the $form. |
||
56 | * |
||
57 | * @return \GV\Field|null The requested field or null if not found. |
||
58 | */ |
||
59 | 145 | public static function by_id( $form, $field_id ) { |
|
85 | |||
86 | /** |
||
87 | * Retrieve the label for this field. |
||
88 | * |
||
89 | * Requires a \GV\GF_Form in this implementation. |
||
90 | * |
||
91 | * @param \GV\View $view The view for this context if applicable. |
||
92 | * @param \GV\Source $source The source (form) for this context if applicable. |
||
93 | * @param \GV\Entry $entry The entry for this context if applicable. |
||
94 | * @param \GV\Request $request The request for this context if applicable. |
||
95 | * |
||
96 | * @return string The label for this Gravity Forms field. |
||
97 | */ |
||
98 | 31 | public function get_label( View $view = null, Source $source = null, Entry $entry = null, Request $request = null ) { |
|
99 | |||
100 | 31 | if ( ! $this->show_label ) { |
|
101 | return ''; |
||
102 | } |
||
103 | |||
104 | 31 | if ( $label = parent::get_label( $view, $source, $entry, $request ) ) { |
|
105 | 1 | return $label; |
|
106 | } |
||
107 | |||
108 | 30 | if ( ! $source || ! is_object( $source ) || ! is_a( $source, '\GV\GF_Form' ) ) { |
|
109 | gravityview()->log->error( '$source is not a valid \GV\GF_Form instance' ); |
||
110 | return null; |
||
111 | } |
||
112 | |||
113 | 30 | if ( $this->label ) { |
|
114 | 28 | return $this->label; |
|
115 | } |
||
116 | |||
117 | /** This is a complex Gravity Forms input. */ |
||
118 | 2 | if ( $input = \GFFormsModel::get_input( $this->field, $this->ID ) ) { |
|
119 | $label = ! empty( $input['customLabel'] ) ? $input['customLabel'] : $input['label']; |
||
120 | } else { |
||
121 | /** This is a field with one label. */ |
||
122 | 2 | $label = $this->field->get_field_label( true, $this->label ); |
|
123 | } |
||
124 | |||
125 | 2 | return $label; |
|
126 | } |
||
127 | |||
128 | /** |
||
129 | * Retrieve the value for this field. |
||
130 | * |
||
131 | * Requires a \GV\GF_Entry in this implementation. |
||
132 | * |
||
133 | * @param \GV\View $view The view for this context if applicable. |
||
134 | * @param \GV\Source $source The source (form) for this context if applicable. |
||
135 | * @param \GV\Entry $entry The entry for this context if applicable. |
||
136 | * @param \GV\Request $request The request for this context if applicable. |
||
137 | * |
||
138 | * @return mixed The value for this field. |
||
139 | */ |
||
140 | 59 | public function get_value( View $view = null, Source $source = null, Entry $entry = null, Request $request = null ) { |
|
151 | |||
152 | /** |
||
153 | * A proxy getter for the backing GravityView field. |
||
154 | * |
||
155 | * The view field configuration is checked first, though. |
||
156 | * |
||
157 | * @param string $key The property to get. |
||
158 | * |
||
159 | * @return mixed The value of the Gravity View field property, or null if not exists. |
||
160 | */ |
||
161 | 74 | public function __get( $key ) { |
|
170 | } |
||
171 |
Since your code implements the magic setter
_set
, this function will be called for any write access on an undefined variable. You can add the@property
annotation to your class or interface to document the existence of this variable.Since the property has write access only, you can use the @property-write annotation instead.
Of course, you may also just have mistyped another name, in which case you should fix the error.
See also the PhpDoc documentation for @property.