| @@ -233,9 +233,18 @@ | ||
| 233 | 233 | $this->import_old_way( $data ); |
| 234 | 234 | } else { |
| 235 | 235 | foreach ( array_keys( $this->annotations ) as $property ) { |
| 236 | 236 | if ( isset( $data[ $property ] ) && $this->has_property( $property ) ) { |
| 237 | - $this->$property = $data[ $property ]; | |
| 237 | + $value = $data[ $property ]; | |
| 238 | + $type = $this->annotations[ $property ]['type']; | |
| 239 | + if ( false !== $type ) { | |
| 240 | + if ( 'boolean' === $type || 'bool' === $type ) { | |
| 241 | + $value = filter_var( $value, FILTER_VALIDATE_BOOLEAN ); | |
| 242 | + } else { | |
| 243 | + settype( $value, $type ); | |
| 244 | + } | |
| 245 | + } | |
| 246 | + $this->$property = $value; | |
| 238 | 247 | } |
| 239 | 248 | } |
| 240 | 249 | |
| 241 | 250 | $this->sanitize(); |