Test Failed
Push — develop ( fe7dfd...f4a85b )
by Paul
08:21
created

FusionSiteReviewsForm::feShortcode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\FusionBuilder;
4
5
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
6
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewsFormShortcode;
7
8
class FusionSiteReviewsForm extends FusionElement
9
{
10
    public static function elementParameters(): array
11
    {
12
        return [
13
            'assigned_posts' => [
14
                'default' => '',
15
                'heading' => esc_attr_x('Assign Review to a Page', 'admin-text', 'site-reviews'),
16
                'param_name' => 'assigned_posts',
17
                'type' => 'multiple_select',
18
                'placeholder_text' => esc_attr_x('Select or Leave Blank', 'admin-text', 'site-reviews'),
19
                'value' => [
20
                    'custom' => esc_attr_x('Specific Post ID', 'admin-text', 'site-reviews'),
21
                    'post_id' => esc_attr_x('The Current Page', 'admin-text', 'site-reviews'),
22
                    'parent_id' => esc_attr_x('The Parent Page', 'admin-text', 'site-reviews'),
23
                ],
24
            ],
25
            'assigned_posts_custom' => [
26
                'heading' => esc_attr_x('Assigned Post IDs', 'admin-text', 'site-reviews'),
27
                'description' => esc_attr_x('Separate values with a comma.', 'admin-text', 'site-reviews'),
28
                'param_name' => 'assigned_posts_custom',
29
                'type' => 'textfield',
30
                'value' => '',
31
                'dependency' => [
32
                    [
33
                        'element' => 'assigned_posts',
34
                        'value' => 'custom',
35
                        'operator' => 'contains',
36
                    ],
37
                ],
38
            ],
39
            'assigned_terms' => static::optionAssignedTerms(esc_attr_x('Assign Review to Categories', 'admin-text', 'site-reviews')),
40
            'assigned_users' => [
41
                'default' => '',
42
                'heading' => esc_attr_x('Assign Review to a User', 'admin-text', 'site-reviews'),
43
                'param_name' => 'assigned_users',
44
                'placeholder_text' => esc_attr_x('Select or Leave Blank', 'admin-text', 'site-reviews'),
45
                'type' => 'multiple_select',
46
                'value' => [
47
                    'custom' => esc_attr_x('Specific User ID', 'admin-text', 'site-reviews'),
48
                    'user_id' => esc_attr_x('The Logged-in user', 'admin-text', 'site-reviews'),
49
                    'author_id' => esc_attr_x('The Page author', 'admin-text', 'site-reviews'),
50
                    'profile_id' => esc_attr_x('The Profile user (BuddyPress/Ultimate Member)', 'admin-text', 'site-reviews'),
51
                ],
52
            ],
53
            'assigned_users_custom' => [
54
                'heading' => esc_attr_x('Assigned User IDs', 'admin-text', 'site-reviews'),
55
                'description' => esc_attr_x('Separate values with a comma.', 'admin-text', 'site-reviews'),
56
                'param_name' => 'assigned_users_custom',
57
                'type' => 'textfield',
58
                'value' => '',
59
                'dependency' => [
60
                    [
61
                        'element' => 'assigned_users',
62
                        'value' => 'custom',
63
                        'operator' => 'contains',
64
                    ],
65
                ],
66
            ],
67
            'hide' => [
68
                'default' => '',
69
                'heading' => esc_html_x('Hide Fields', 'admin-text', 'site-reviews'),
70
                'param_name' => 'hide',
71
                'placeholder_text' => esc_attr_x('Select Fields to Hide', 'admin-text', 'site-reviews'),
72
                'type' => 'multiple_select',
73
                'value' => static::feShortcode()->getHideOptions(),
74
            ],
75
            'class' => [
76
                'heading' => esc_attr_x('CSS Class', 'admin-text', 'site-reviews'),
77
                'description' => esc_attr_x('Add a class to the wrapping HTML element.', 'admin-text', 'site-reviews'),
78
                'param_name' => 'class',
79
                'type' => 'textfield',
80
                'value' => '',
81
            ],
82
            'id' => [
83
                'heading' => esc_attr_x('CSS ID', 'admin-text', 'site-reviews'),
84
                'description' => esc_attr_x('Add an ID to the wrapping HTML element.', 'admin-text', 'site-reviews'),
85
                'param_name' => 'id',
86
                'type' => 'textfield',
87
                'value' => '',
88
            ],
89
            'reviews_id' => [
90
                'heading' => esc_attr_x('Reviews CSS ID', 'admin-text', 'site-reviews'),
91
                'description' => esc_attr_x('Enter the CSS ID of a Latest Reviews element where the review should be displayed after submission.', 'admin-text', 'site-reviews'),
92
                'param_name' => 'reviews_id',
93
                'type' => 'textfield',
94
                'value' => '',
95
            ],
96
        ];
97
    }
98
99
    protected static function feIcon(): string
100
    {
101
        return 'fusion-glsr-form';
102
    }
103
104
    protected static function feShortcode(): ?ShortcodeContract
105
    {
106
        return glsr(SiteReviewsFormShortcode::class);
1 ignored issue
show
Bug Best Practice introduced by
The expression return glsr(GeminiLabs\S...wsFormShortcode::class) could return the type callable which is incompatible with the type-hinted return GeminiLabs\SiteReviews\C...\ShortcodeContract|null. Consider adding an additional type-check to rule them out.
Loading history...
107
    }
108
}
109