Passed
Push — develop ( 391f8f...187ad6 )
by Paul
13:53
created

SiteReviewsSummaryTinymce::shortcode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 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\SiteReviewsSummaryShortcode;
8
9
class SiteReviewsSummaryTinymce extends TinymceGenerator
10
{
11 8
    public function fields(): array
12
    {
13 8
        return [
14 8
            [
15 8
                'label' => esc_html_x('Assigned Pages', 'admin-text', 'site-reviews'),
16 8
                'name' => 'assigned_posts',
17 8
                '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 8
                'type' => 'textbox',
19 8
            ],
20 8
            [
21 8
                'label' => esc_html_x('Assigned Categories', 'admin-text', 'site-reviews'),
22 8
                'name' => 'assigned_terms',
23 8
                '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 8
                'type' => 'textbox',
25 8
            ],
26 8
            [
27 8
                'label' => esc_html_x('Assigned Users', 'admin-text', 'site-reviews'),
28 8
                'name' => 'assigned_users',
29 8
                '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 8
                'type' => 'textbox',
31 8
            ],
32 8
            [
33 8
                'label' => esc_html_x('Terms Accepted', 'admin-text', 'site-reviews'),
34 8
                'name' => 'terms',
35 8
                'options' => $this->shortcode->options('terms'),
36 8
                'tooltip' => esc_html_x('Limit Reviews by Accepted Terms', 'admin-text', 'site-reviews'),
37 8
                'type' => 'listbox',
38 8
            ],
39 8
            [
40 8
                'label' => esc_html_x('Review Type', 'admin-text', 'site-reviews'),
41 8
                'name' => 'type',
42 8
                'options' => $this->shortcode->options('type'),
43 8
                'tooltip' => esc_html_x('Limit Reviews by review type', 'admin-text', 'site-reviews'),
44 8
                'type' => 'listbox',
45 8
            ],
46 8
            [
47 8
                'label' => esc_html_x('Minimum Rating', 'admin-text', 'site-reviews'),
48 8
                'name' => 'rating',
49 8
                'options' => glsr(Rating::class)->optionsArray(),
50 8
                'tooltip' => esc_html_x('The minimum rating to display (default: 1 star)?', 'admin-text', 'site-reviews'),
51 8
                'type' => 'listbox',
52 8
            ],
53 8
            [
54 8
                'label' => esc_html_x('Rating Field Name', 'admin-text', 'site-reviews'),
55 8
                'name' => 'rating_field',
56 8
                'tooltip' => sprintf(esc_html_x('Use the %s addon to add custom rating fields.', 'admin-text', 'site-reviews'),
57 8
                    sprintf('"%s"', _x('Review Forms', 'addon name (admin-text)', 'site-reviews'))
58 8
                ),
59 8
                'type' => 'textbox',
60 8
            ],
61 8
            [
62 8
                'label' => esc_html_x('Schema', 'admin-text', 'site-reviews'),
63 8
                'name' => 'schema',
64 8
                'options' => [
65 8
                    '' => esc_html_x('Disabled', 'admin-text', 'site-reviews'),
66 8
                    'true' => esc_html_x('Enabled', 'admin-text', 'site-reviews'),
67 8
                ],
68 8
                'tooltip' => esc_html_x('Rich snippets are disabled by default.', 'admin-text', 'site-reviews'),
69 8
                'type' => 'listbox',
70 8
            ],
71 8
            [
72 8
                'columns' => 2,
73 8
                'items' => $this->hideOptions(),
74 8
                'label' => esc_html_x('Hide', 'admin-text', 'site-reviews'),
75 8
                'layout' => 'grid',
76 8
                'spacing' => 5,
77 8
                'type' => 'container',
78 8
            ],
79 8
            [
80 8
                'label' => esc_html_x('Custom ID', 'admin-text', 'site-reviews'),
81 8
                'name' => 'id',
82 8
                'tooltip' => esc_html_x('This should be a unique value.', 'admin-text', 'site-reviews'),
83 8
                'type' => 'textbox',
84 8
            ],
85 8
            [
86 8
                'label' => esc_html_x('Additional CSS classes', 'admin-text', 'site-reviews'),
87 8
                'name' => 'class',
88 8
                'tooltip' => esc_html_x('Separate multiple classes with spaces.', 'admin-text', 'site-reviews'),
89 8
                'type' => 'textbox',
90 8
            ],
91 8
        ];
92
    }
93
94 8
    public function shortcode(): ShortcodeContract
95
    {
96 8
        return glsr(SiteReviewsSummaryShortcode::class);
97
    }
98
}
99