1 | <?php |
||
14 | final class GravityView_Fields { |
||
15 | |||
16 | /* @var GravityView_Field[] */ |
||
|
|||
17 | protected static $_fields = array(); |
||
18 | |||
19 | /** |
||
20 | * @param GravityView_Field $field Field to register |
||
21 | * |
||
22 | * @throws Exception If requirements aren't met |
||
23 | * |
||
24 | * @return void |
||
25 | */ |
||
26 | public static function register( $field ) { |
||
27 | if ( ! is_subclass_of( $field, 'GravityView_Field' ) ) { |
||
28 | throw new Exception( 'Must be a subclass of GravityView_Field' ); |
||
29 | } |
||
30 | if ( empty( $field->name ) ) { |
||
31 | throw new Exception( 'The name must be set' ); |
||
32 | } |
||
33 | if ( isset( self::$_fields[ $field->name ] ) && ! defined( 'DOING_GRAVITYVIEW_TESTS' ) ) { |
||
34 | throw new Exception( 'Field type already registered: ' . $field->name ); |
||
35 | } |
||
36 | self::$_fields[ $field->name ] = $field; |
||
37 | } |
||
38 | |||
39 | /** |
||
40 | * @param array $properties |
||
41 | * |
||
42 | * @return GravityView_Field | bool |
||
43 | */ |
||
44 | public static function create( $properties ) { |
||
45 | $type = isset( $properties['type'] ) ? $properties['type'] : ''; |
||
46 | $type = empty( $properties['inputType'] ) ? $type : $properties['inputType']; |
||
47 | if ( empty( $type ) || ! isset( self::$_fields[ $type ] ) ) { |
||
48 | return new GravityView_Field( $properties ); |
||
49 | } |
||
50 | $class = self::$_fields[ $type ]; |
||
51 | $class_name = get_class( $class ); |
||
52 | $field = new $class_name( $properties ); |
||
53 | |||
54 | return $field; |
||
55 | } |
||
56 | |||
57 | /** |
||
58 | * Does the field exist (has it been registered)? |
||
59 | * |
||
60 | * @param string $field_name |
||
61 | * |
||
62 | * @return bool True: yes, it exists; False: nope |
||
63 | */ |
||
64 | public static function exists( $field_name ) { |
||
67 | |||
68 | /** |
||
69 | * @param string $field_name |
||
70 | * |
||
71 | * @return GravityView_Field |
||
72 | */ |
||
73 | public static function get_instance( $field_name ) { |
||
76 | |||
77 | /** |
||
78 | * Alias for get_instance() |
||
79 | * |
||
80 | * @param $field_name |
||
81 | * |
||
82 | * @return GravityView_Field |
||
83 | */ |
||
84 | public static function get( $field_name ) { |
||
87 | |||
88 | /** |
||
89 | * Get all fields |
||
90 | * |
||
91 | * @since 1.16 Added $group parameter |
||
92 | * |
||
93 | * @param string $group Optional. If defined, fetch all fields in a group |
||
94 | * |
||
95 | * @return GravityView_Field[] |
||
96 | */ |
||
97 | public static function get_all( $group = '' ) { |
||
111 | |||
112 | } |
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.
The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.
This check looks for comments that seem to be mostly valid code and reports them.