Test Failed
Push — develop ( 425fc0...4f2be8 )
by Paul
13:11
created

SiteReviewsTinymce   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 95
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
eloc 62
dl 0
loc 95
ccs 89
cts 89
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A shortcode() 0 3 1
B fields() 0 86 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Tinymce;
4
5
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
6
use GeminiLabs\SiteReviews\Modules\Rating;
7
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewsShortcode;
8
9
class SiteReviewsTinymce extends TinymceGenerator
10
{
11 1
    public function fields(): array
12
    {
13 1
        return [
14 1
            [
15 1
                'label' => esc_html_x('Assigned Pages', 'admin-text', 'site-reviews'),
16 1
                'name' => 'assigned_posts',
17 1
                'tooltip' => sprintf(esc_html_x('Limit reviews to those assigned to a Post ID. You may also enter %s to use the Post ID of the current page.', 'admin-text', 'site-reviews'), '"post_id"'),
18 1
                'type' => 'textbox',
19 1
            ],
20 1
            [
21 1
                'label' => esc_html_x('Assigned Categories', 'admin-text', 'site-reviews'),
22 1
                'name' => 'assigned_terms',
23 1
                'tooltip' => esc_html_x('Limit reviews to those assigned to a category. You may enter a Term ID or slug.', 'admin-text', 'site-reviews'),
24 1
                'type' => 'textbox',
25 1
            ],
26 1
            [
27 1
                'label' => esc_html_x('Assigned Users', 'admin-text', 'site-reviews'),
28 1
                'name' => 'assigned_users',
29 1
                'tooltip' => sprintf(esc_html_x('Limit reviews to those assigned to a User ID. You may also enter %s to use the ID of the logged-in user.', 'admin-text', 'site-reviews'), '"user_id"'),
30 1
                'type' => 'textbox',
31 1
            ],
32 1
            [
33 1
                'label' => esc_html_x('Terms Accepted', 'admin-text', 'site-reviews'),
34 1
                'name' => 'terms',
35 1
                'options' => $this->shortcode->options('terms'),
36 1
                'tooltip' => esc_html_x('Limit Reviews by Accepted Terms', 'admin-text', 'site-reviews'),
37 1
                'type' => 'listbox',
38 1
            ],
39 1
            [
40 1
                'label' => esc_html_x('Review Type', 'admin-text', 'site-reviews'),
41 1
                'name' => 'type',
42 1
                'options' => $this->shortcode->options('type'),
43 1
                'tooltip' => esc_html_x('Limit Reviews by review type', 'admin-text', 'site-reviews'),
44 1
                'type' => 'listbox',
45 1
            ],
46 1
            [
47 1
                'label' => esc_html_x('Minimum Rating', 'admin-text', 'site-reviews'),
48 1
                'name' => 'rating',
49 1
                'options' => glsr(Rating::class)->optionsArray(),
50 1
                'tooltip' => esc_html_x('The minimum rating to display (default: 1 star)', 'admin-text', 'site-reviews'),
51 1
                'type' => 'listbox',
52 1
            ],
53 1
            [
54 1
                'label' => esc_html_x('Display', 'admin-text', 'site-reviews'),
55 1
                'maxLength' => 5,
56 1
                'name' => 'display',
57 1
                'size' => 3,
58 1
                'text' => '10',
59 1
                'tooltip' => esc_html_x('The number of reviews to display per page (default: 10)', 'admin-text', 'site-reviews'),
60 1
                'type' => 'textbox',
61 1
            ],
62 1
            [
63 1
                'label' => esc_html_x('Pagination', 'admin-text', 'site-reviews'),
64 1
                'name' => 'pagination',
65 1
                'options' => $this->shortcode->options('pagination'),
66 1
                'type' => 'listbox',
67 1
            ],
68 1
            [
69 1
                'label' => esc_html_x('Schema', 'admin-text', 'site-reviews'),
70 1
                'name' => 'schema',
71 1
                'options' => [
72 1
                    '' => esc_html_x('Disabled', 'admin-text', 'site-reviews'),
73 1
                    'true' => esc_html_x('Enabled', 'admin-text', 'site-reviews'),
74 1
                ],
75 1
                'tooltip' => esc_html_x('Rich snippets are disabled by default.', 'admin-text', 'site-reviews'),
76 1
                'type' => 'listbox',
77 1
            ],
78 1
            [
79 1
                'columns' => 2,
80 1
                'items' => $this->hideOptions(),
81 1
                'label' => esc_html_x('Hide', 'admin-text', 'site-reviews'),
82 1
                'layout' => 'grid',
83 1
                'spacing' => 5,
84 1
                'type' => 'container',
85 1
            ],
86 1
            [
87 1
                'label' => esc_html_x('Custom ID', 'admin-text', 'site-reviews'),
88 1
                'name' => 'id',
89 1
                'tooltip' => esc_html_x('This should be a unique value.', 'admin-text', 'site-reviews'),
90 1
                'type' => 'textbox',
91 1
            ],
92 1
            [
93 1
                'label' => esc_html_x('Additional CSS classes', 'admin-text', 'site-reviews'),
94 1
                'name' => 'class',
95 1
                'tooltip' => esc_html_x('Separate multiple classes with spaces.', 'admin-text', 'site-reviews'),
96 1
                'type' => 'textbox',
97 1
            ],
98 1
        ];
99
    }
100
101 1
    public function shortcode(): ShortcodeContract
102
    {
103 1
        return glsr(SiteReviewsShortcode::class);
104
    }
105
}
106