Test Failed
Push — develop ( 8b2a32...47c531 )
by Paul
08:13
created

FlatsomeSiteReview   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 4
eloc 40
c 1
b 0
f 1
dl 0
loc 64
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A icon() 0 3 1
A name() 0 3 1
A shortcode() 0 3 1
A options() 0 42 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\Flatsome;
4
5
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
6
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewShortcode;
7
8
class FlatsomeSiteReview extends FlatsomeShortcode
9
{
10
    public function options(): array
11
    {
12
        return [
13
            'post_id' => [
14
                'type' => 'textfield',
15
                'heading' => esc_html_x('Review ID', 'admin-text', 'site-reviews'),
16
                'description' => esc_html_x('Enter the Post ID of the review you want to display.', 'admin-text', 'site-reviews'),
17
                'full_width' => true,
18
            ],
19
            'hide_group' => [
20
                'type' => 'group',
21
                'heading' => esc_html_x('Hide Fields', 'admin-text', 'site-reviews'),
22
                'options' => $this->hideOptions(),
23
            ],
24
            'advanced_group' => [
25
                'type' => 'group',
26
                'heading' => esc_html_x('Advanced', 'admin-text', 'site-reviews'),
27
                'options' => [
28
                    'id' => [
29
                        'type' => 'textfield',
30
                        'heading' => esc_html_x('Custom ID', 'admin-text', 'site-reviews'),
31
                        'description' => esc_html_x('This should be a unique value.', 'admin-text', 'site-reviews'),
32
                        'full_width' => true,
33
                    ],
34
                    'class' => [
35
                        'type' => 'textfield',
36
                        'heading' => esc_html_x('Additional CSS classes', 'admin-text', 'site-reviews'),
37
                        'description' => esc_html_x('Separate multiple classes with spaces.', 'admin-text', 'site-reviews'),
38
                        'full_width' => true,
39
                    ],
40
                    'visibility' => [
41
                        'type' => 'select',
42
                        'heading' => esc_html_x('Visibility', 'admin-text', 'site-reviews'),
43
                        'default' => '',
44
                        'options' => [
45
                            '' => esc_html_x('Visible', 'admin-text', 'site-reviews'),
46
                            'hidden' => esc_html_x('Hidden', 'admin-text', 'site-reviews'),
47
                            'hide-for-medium' => esc_html_x('Only for Desktop', 'admin-text', 'site-reviews'),
48
                            'show-for-small' => esc_html_x('Only for Mobile', 'admin-text', 'site-reviews'),
49
                            'show-for-medium hide-for-small' => esc_html_x('Only for Tablet', 'admin-text', 'site-reviews'),
50
                            'show-for-medium' => esc_html_x('Hide for Desktop', 'admin-text', 'site-reviews'),
51
                            'hide-for-small' => esc_html_x('Hide for Mobile', 'admin-text', 'site-reviews'),
52
                        ],
53
                    ],
54
                ],
55
            ],
56
        ];
57
    }
58
59
    protected function icon(): string
60
    {
61
        return glsr()->url('assets/images/icons/flatsome/flatsome-review.svg');
62
    }
63
64
    protected function name(): string
65
    {
66
        return esc_attr_x('Single Review', 'admin-text', 'site-reviews');
67
    }
68
69
    protected function shortcode(): ShortcodeContract
70
    {
71
        return glsr(SiteReviewShortcode::class);
1 ignored issue
show
Bug Best Practice introduced by
The expression return glsr(GeminiLabs\S...ReviewShortcode::class) could return the type callable which is incompatible with the type-hinted return GeminiLabs\SiteReviews\Contracts\ShortcodeContract. Consider adding an additional type-check to rule them out.
Loading history...
72
    }
73
}
74