@@ -1,37 +1,37 @@ discard block |
||
1 | -<?php defined('WPINC') || die; ?> |
|
1 | +<?php defined( 'WPINC' ) || die; ?> |
|
2 | 2 | |
3 | 3 | <form method="post" class="glsr-form-sync glsr-status"> |
4 | - <?php $selected = key($services); ?> |
|
4 | + <?php $selected = key( $services ); ?> |
|
5 | 5 | <table class="wp-list-table widefat fixed striped"> |
6 | 6 | <thead> |
7 | 7 | <tr> |
8 | 8 | <td class="check-column glsr-radio-column"><span class="dashicons-before dashicons-update"></span></td> |
9 | - <th scope="col" class="column-primary"><?= __('Service', 'site-reviews'); ?></th> |
|
10 | - <th scope="col" class="column-total_fetched"><?= __('Reviews', 'site-reviews'); ?></th> |
|
11 | - <th scope="col" class="column-last_sync"><?= __('Last Sync', 'site-reviews'); ?></th> |
|
9 | + <th scope="col" class="column-primary"><?= __( 'Service', 'site-reviews' ); ?></th> |
|
10 | + <th scope="col" class="column-total_fetched"><?= __( 'Reviews', 'site-reviews' ); ?></th> |
|
11 | + <th scope="col" class="column-last_sync"><?= __( 'Last Sync', 'site-reviews' ); ?></th> |
|
12 | 12 | </tr> |
13 | 13 | </thead> |
14 | 14 | <tbody> |
15 | - <?php foreach ($services as $slug => $details) : ?> |
|
15 | + <?php foreach( $services as $slug => $details ) : ?> |
|
16 | 16 | <tr class="service-<?= $slug; ?>"> |
17 | 17 | <th scope="row" class="check-column"> |
18 | - <input type="radio" name="{{ id }}[service]" value="<?= $slug; ?>" <?php checked($slug, $selected); ?>> |
|
18 | + <input type="radio" name="{{ id }}[service]" value="<?= $slug; ?>" <?php checked( $slug, $selected ); ?>> |
|
19 | 19 | </th> |
20 | 20 | <td class="column-primary has-row-actions"> |
21 | 21 | <strong><?= $details['name']; ?></strong> |
22 | 22 | <div class="row-actions"> |
23 | - <span><a href="{{ base_url }}&page=settings#tab-addons"><?= __('Settings', 'site-reviews'); ?></a> | </span> |
|
24 | - <span><a href="{{ base_url }}&page=settings#tab-licenses"><?= __('License', 'site-reviews'); ?></a> | </span> |
|
25 | - <span><a href="{{ base_url }}&page=documentation#tab-addons"><?= __('Documentation', 'site-reviews'); ?></a></span> |
|
23 | + <span><a href="{{ base_url }}&page=settings#tab-addons"><?= __( 'Settings', 'site-reviews' ); ?></a> | </span> |
|
24 | + <span><a href="{{ base_url }}&page=settings#tab-licenses"><?= __( 'License', 'site-reviews' ); ?></a> | </span> |
|
25 | + <span><a href="{{ base_url }}&page=documentation#tab-addons"><?= __( 'Documentation', 'site-reviews' ); ?></a></span> |
|
26 | 26 | </div> |
27 | 27 | <button type="button" class="toggle-row"> |
28 | - <span class="screen-reader-text"><?= __('Show more details', 'site-reviews'); ?></span> |
|
28 | + <span class="screen-reader-text"><?= __( 'Show more details', 'site-reviews' ); ?></span> |
|
29 | 29 | </button> |
30 | 30 | </td> |
31 | - <td class="column-total_fetched" data-colname="<?= __('Reviews', 'site-reviews'); ?>"> |
|
31 | + <td class="column-total_fetched" data-colname="<?= __( 'Reviews', 'site-reviews' ); ?>"> |
|
32 | 32 | <a href="<?= $details['reviews_url']; ?>"><?= $details['reviews_count']; ?></a> |
33 | 33 | </td> |
34 | - <td class="column-last_sync" data-colname="<?= __('Last Sync', 'site-reviews'); ?>"> |
|
34 | + <td class="column-last_sync" data-colname="<?= __( 'Last Sync', 'site-reviews' ); ?>"> |
|
35 | 35 | <?= $details['last_sync']; ?> |
36 | 36 | </td> |
37 | 37 | </tr> |
@@ -40,12 +40,12 @@ discard block |
||
40 | 40 | <tfoot> |
41 | 41 | <tr> |
42 | 42 | <td colspan="4" class="no-items" style="display:table-cell!important;"> |
43 | - <div class="glsr-progress" data-active-text="<?= __('Please wait...', 'site-reviews'); ?>"> |
|
43 | + <div class="glsr-progress" data-active-text="<?= __( 'Please wait...', 'site-reviews' ); ?>"> |
|
44 | 44 | <div class="glsr-progress-bar" style="width: 0%;"> |
45 | - <span class="glsr-progress-status"><?= __('Inactive', 'site-reviews'); ?></span> |
|
45 | + <span class="glsr-progress-status"><?= __( 'Inactive', 'site-reviews' ); ?></span> |
|
46 | 46 | </div> |
47 | 47 | <div class="glsr-progress-background"> |
48 | - <span class="glsr-progress-status"><?= __('Inactive', 'site-reviews'); ?></span> |
|
48 | + <span class="glsr-progress-status"><?= __( 'Inactive', 'site-reviews' ); ?></span> |
|
49 | 49 | </div> |
50 | 50 | </div> |
51 | 51 | </td> |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | </table> |
55 | 55 | <div class="tablenav bottom"> |
56 | 56 | <button type="submit" class="glsr-button button" id="sync-reviews"> |
57 | - <span data-loading="<?= __('Syncing...', 'site-reviews'); ?>"><?= __('Sync Reviews', 'site-reviews'); ?></span> |
|
57 | + <span data-loading="<?= __( 'Syncing...', 'site-reviews' ); ?>"><?= __( 'Sync Reviews', 'site-reviews' ); ?></span> |
|
58 | 58 | </button> |
59 | 59 | </div> |
60 | 60 | </form> |
@@ -1,10 +1,10 @@ |
||
1 | 1 | <div class="notice is-dismissible glsr-notice" data-dismiss="trustalyze"> |
2 | 2 | <div class="glsr-notice-icon"> |
3 | - <img width="96" height="96" src="<?= glsr()->url('assets/images/trustalyze-badge.png'); ?>"> |
|
3 | + <img width="96" height="96" src="<?= glsr()->url( 'assets/images/trustalyze-badge.png' ); ?>"> |
|
4 | 4 | </div> |
5 | 5 | <div class="glsr-notice-content"> |
6 | 6 | <h3>Validate Your Reviews on the Blockchain With the Trustalyze Confidence System</h3> |
7 | - <p>Site Reviews now integrates with the Trustalyze Confidence System which uses blockchain technology to verify to your visitors and customers that your reviews are authentic. Simply create a free Trustalyze account and <a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#tab-general'); ?>">enter your credentials in the Settings</a>. Site Reviews will take care of the rest!</p> |
|
7 | + <p>Site Reviews now integrates with the Trustalyze Confidence System which uses blockchain technology to verify to your visitors and customers that your reviews are authentic. Simply create a free Trustalyze account and <a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#tab-general' ); ?>">enter your credentials in the Settings</a>. Site Reviews will take care of the rest!</p> |
|
8 | 8 | <a href="https://trustalyze.com/plans?ref=105" class="button" target="_blank">Create Your Trustalyze Account</a> |
9 | 9 | </div> |
10 | 10 | </div> |
@@ -1,4 +1,4 @@ |
||
1 | 1 | <div class="notice notice-info is-dismissible glsr-notice" data-dismiss="welcome"> |
2 | 2 | <p><?= $text; ?></p> |
3 | - <p><a class="button button-small" href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=welcome#tab-whatsnew'); ?>">See what's new</a></p> |
|
3 | + <p><a class="button button-small" href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=welcome#tab-whatsnew' ); ?>">See what's new</a></p> |
|
4 | 4 | </div> |
@@ -1,5 +1,5 @@ |
||
1 | -<?php defined('WPINC') || die; ?> |
|
1 | +<?php defined( 'WPINC' ) || die; ?> |
|
2 | 2 | |
3 | -<strong><a href="<?= esc_url(admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#tab-licenses')); ?>"> |
|
4 | - <?= __('Enter a valid license key for automatic updates.', 'site-reviews'); ?> |
|
3 | +<strong><a href="<?= esc_url( admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#tab-licenses' ) ); ?>"> |
|
4 | + <?= __( 'Enter a valid license key for automatic updates.', 'site-reviews' ); ?> |
|
5 | 5 | </a></strong> |
@@ -1,552 +1,552 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | return [ |
4 | - 'settings.general.style' => [ |
|
5 | - 'default' => 'default', |
|
6 | - 'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'), |
|
7 | - 'label' => __('Plugin Style', 'site-reviews'), |
|
8 | - 'options' => [ |
|
9 | - 'bootstrap_4' => 'CSS Framework: Bootstrap 4', |
|
10 | - 'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)', |
|
11 | - 'contact_form_7' => 'Plugin: Contact Form 7 (v5)', |
|
12 | - 'ninja_forms' => 'Plugin: Ninja Forms (v3)', |
|
13 | - 'wpforms' => 'Plugin: WPForms Lite (v1)', |
|
14 | - 'default' => __('Site Reviews (default)', 'site-reviews'), |
|
15 | - 'minimal' => __('Site Reviews (minimal)', 'site-reviews'), |
|
16 | - 'divi' => 'Theme: Divi (v3)', |
|
17 | - 'materialize' => 'Theme: Materialize', |
|
18 | - 'twentyfifteen' => 'Theme: Twenty Fifteen', |
|
19 | - 'twentyseventeen' => 'Theme: Twenty Seventeen', |
|
20 | - 'twentynineteen' => 'Theme: Twenty Nineteen', |
|
21 | - ], |
|
22 | - 'type' => 'select', |
|
23 | - ], |
|
24 | - 'settings.general.require.approval' => [ |
|
25 | - 'default' => 'no', |
|
26 | - 'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'), |
|
27 | - 'label' => __('Require Approval', 'site-reviews'), |
|
28 | - 'type' => 'yes_no', |
|
29 | - ], |
|
30 | - 'settings.general.require.login' => [ |
|
31 | - 'default' => 'no', |
|
32 | - 'description' => __('Only allow review submissions from registered users.', 'site-reviews'), |
|
33 | - 'label' => __('Require Login', 'site-reviews'), |
|
34 | - 'type' => 'yes_no', |
|
35 | - ], |
|
36 | - 'settings.general.require.login_register' => [ |
|
37 | - 'default' => 'no', |
|
38 | - 'depends_on' => [ |
|
39 | - 'settings.general.require.login' => 'yes', |
|
40 | - ], |
|
41 | - 'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'), |
|
42 | - '<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>' |
|
43 | - ), |
|
44 | - 'label' => __('Show Registration Link', 'site-reviews'), |
|
45 | - 'type' => 'yes_no', |
|
46 | - ], |
|
47 | - 'settings.general.multilingual' => [ |
|
48 | - 'default' => '', |
|
49 | - 'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'), |
|
50 | - 'label' => __('Multilingual', 'site-reviews'), |
|
51 | - 'options' => [ |
|
52 | - '' => __('No Integration', 'site-reviews'), |
|
53 | - 'polylang' => __('Integrate with Polylang', 'site-reviews'), |
|
54 | - 'wpml' => __('Integrate with WPML', 'site-reviews'), |
|
55 | - ], |
|
56 | - 'type' => 'select', |
|
57 | - ], |
|
58 | - 'settings.general.trustalyze' => [ |
|
59 | - 'default' => 'no', |
|
60 | - 'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'), |
|
61 | - '<a href="https://trustalyze.com/plans?ref=105" target="_blank">Trustalyze Confidence System</a>' |
|
62 | - ), |
|
63 | - 'label' => __('Blockchain Validation', 'site-reviews'), |
|
64 | - 'type' => 'yes_no', |
|
65 | - ], |
|
66 | - 'settings.general.trustalyze_email' => [ |
|
67 | - 'default' => '', |
|
68 | - 'depends_on' => [ |
|
69 | - 'settings.general.trustalyze' => ['yes'], |
|
70 | - ], |
|
71 | - 'description' => __('Enter your Trustalyze account email here.', 'site-reviews'), |
|
72 | - 'label' => __('Trustalyze Email', 'site-reviews'), |
|
73 | - 'type' => 'text', |
|
74 | - ], |
|
75 | - 'settings.general.trustalyze_serial' => [ |
|
76 | - 'default' => '', |
|
77 | - 'depends_on' => [ |
|
78 | - 'settings.general.trustalyze' => ['yes'], |
|
79 | - ], |
|
80 | - 'description' => __('Enter your Trustalyze account serial key here.', 'site-reviews'), |
|
81 | - 'label' => __('Trustalyze Serial Key', 'site-reviews'), |
|
82 | - 'type' => 'password', |
|
83 | - ], |
|
84 | - 'settings.general.notifications' => [ |
|
85 | - 'default' => [], |
|
86 | - 'label' => __('Notifications', 'site-reviews'), |
|
87 | - 'options' => [ |
|
88 | - 'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>', |
|
89 | - 'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'), |
|
90 | - 'custom' => __('Send to one or more email addresses', 'site-reviews'), |
|
91 | - 'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'), |
|
92 | - ], |
|
93 | - 'type' => 'checkbox', |
|
94 | - ], |
|
95 | - 'settings.general.notification_email' => [ |
|
96 | - 'default' => '', |
|
97 | - 'depends_on' => [ |
|
98 | - 'settings.general.notifications' => ['custom'], |
|
99 | - ], |
|
100 | - 'label' => __('Send Notification Emails To', 'site-reviews'), |
|
101 | - 'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'), |
|
102 | - 'type' => 'text', |
|
103 | - ], |
|
104 | - 'settings.general.notification_slack' => [ |
|
105 | - 'default' => '', |
|
106 | - 'depends_on' => [ |
|
107 | - 'settings.general.notifications' => ['slack'], |
|
108 | - ], |
|
109 | - 'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'), |
|
110 | - '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>' |
|
111 | - ), |
|
112 | - 'label' => __('Slack Webhook URL', 'site-reviews'), |
|
113 | - 'type' => 'text', |
|
114 | - ], |
|
115 | - 'settings.general.notification_message' => [ |
|
116 | - 'default' => glsr('Modules\Html\Template')->build('templates/email-notification'), |
|
117 | - 'depends_on' => [ |
|
118 | - 'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'], |
|
119 | - ], |
|
120 | - 'description' => __( |
|
121 | - 'To restore the default text, save an empty template. '. |
|
122 | - 'If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href="https://api.slack.com/docs/attachments">Message Attachments</a> have been disabled. Available template tags:'. |
|
123 | - '<br><code>{review_rating}</code> The review rating number (1-5)'. |
|
124 | - '<br><code>{review_title}</code> The review title'. |
|
125 | - '<br><code>{review_content}</code> The review content'. |
|
126 | - '<br><code>{review_author}</code> The review author'. |
|
127 | - '<br><code>{review_email}</code> The email of the review author'. |
|
128 | - '<br><code>{review_ip}</code> The IP address of the review author'. |
|
129 | - '<br><code>{review_link}</code> The link to edit/view a review', |
|
130 | - 'site-reviews' |
|
131 | - ), |
|
132 | - 'label' => __('Notification Template', 'site-reviews'), |
|
133 | - 'rows' => 10, |
|
134 | - 'type' => 'code', |
|
135 | - ], |
|
136 | - 'settings.reviews.date.format' => [ |
|
137 | - 'default' => '', |
|
138 | - 'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'), |
|
139 | - '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>' |
|
140 | - ), |
|
141 | - 'label' => __('Date Format', 'site-reviews'), |
|
142 | - 'options' => [ |
|
143 | - '' => __('Use the default date format', 'site-reviews'), |
|
144 | - 'relative' => __('Use a relative date format', 'site-reviews'), |
|
145 | - 'custom' => __('Use a custom date format', 'site-reviews'), |
|
146 | - ], |
|
147 | - 'type' => 'select', |
|
148 | - ], |
|
149 | - 'settings.reviews.date.custom' => [ |
|
150 | - 'default' => get_option('date_format'), |
|
151 | - 'depends_on' => [ |
|
152 | - 'settings.reviews.date.format' => 'custom', |
|
153 | - ], |
|
154 | - 'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'), |
|
155 | - 'label' => __('Custom Date Format', 'site-reviews'), |
|
156 | - 'type' => 'text', |
|
157 | - ], |
|
158 | - 'settings.reviews.name.format' => [ |
|
159 | - 'default' => '', |
|
160 | - 'description' => __('Choose how names are shown in your reviews.', 'site-reviews'), |
|
161 | - 'label' => __('Name Format', 'site-reviews'), |
|
162 | - 'options' => [ |
|
163 | - '' => __('Use the name as given', 'site-reviews'), |
|
164 | - 'first' => __('Use the first name only', 'site-reviews'), |
|
165 | - 'first_initial' => __('Convert first name to an initial', 'site-reviews'), |
|
166 | - 'last_initial' => __('Convert last name to an initial', 'site-reviews'), |
|
167 | - 'initials' => __('Convert to all initials', 'site-reviews'), |
|
168 | - ], |
|
169 | - 'type' => 'select', |
|
170 | - ], |
|
171 | - 'settings.reviews.name.initial' => [ |
|
172 | - 'default' => '', |
|
173 | - 'depends_on' => [ |
|
174 | - 'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'], |
|
175 | - ], |
|
176 | - 'description' => __('Choose how the initial is displayed.', 'site-reviews'), |
|
177 | - 'label' => __('Initial Format', 'site-reviews'), |
|
178 | - 'options' => [ |
|
179 | - '' => __('Initial with a space', 'site-reviews'), |
|
180 | - 'period' => __('Initial with a period', 'site-reviews'), |
|
181 | - 'period_space' => __('Initial with a period and a space', 'site-reviews'), |
|
182 | - ], |
|
183 | - 'type' => 'select', |
|
184 | - ], |
|
185 | - 'settings.reviews.assigned_links' => [ |
|
186 | - 'default' => 'no', |
|
187 | - 'description' => __('Display a link to the assigned post of a review.', 'site-reviews'), |
|
188 | - 'label' => __('Enable Assigned Links', 'site-reviews'), |
|
189 | - 'type' => 'yes_no', |
|
190 | - ], |
|
191 | - 'settings.reviews.avatars' => [ |
|
192 | - 'default' => 'no', |
|
193 | - 'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'), |
|
194 | - 'label' => __('Enable Avatars', 'site-reviews'), |
|
195 | - 'type' => 'yes_no', |
|
196 | - ], |
|
197 | - 'settings.reviews.avatars_regenerate' => [ |
|
198 | - 'default' => 'no', |
|
199 | - 'depends_on' => [ |
|
200 | - 'settings.reviews.avatars' => 'yes', |
|
201 | - ], |
|
202 | - 'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'), |
|
203 | - 'label' => __('Regenerate Avatars', 'site-reviews'), |
|
204 | - 'type' => 'yes_no', |
|
205 | - ], |
|
206 | - 'settings.reviews.avatars_size' => [ |
|
207 | - 'default' => 40, |
|
208 | - 'depends_on' => [ |
|
209 | - 'settings.reviews.avatars' => 'yes', |
|
210 | - ], |
|
211 | - 'description' => __('Set the avatar size in pixels.', 'site-reviews'), |
|
212 | - 'label' => __('Avatar Size', 'site-reviews'), |
|
213 | - 'type' => 'number', |
|
214 | - ], |
|
215 | - 'settings.reviews.excerpts' => [ |
|
216 | - 'default' => 'yes', |
|
217 | - 'description' => __('Display an excerpt instead of the full review.', 'site-reviews'), |
|
218 | - 'label' => __('Enable Excerpts', 'site-reviews'), |
|
219 | - 'type' => 'yes_no', |
|
220 | - ], |
|
221 | - 'settings.reviews.excerpts_length' => [ |
|
222 | - 'default' => 55, |
|
223 | - 'depends_on' => [ |
|
224 | - 'settings.reviews.excerpts' => 'yes', |
|
225 | - ], |
|
226 | - 'description' => __('Set the excerpt word length.', 'site-reviews'), |
|
227 | - 'label' => __('Excerpt Length', 'site-reviews'), |
|
228 | - 'type' => 'number', |
|
229 | - ], |
|
230 | - 'settings.reviews.fallback' => [ |
|
231 | - 'default' => 'yes', |
|
232 | - 'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'), |
|
233 | - '<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#tab-translations').'">'.__('Translations', 'site-reviews').'</a>', |
|
234 | - '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>' |
|
235 | - ), |
|
236 | - 'label' => __('Enable Fallback Text', 'site-reviews'), |
|
237 | - 'type' => 'yes_no', |
|
238 | - ], |
|
239 | - 'settings.schema.type.default' => [ |
|
240 | - 'default' => 'LocalBusiness', |
|
241 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>', |
|
242 | - 'label' => __('Default Schema Type', 'site-reviews'), |
|
243 | - 'options' => [ |
|
244 | - 'LocalBusiness' => __('Local Business', 'site-reviews'), |
|
245 | - 'Product' => __('Product', 'site-reviews'), |
|
246 | - 'custom' => __('Custom', 'site-reviews'), |
|
247 | - ], |
|
248 | - 'type' => 'select', |
|
249 | - ], |
|
250 | - 'settings.schema.type.custom' => [ |
|
251 | - 'default' => '', |
|
252 | - 'depends_on' => [ |
|
253 | - 'settings.schema.type.default' => 'custom', |
|
254 | - ], |
|
255 | - 'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>', |
|
256 | - 'label' => __('Custom Schema Type', 'site-reviews'), |
|
257 | - 'type' => 'text', |
|
258 | - ], |
|
259 | - 'settings.schema.name.default' => [ |
|
260 | - 'default' => 'post', |
|
261 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>', |
|
262 | - 'label' => __('Default Name', 'site-reviews'), |
|
263 | - 'options' => [ |
|
264 | - 'post' => __('Use the assigned or current page title', 'site-reviews'), |
|
265 | - 'custom' => __('Enter a custom title', 'site-reviews'), |
|
266 | - ], |
|
267 | - 'type' => 'select', |
|
268 | - ], |
|
269 | - 'settings.schema.name.custom' => [ |
|
270 | - 'default' => '', |
|
271 | - 'depends_on' => [ |
|
272 | - 'settings.schema.name.default' => 'custom', |
|
273 | - ], |
|
274 | - 'label' => __('Custom Name', 'site-reviews'), |
|
275 | - 'type' => 'text', |
|
276 | - ], |
|
277 | - 'settings.schema.description.default' => [ |
|
278 | - 'default' => 'post', |
|
279 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>', |
|
280 | - 'label' => __('Default Description', 'site-reviews'), |
|
281 | - 'options' => [ |
|
282 | - 'post' => __('Use the assigned or current page excerpt', 'site-reviews'), |
|
283 | - 'custom' => __('Enter a custom description', 'site-reviews'), |
|
284 | - ], |
|
285 | - 'type' => 'select', |
|
286 | - ], |
|
287 | - 'settings.schema.description.custom' => [ |
|
288 | - 'default' => '', |
|
289 | - 'depends_on' => [ |
|
290 | - 'settings.schema.description.default' => 'custom', |
|
291 | - ], |
|
292 | - 'label' => __('Custom Description', 'site-reviews'), |
|
293 | - 'type' => 'text', |
|
294 | - ], |
|
295 | - 'settings.schema.url.default' => [ |
|
296 | - 'default' => 'post', |
|
297 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>', |
|
298 | - 'label' => __('Default URL', 'site-reviews'), |
|
299 | - 'options' => [ |
|
300 | - 'post' => __('Use the assigned or current page URL', 'site-reviews'), |
|
301 | - 'custom' => __('Enter a custom URL', 'site-reviews'), |
|
302 | - ], |
|
303 | - 'type' => 'select', |
|
304 | - ], |
|
305 | - 'settings.schema.url.custom' => [ |
|
306 | - 'default' => '', |
|
307 | - 'depends_on' => [ |
|
308 | - 'settings.schema.url.default' => 'custom', |
|
309 | - ], |
|
310 | - 'label' => __('Custom URL', 'site-reviews'), |
|
311 | - 'type' => 'text', |
|
312 | - ], |
|
313 | - 'settings.schema.image.default' => [ |
|
314 | - 'default' => 'post', |
|
315 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>', |
|
316 | - 'label' => __('Default Image', 'site-reviews'), |
|
317 | - 'options' => [ |
|
318 | - 'post' => __('Use the featured image of the assigned or current page', 'site-reviews'), |
|
319 | - 'custom' => __('Enter a custom image URL', 'site-reviews'), |
|
320 | - ], |
|
321 | - 'type' => 'select', |
|
322 | - ], |
|
323 | - 'settings.schema.image.custom' => [ |
|
324 | - 'default' => '', |
|
325 | - 'depends_on' => [ |
|
326 | - 'settings.schema.image.default' => 'custom', |
|
327 | - ], |
|
328 | - 'label' => __('Custom Image URL', 'site-reviews'), |
|
329 | - 'type' => 'text', |
|
330 | - ], |
|
331 | - 'settings.schema.address' => [ |
|
332 | - 'default' => '', |
|
333 | - 'depends_on' => [ |
|
334 | - 'settings.schema.type.default' => 'LocalBusiness', |
|
335 | - ], |
|
336 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>', |
|
337 | - 'label' => __('Address', 'site-reviews'), |
|
338 | - 'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US', |
|
339 | - 'type' => 'text', |
|
340 | - ], |
|
341 | - 'settings.schema.telephone' => [ |
|
342 | - 'default' => '', |
|
343 | - 'depends_on' => [ |
|
344 | - 'settings.schema.type.default' => 'LocalBusiness', |
|
345 | - ], |
|
346 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>', |
|
347 | - 'label' => __('Telephone Number', 'site-reviews'), |
|
348 | - 'placeholder' => '+1 (877) 273-3049', |
|
349 | - 'type' => 'text', |
|
350 | - ], |
|
351 | - 'settings.schema.pricerange' => [ |
|
352 | - 'default' => '', |
|
353 | - 'depends_on' => [ |
|
354 | - 'settings.schema.type.default' => 'LocalBusiness', |
|
355 | - ], |
|
356 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>', |
|
357 | - 'label' => __('Price Range', 'site-reviews'), |
|
358 | - 'placeholder' => '$$-$$$', |
|
359 | - 'type' => 'text', |
|
360 | - ], |
|
361 | - 'settings.schema.offertype' => [ |
|
362 | - 'default' => 'AggregateOffer', |
|
363 | - 'depends_on' => [ |
|
364 | - 'settings.schema.type.default' => 'Product', |
|
365 | - ], |
|
366 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>', |
|
367 | - 'label' => __('Offer Type', 'site-reviews'), |
|
368 | - 'options' => [ |
|
369 | - 'AggregateOffer' => __('AggregateOffer', 'site-reviews'), |
|
370 | - 'Offer' => __('Offer', 'site-reviews'), |
|
371 | - ], |
|
372 | - 'type' => 'select', |
|
373 | - ], |
|
374 | - 'settings.schema.price' => [ |
|
375 | - 'default' => '', |
|
376 | - 'depends_on' => [ |
|
377 | - 'settings.schema.type.default' => 'Product', |
|
378 | - 'settings.schema.offertype' => 'Offer', |
|
379 | - ], |
|
380 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>', |
|
381 | - 'label' => __('Price', 'site-reviews'), |
|
382 | - 'placeholder' => '50.00', |
|
383 | - 'type' => 'text', |
|
384 | - ], |
|
385 | - 'settings.schema.lowprice' => [ |
|
386 | - 'default' => '', |
|
387 | - 'depends_on' => [ |
|
388 | - 'settings.schema.type.default' => 'Product', |
|
389 | - 'settings.schema.offertype' => 'AggregateOffer', |
|
390 | - ], |
|
391 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>', |
|
392 | - 'label' => __('Low Price', 'site-reviews'), |
|
393 | - 'placeholder' => '10.00', |
|
394 | - 'type' => 'text', |
|
395 | - ], |
|
396 | - 'settings.schema.highprice' => [ |
|
397 | - 'default' => '', |
|
398 | - 'depends_on' => [ |
|
399 | - 'settings.schema.type.default' => 'Product', |
|
400 | - 'settings.schema.offertype' => 'AggregateOffer', |
|
401 | - ], |
|
402 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>', |
|
403 | - 'label' => __('High Price', 'site-reviews'), |
|
404 | - 'placeholder' => '100.00', |
|
405 | - 'type' => 'text', |
|
406 | - ], |
|
407 | - 'settings.schema.pricecurrency' => [ |
|
408 | - 'default' => '', |
|
409 | - 'depends_on' => [ |
|
410 | - 'settings.schema.type.default' => 'Product', |
|
411 | - ], |
|
412 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>', |
|
413 | - 'label' => __('Price Currency', 'site-reviews'), |
|
414 | - 'placeholder' => 'USD', |
|
415 | - 'type' => 'text', |
|
416 | - ], |
|
417 | - 'settings.submissions.required' => [ |
|
418 | - 'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'], |
|
419 | - 'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'), |
|
420 | - 'label' => __('Required Fields', 'site-reviews'), |
|
421 | - 'options' => [ |
|
422 | - 'rating' => __('Rating', 'site-reviews'), |
|
423 | - 'title' => __('Title', 'site-reviews'), |
|
424 | - 'content' => __('Review', 'site-reviews'), |
|
425 | - 'name' => __('Name', 'site-reviews'), |
|
426 | - 'email' => __('Email', 'site-reviews'), |
|
427 | - 'terms' => __('Terms', 'site-reviews'), |
|
428 | - ], |
|
429 | - 'type' => 'checkbox', |
|
430 | - ], |
|
431 | - 'settings.submissions.limit' => [ |
|
432 | - 'default' => '', |
|
433 | - 'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'), |
|
434 | - 'label' => __('Limit Reviews', 'site-reviews'), |
|
435 | - 'options' => [ |
|
436 | - '' => __('No Limit', 'site-reviews'), |
|
437 | - 'email' => __('By Email Address', 'site-reviews'), |
|
438 | - 'ip_address' => __('By IP Address', 'site-reviews'), |
|
439 | - 'username' => __('By Username (will only work for registered users)', 'site-reviews'), |
|
440 | - ], |
|
441 | - 'type' => 'select', |
|
442 | - ], |
|
443 | - 'settings.submissions.limit_whitelist.email' => [ |
|
444 | - 'default' => '', |
|
445 | - 'depends_on' => [ |
|
446 | - 'settings.submissions.limit' => ['email'], |
|
447 | - ], |
|
448 | - 'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
449 | - 'label' => __('Email Whitelist', 'site-reviews'), |
|
450 | - 'rows' => 5, |
|
451 | - 'type' => 'code', |
|
452 | - ], |
|
453 | - 'settings.submissions.limit_whitelist.ip_address' => [ |
|
454 | - 'default' => '', |
|
455 | - 'depends_on' => [ |
|
456 | - 'settings.submissions.limit' => ['ip_address'], |
|
457 | - ], |
|
458 | - 'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'), |
|
459 | - 'label' => __('IP Address Whitelist', 'site-reviews'), |
|
460 | - 'rows' => 5, |
|
461 | - 'type' => 'code', |
|
462 | - ], |
|
463 | - 'settings.submissions.limit_whitelist.username' => [ |
|
464 | - 'default' => '', |
|
465 | - 'depends_on' => [ |
|
466 | - 'settings.submissions.limit' => ['username'], |
|
467 | - ], |
|
468 | - 'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
469 | - 'label' => __('Username Whitelist', 'site-reviews'), |
|
470 | - 'rows' => 5, |
|
471 | - 'type' => 'code', |
|
472 | - ], |
|
473 | - 'settings.submissions.recaptcha.integration' => [ |
|
474 | - 'default' => '', |
|
475 | - 'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'), |
|
476 | - 'label' => __('Invisible reCAPTCHA', 'site-reviews'), |
|
477 | - 'options' => [ |
|
478 | - '' => 'Do not use reCAPTCHA', |
|
479 | - 'all' => 'Use reCAPTCHA', |
|
480 | - 'guest' => 'Use reCAPTCHA only for guest users', |
|
481 | - ], |
|
482 | - 'type' => 'select', |
|
483 | - ], |
|
484 | - 'settings.submissions.recaptcha.key' => [ |
|
485 | - 'default' => '', |
|
486 | - 'depends_on' => [ |
|
487 | - 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
488 | - ], |
|
489 | - 'label' => __('Site Key', 'site-reviews'), |
|
490 | - 'type' => 'text', |
|
491 | - ], |
|
492 | - 'settings.submissions.recaptcha.secret' => [ |
|
493 | - 'default' => '', |
|
494 | - 'depends_on' => [ |
|
495 | - 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
496 | - ], |
|
497 | - 'label' => __('Site Secret', 'site-reviews'), |
|
498 | - 'type' => 'text', |
|
499 | - ], |
|
500 | - 'settings.submissions.recaptcha.position' => [ |
|
501 | - 'default' => 'bottomleft', |
|
502 | - 'depends_on' => [ |
|
503 | - 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
504 | - ], |
|
505 | - 'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'), |
|
506 | - 'label' => __('Badge Position', 'site-reviews'), |
|
507 | - 'options' => [ |
|
508 | - 'bottomleft' => 'Bottom Left', |
|
509 | - 'bottomright' => 'Bottom Right', |
|
510 | - 'inline' => 'Inline', |
|
511 | - ], |
|
512 | - 'type' => 'select', |
|
513 | - ], |
|
514 | - 'settings.submissions.akismet' => [ |
|
515 | - 'default' => 'no', |
|
516 | - 'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'), |
|
517 | - 'label' => __('Enable Akismet Integration', 'site-reviews'), |
|
518 | - 'type' => 'yes_no', |
|
519 | - ], |
|
520 | - 'settings.submissions.blacklist.integration' => [ |
|
521 | - 'default' => '', |
|
522 | - 'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'), |
|
523 | - '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>' |
|
524 | - ), |
|
525 | - 'label' => __('Blacklist', 'site-reviews'), |
|
526 | - 'options' => [ |
|
527 | - '' => 'Use the Site Reviews Blacklist', |
|
528 | - 'comments' => 'Use the WordPress Comment Blacklist', |
|
529 | - ], |
|
530 | - 'type' => 'select', |
|
531 | - ], |
|
532 | - 'settings.submissions.blacklist.entries' => [ |
|
533 | - 'default' => '', |
|
534 | - 'depends_on' => [ |
|
535 | - 'settings.submissions.blacklist.integration' => [''], |
|
536 | - ], |
|
537 | - 'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'), |
|
538 | - 'label' => __('Review Blacklist', 'site-reviews'), |
|
539 | - 'rows' => 10, |
|
540 | - 'type' => 'code', |
|
541 | - ], |
|
542 | - 'settings.submissions.blacklist.action' => [ |
|
543 | - 'default' => 'unapprove', |
|
544 | - 'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'), |
|
545 | - 'label' => __('Blacklist Action', 'site-reviews'), |
|
546 | - 'options' => [ |
|
547 | - 'unapprove' => __('Require approval', 'site-reviews'), |
|
548 | - 'reject' => __('Reject submission', 'site-reviews'), |
|
549 | - ], |
|
550 | - 'type' => 'select', |
|
551 | - ], |
|
4 | + 'settings.general.style' => [ |
|
5 | + 'default' => 'default', |
|
6 | + 'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'), |
|
7 | + 'label' => __('Plugin Style', 'site-reviews'), |
|
8 | + 'options' => [ |
|
9 | + 'bootstrap_4' => 'CSS Framework: Bootstrap 4', |
|
10 | + 'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)', |
|
11 | + 'contact_form_7' => 'Plugin: Contact Form 7 (v5)', |
|
12 | + 'ninja_forms' => 'Plugin: Ninja Forms (v3)', |
|
13 | + 'wpforms' => 'Plugin: WPForms Lite (v1)', |
|
14 | + 'default' => __('Site Reviews (default)', 'site-reviews'), |
|
15 | + 'minimal' => __('Site Reviews (minimal)', 'site-reviews'), |
|
16 | + 'divi' => 'Theme: Divi (v3)', |
|
17 | + 'materialize' => 'Theme: Materialize', |
|
18 | + 'twentyfifteen' => 'Theme: Twenty Fifteen', |
|
19 | + 'twentyseventeen' => 'Theme: Twenty Seventeen', |
|
20 | + 'twentynineteen' => 'Theme: Twenty Nineteen', |
|
21 | + ], |
|
22 | + 'type' => 'select', |
|
23 | + ], |
|
24 | + 'settings.general.require.approval' => [ |
|
25 | + 'default' => 'no', |
|
26 | + 'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'), |
|
27 | + 'label' => __('Require Approval', 'site-reviews'), |
|
28 | + 'type' => 'yes_no', |
|
29 | + ], |
|
30 | + 'settings.general.require.login' => [ |
|
31 | + 'default' => 'no', |
|
32 | + 'description' => __('Only allow review submissions from registered users.', 'site-reviews'), |
|
33 | + 'label' => __('Require Login', 'site-reviews'), |
|
34 | + 'type' => 'yes_no', |
|
35 | + ], |
|
36 | + 'settings.general.require.login_register' => [ |
|
37 | + 'default' => 'no', |
|
38 | + 'depends_on' => [ |
|
39 | + 'settings.general.require.login' => 'yes', |
|
40 | + ], |
|
41 | + 'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'), |
|
42 | + '<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>' |
|
43 | + ), |
|
44 | + 'label' => __('Show Registration Link', 'site-reviews'), |
|
45 | + 'type' => 'yes_no', |
|
46 | + ], |
|
47 | + 'settings.general.multilingual' => [ |
|
48 | + 'default' => '', |
|
49 | + 'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'), |
|
50 | + 'label' => __('Multilingual', 'site-reviews'), |
|
51 | + 'options' => [ |
|
52 | + '' => __('No Integration', 'site-reviews'), |
|
53 | + 'polylang' => __('Integrate with Polylang', 'site-reviews'), |
|
54 | + 'wpml' => __('Integrate with WPML', 'site-reviews'), |
|
55 | + ], |
|
56 | + 'type' => 'select', |
|
57 | + ], |
|
58 | + 'settings.general.trustalyze' => [ |
|
59 | + 'default' => 'no', |
|
60 | + 'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'), |
|
61 | + '<a href="https://trustalyze.com/plans?ref=105" target="_blank">Trustalyze Confidence System</a>' |
|
62 | + ), |
|
63 | + 'label' => __('Blockchain Validation', 'site-reviews'), |
|
64 | + 'type' => 'yes_no', |
|
65 | + ], |
|
66 | + 'settings.general.trustalyze_email' => [ |
|
67 | + 'default' => '', |
|
68 | + 'depends_on' => [ |
|
69 | + 'settings.general.trustalyze' => ['yes'], |
|
70 | + ], |
|
71 | + 'description' => __('Enter your Trustalyze account email here.', 'site-reviews'), |
|
72 | + 'label' => __('Trustalyze Email', 'site-reviews'), |
|
73 | + 'type' => 'text', |
|
74 | + ], |
|
75 | + 'settings.general.trustalyze_serial' => [ |
|
76 | + 'default' => '', |
|
77 | + 'depends_on' => [ |
|
78 | + 'settings.general.trustalyze' => ['yes'], |
|
79 | + ], |
|
80 | + 'description' => __('Enter your Trustalyze account serial key here.', 'site-reviews'), |
|
81 | + 'label' => __('Trustalyze Serial Key', 'site-reviews'), |
|
82 | + 'type' => 'password', |
|
83 | + ], |
|
84 | + 'settings.general.notifications' => [ |
|
85 | + 'default' => [], |
|
86 | + 'label' => __('Notifications', 'site-reviews'), |
|
87 | + 'options' => [ |
|
88 | + 'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>', |
|
89 | + 'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'), |
|
90 | + 'custom' => __('Send to one or more email addresses', 'site-reviews'), |
|
91 | + 'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'), |
|
92 | + ], |
|
93 | + 'type' => 'checkbox', |
|
94 | + ], |
|
95 | + 'settings.general.notification_email' => [ |
|
96 | + 'default' => '', |
|
97 | + 'depends_on' => [ |
|
98 | + 'settings.general.notifications' => ['custom'], |
|
99 | + ], |
|
100 | + 'label' => __('Send Notification Emails To', 'site-reviews'), |
|
101 | + 'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'), |
|
102 | + 'type' => 'text', |
|
103 | + ], |
|
104 | + 'settings.general.notification_slack' => [ |
|
105 | + 'default' => '', |
|
106 | + 'depends_on' => [ |
|
107 | + 'settings.general.notifications' => ['slack'], |
|
108 | + ], |
|
109 | + 'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'), |
|
110 | + '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>' |
|
111 | + ), |
|
112 | + 'label' => __('Slack Webhook URL', 'site-reviews'), |
|
113 | + 'type' => 'text', |
|
114 | + ], |
|
115 | + 'settings.general.notification_message' => [ |
|
116 | + 'default' => glsr('Modules\Html\Template')->build('templates/email-notification'), |
|
117 | + 'depends_on' => [ |
|
118 | + 'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'], |
|
119 | + ], |
|
120 | + 'description' => __( |
|
121 | + 'To restore the default text, save an empty template. '. |
|
122 | + 'If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href="https://api.slack.com/docs/attachments">Message Attachments</a> have been disabled. Available template tags:'. |
|
123 | + '<br><code>{review_rating}</code> The review rating number (1-5)'. |
|
124 | + '<br><code>{review_title}</code> The review title'. |
|
125 | + '<br><code>{review_content}</code> The review content'. |
|
126 | + '<br><code>{review_author}</code> The review author'. |
|
127 | + '<br><code>{review_email}</code> The email of the review author'. |
|
128 | + '<br><code>{review_ip}</code> The IP address of the review author'. |
|
129 | + '<br><code>{review_link}</code> The link to edit/view a review', |
|
130 | + 'site-reviews' |
|
131 | + ), |
|
132 | + 'label' => __('Notification Template', 'site-reviews'), |
|
133 | + 'rows' => 10, |
|
134 | + 'type' => 'code', |
|
135 | + ], |
|
136 | + 'settings.reviews.date.format' => [ |
|
137 | + 'default' => '', |
|
138 | + 'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'), |
|
139 | + '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>' |
|
140 | + ), |
|
141 | + 'label' => __('Date Format', 'site-reviews'), |
|
142 | + 'options' => [ |
|
143 | + '' => __('Use the default date format', 'site-reviews'), |
|
144 | + 'relative' => __('Use a relative date format', 'site-reviews'), |
|
145 | + 'custom' => __('Use a custom date format', 'site-reviews'), |
|
146 | + ], |
|
147 | + 'type' => 'select', |
|
148 | + ], |
|
149 | + 'settings.reviews.date.custom' => [ |
|
150 | + 'default' => get_option('date_format'), |
|
151 | + 'depends_on' => [ |
|
152 | + 'settings.reviews.date.format' => 'custom', |
|
153 | + ], |
|
154 | + 'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'), |
|
155 | + 'label' => __('Custom Date Format', 'site-reviews'), |
|
156 | + 'type' => 'text', |
|
157 | + ], |
|
158 | + 'settings.reviews.name.format' => [ |
|
159 | + 'default' => '', |
|
160 | + 'description' => __('Choose how names are shown in your reviews.', 'site-reviews'), |
|
161 | + 'label' => __('Name Format', 'site-reviews'), |
|
162 | + 'options' => [ |
|
163 | + '' => __('Use the name as given', 'site-reviews'), |
|
164 | + 'first' => __('Use the first name only', 'site-reviews'), |
|
165 | + 'first_initial' => __('Convert first name to an initial', 'site-reviews'), |
|
166 | + 'last_initial' => __('Convert last name to an initial', 'site-reviews'), |
|
167 | + 'initials' => __('Convert to all initials', 'site-reviews'), |
|
168 | + ], |
|
169 | + 'type' => 'select', |
|
170 | + ], |
|
171 | + 'settings.reviews.name.initial' => [ |
|
172 | + 'default' => '', |
|
173 | + 'depends_on' => [ |
|
174 | + 'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'], |
|
175 | + ], |
|
176 | + 'description' => __('Choose how the initial is displayed.', 'site-reviews'), |
|
177 | + 'label' => __('Initial Format', 'site-reviews'), |
|
178 | + 'options' => [ |
|
179 | + '' => __('Initial with a space', 'site-reviews'), |
|
180 | + 'period' => __('Initial with a period', 'site-reviews'), |
|
181 | + 'period_space' => __('Initial with a period and a space', 'site-reviews'), |
|
182 | + ], |
|
183 | + 'type' => 'select', |
|
184 | + ], |
|
185 | + 'settings.reviews.assigned_links' => [ |
|
186 | + 'default' => 'no', |
|
187 | + 'description' => __('Display a link to the assigned post of a review.', 'site-reviews'), |
|
188 | + 'label' => __('Enable Assigned Links', 'site-reviews'), |
|
189 | + 'type' => 'yes_no', |
|
190 | + ], |
|
191 | + 'settings.reviews.avatars' => [ |
|
192 | + 'default' => 'no', |
|
193 | + 'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'), |
|
194 | + 'label' => __('Enable Avatars', 'site-reviews'), |
|
195 | + 'type' => 'yes_no', |
|
196 | + ], |
|
197 | + 'settings.reviews.avatars_regenerate' => [ |
|
198 | + 'default' => 'no', |
|
199 | + 'depends_on' => [ |
|
200 | + 'settings.reviews.avatars' => 'yes', |
|
201 | + ], |
|
202 | + 'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'), |
|
203 | + 'label' => __('Regenerate Avatars', 'site-reviews'), |
|
204 | + 'type' => 'yes_no', |
|
205 | + ], |
|
206 | + 'settings.reviews.avatars_size' => [ |
|
207 | + 'default' => 40, |
|
208 | + 'depends_on' => [ |
|
209 | + 'settings.reviews.avatars' => 'yes', |
|
210 | + ], |
|
211 | + 'description' => __('Set the avatar size in pixels.', 'site-reviews'), |
|
212 | + 'label' => __('Avatar Size', 'site-reviews'), |
|
213 | + 'type' => 'number', |
|
214 | + ], |
|
215 | + 'settings.reviews.excerpts' => [ |
|
216 | + 'default' => 'yes', |
|
217 | + 'description' => __('Display an excerpt instead of the full review.', 'site-reviews'), |
|
218 | + 'label' => __('Enable Excerpts', 'site-reviews'), |
|
219 | + 'type' => 'yes_no', |
|
220 | + ], |
|
221 | + 'settings.reviews.excerpts_length' => [ |
|
222 | + 'default' => 55, |
|
223 | + 'depends_on' => [ |
|
224 | + 'settings.reviews.excerpts' => 'yes', |
|
225 | + ], |
|
226 | + 'description' => __('Set the excerpt word length.', 'site-reviews'), |
|
227 | + 'label' => __('Excerpt Length', 'site-reviews'), |
|
228 | + 'type' => 'number', |
|
229 | + ], |
|
230 | + 'settings.reviews.fallback' => [ |
|
231 | + 'default' => 'yes', |
|
232 | + 'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'), |
|
233 | + '<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#tab-translations').'">'.__('Translations', 'site-reviews').'</a>', |
|
234 | + '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>' |
|
235 | + ), |
|
236 | + 'label' => __('Enable Fallback Text', 'site-reviews'), |
|
237 | + 'type' => 'yes_no', |
|
238 | + ], |
|
239 | + 'settings.schema.type.default' => [ |
|
240 | + 'default' => 'LocalBusiness', |
|
241 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>', |
|
242 | + 'label' => __('Default Schema Type', 'site-reviews'), |
|
243 | + 'options' => [ |
|
244 | + 'LocalBusiness' => __('Local Business', 'site-reviews'), |
|
245 | + 'Product' => __('Product', 'site-reviews'), |
|
246 | + 'custom' => __('Custom', 'site-reviews'), |
|
247 | + ], |
|
248 | + 'type' => 'select', |
|
249 | + ], |
|
250 | + 'settings.schema.type.custom' => [ |
|
251 | + 'default' => '', |
|
252 | + 'depends_on' => [ |
|
253 | + 'settings.schema.type.default' => 'custom', |
|
254 | + ], |
|
255 | + 'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>', |
|
256 | + 'label' => __('Custom Schema Type', 'site-reviews'), |
|
257 | + 'type' => 'text', |
|
258 | + ], |
|
259 | + 'settings.schema.name.default' => [ |
|
260 | + 'default' => 'post', |
|
261 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>', |
|
262 | + 'label' => __('Default Name', 'site-reviews'), |
|
263 | + 'options' => [ |
|
264 | + 'post' => __('Use the assigned or current page title', 'site-reviews'), |
|
265 | + 'custom' => __('Enter a custom title', 'site-reviews'), |
|
266 | + ], |
|
267 | + 'type' => 'select', |
|
268 | + ], |
|
269 | + 'settings.schema.name.custom' => [ |
|
270 | + 'default' => '', |
|
271 | + 'depends_on' => [ |
|
272 | + 'settings.schema.name.default' => 'custom', |
|
273 | + ], |
|
274 | + 'label' => __('Custom Name', 'site-reviews'), |
|
275 | + 'type' => 'text', |
|
276 | + ], |
|
277 | + 'settings.schema.description.default' => [ |
|
278 | + 'default' => 'post', |
|
279 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>', |
|
280 | + 'label' => __('Default Description', 'site-reviews'), |
|
281 | + 'options' => [ |
|
282 | + 'post' => __('Use the assigned or current page excerpt', 'site-reviews'), |
|
283 | + 'custom' => __('Enter a custom description', 'site-reviews'), |
|
284 | + ], |
|
285 | + 'type' => 'select', |
|
286 | + ], |
|
287 | + 'settings.schema.description.custom' => [ |
|
288 | + 'default' => '', |
|
289 | + 'depends_on' => [ |
|
290 | + 'settings.schema.description.default' => 'custom', |
|
291 | + ], |
|
292 | + 'label' => __('Custom Description', 'site-reviews'), |
|
293 | + 'type' => 'text', |
|
294 | + ], |
|
295 | + 'settings.schema.url.default' => [ |
|
296 | + 'default' => 'post', |
|
297 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>', |
|
298 | + 'label' => __('Default URL', 'site-reviews'), |
|
299 | + 'options' => [ |
|
300 | + 'post' => __('Use the assigned or current page URL', 'site-reviews'), |
|
301 | + 'custom' => __('Enter a custom URL', 'site-reviews'), |
|
302 | + ], |
|
303 | + 'type' => 'select', |
|
304 | + ], |
|
305 | + 'settings.schema.url.custom' => [ |
|
306 | + 'default' => '', |
|
307 | + 'depends_on' => [ |
|
308 | + 'settings.schema.url.default' => 'custom', |
|
309 | + ], |
|
310 | + 'label' => __('Custom URL', 'site-reviews'), |
|
311 | + 'type' => 'text', |
|
312 | + ], |
|
313 | + 'settings.schema.image.default' => [ |
|
314 | + 'default' => 'post', |
|
315 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>', |
|
316 | + 'label' => __('Default Image', 'site-reviews'), |
|
317 | + 'options' => [ |
|
318 | + 'post' => __('Use the featured image of the assigned or current page', 'site-reviews'), |
|
319 | + 'custom' => __('Enter a custom image URL', 'site-reviews'), |
|
320 | + ], |
|
321 | + 'type' => 'select', |
|
322 | + ], |
|
323 | + 'settings.schema.image.custom' => [ |
|
324 | + 'default' => '', |
|
325 | + 'depends_on' => [ |
|
326 | + 'settings.schema.image.default' => 'custom', |
|
327 | + ], |
|
328 | + 'label' => __('Custom Image URL', 'site-reviews'), |
|
329 | + 'type' => 'text', |
|
330 | + ], |
|
331 | + 'settings.schema.address' => [ |
|
332 | + 'default' => '', |
|
333 | + 'depends_on' => [ |
|
334 | + 'settings.schema.type.default' => 'LocalBusiness', |
|
335 | + ], |
|
336 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>', |
|
337 | + 'label' => __('Address', 'site-reviews'), |
|
338 | + 'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US', |
|
339 | + 'type' => 'text', |
|
340 | + ], |
|
341 | + 'settings.schema.telephone' => [ |
|
342 | + 'default' => '', |
|
343 | + 'depends_on' => [ |
|
344 | + 'settings.schema.type.default' => 'LocalBusiness', |
|
345 | + ], |
|
346 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>', |
|
347 | + 'label' => __('Telephone Number', 'site-reviews'), |
|
348 | + 'placeholder' => '+1 (877) 273-3049', |
|
349 | + 'type' => 'text', |
|
350 | + ], |
|
351 | + 'settings.schema.pricerange' => [ |
|
352 | + 'default' => '', |
|
353 | + 'depends_on' => [ |
|
354 | + 'settings.schema.type.default' => 'LocalBusiness', |
|
355 | + ], |
|
356 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>', |
|
357 | + 'label' => __('Price Range', 'site-reviews'), |
|
358 | + 'placeholder' => '$$-$$$', |
|
359 | + 'type' => 'text', |
|
360 | + ], |
|
361 | + 'settings.schema.offertype' => [ |
|
362 | + 'default' => 'AggregateOffer', |
|
363 | + 'depends_on' => [ |
|
364 | + 'settings.schema.type.default' => 'Product', |
|
365 | + ], |
|
366 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>', |
|
367 | + 'label' => __('Offer Type', 'site-reviews'), |
|
368 | + 'options' => [ |
|
369 | + 'AggregateOffer' => __('AggregateOffer', 'site-reviews'), |
|
370 | + 'Offer' => __('Offer', 'site-reviews'), |
|
371 | + ], |
|
372 | + 'type' => 'select', |
|
373 | + ], |
|
374 | + 'settings.schema.price' => [ |
|
375 | + 'default' => '', |
|
376 | + 'depends_on' => [ |
|
377 | + 'settings.schema.type.default' => 'Product', |
|
378 | + 'settings.schema.offertype' => 'Offer', |
|
379 | + ], |
|
380 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>', |
|
381 | + 'label' => __('Price', 'site-reviews'), |
|
382 | + 'placeholder' => '50.00', |
|
383 | + 'type' => 'text', |
|
384 | + ], |
|
385 | + 'settings.schema.lowprice' => [ |
|
386 | + 'default' => '', |
|
387 | + 'depends_on' => [ |
|
388 | + 'settings.schema.type.default' => 'Product', |
|
389 | + 'settings.schema.offertype' => 'AggregateOffer', |
|
390 | + ], |
|
391 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>', |
|
392 | + 'label' => __('Low Price', 'site-reviews'), |
|
393 | + 'placeholder' => '10.00', |
|
394 | + 'type' => 'text', |
|
395 | + ], |
|
396 | + 'settings.schema.highprice' => [ |
|
397 | + 'default' => '', |
|
398 | + 'depends_on' => [ |
|
399 | + 'settings.schema.type.default' => 'Product', |
|
400 | + 'settings.schema.offertype' => 'AggregateOffer', |
|
401 | + ], |
|
402 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>', |
|
403 | + 'label' => __('High Price', 'site-reviews'), |
|
404 | + 'placeholder' => '100.00', |
|
405 | + 'type' => 'text', |
|
406 | + ], |
|
407 | + 'settings.schema.pricecurrency' => [ |
|
408 | + 'default' => '', |
|
409 | + 'depends_on' => [ |
|
410 | + 'settings.schema.type.default' => 'Product', |
|
411 | + ], |
|
412 | + 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>', |
|
413 | + 'label' => __('Price Currency', 'site-reviews'), |
|
414 | + 'placeholder' => 'USD', |
|
415 | + 'type' => 'text', |
|
416 | + ], |
|
417 | + 'settings.submissions.required' => [ |
|
418 | + 'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'], |
|
419 | + 'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'), |
|
420 | + 'label' => __('Required Fields', 'site-reviews'), |
|
421 | + 'options' => [ |
|
422 | + 'rating' => __('Rating', 'site-reviews'), |
|
423 | + 'title' => __('Title', 'site-reviews'), |
|
424 | + 'content' => __('Review', 'site-reviews'), |
|
425 | + 'name' => __('Name', 'site-reviews'), |
|
426 | + 'email' => __('Email', 'site-reviews'), |
|
427 | + 'terms' => __('Terms', 'site-reviews'), |
|
428 | + ], |
|
429 | + 'type' => 'checkbox', |
|
430 | + ], |
|
431 | + 'settings.submissions.limit' => [ |
|
432 | + 'default' => '', |
|
433 | + 'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'), |
|
434 | + 'label' => __('Limit Reviews', 'site-reviews'), |
|
435 | + 'options' => [ |
|
436 | + '' => __('No Limit', 'site-reviews'), |
|
437 | + 'email' => __('By Email Address', 'site-reviews'), |
|
438 | + 'ip_address' => __('By IP Address', 'site-reviews'), |
|
439 | + 'username' => __('By Username (will only work for registered users)', 'site-reviews'), |
|
440 | + ], |
|
441 | + 'type' => 'select', |
|
442 | + ], |
|
443 | + 'settings.submissions.limit_whitelist.email' => [ |
|
444 | + 'default' => '', |
|
445 | + 'depends_on' => [ |
|
446 | + 'settings.submissions.limit' => ['email'], |
|
447 | + ], |
|
448 | + 'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
449 | + 'label' => __('Email Whitelist', 'site-reviews'), |
|
450 | + 'rows' => 5, |
|
451 | + 'type' => 'code', |
|
452 | + ], |
|
453 | + 'settings.submissions.limit_whitelist.ip_address' => [ |
|
454 | + 'default' => '', |
|
455 | + 'depends_on' => [ |
|
456 | + 'settings.submissions.limit' => ['ip_address'], |
|
457 | + ], |
|
458 | + 'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'), |
|
459 | + 'label' => __('IP Address Whitelist', 'site-reviews'), |
|
460 | + 'rows' => 5, |
|
461 | + 'type' => 'code', |
|
462 | + ], |
|
463 | + 'settings.submissions.limit_whitelist.username' => [ |
|
464 | + 'default' => '', |
|
465 | + 'depends_on' => [ |
|
466 | + 'settings.submissions.limit' => ['username'], |
|
467 | + ], |
|
468 | + 'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
469 | + 'label' => __('Username Whitelist', 'site-reviews'), |
|
470 | + 'rows' => 5, |
|
471 | + 'type' => 'code', |
|
472 | + ], |
|
473 | + 'settings.submissions.recaptcha.integration' => [ |
|
474 | + 'default' => '', |
|
475 | + 'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'), |
|
476 | + 'label' => __('Invisible reCAPTCHA', 'site-reviews'), |
|
477 | + 'options' => [ |
|
478 | + '' => 'Do not use reCAPTCHA', |
|
479 | + 'all' => 'Use reCAPTCHA', |
|
480 | + 'guest' => 'Use reCAPTCHA only for guest users', |
|
481 | + ], |
|
482 | + 'type' => 'select', |
|
483 | + ], |
|
484 | + 'settings.submissions.recaptcha.key' => [ |
|
485 | + 'default' => '', |
|
486 | + 'depends_on' => [ |
|
487 | + 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
488 | + ], |
|
489 | + 'label' => __('Site Key', 'site-reviews'), |
|
490 | + 'type' => 'text', |
|
491 | + ], |
|
492 | + 'settings.submissions.recaptcha.secret' => [ |
|
493 | + 'default' => '', |
|
494 | + 'depends_on' => [ |
|
495 | + 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
496 | + ], |
|
497 | + 'label' => __('Site Secret', 'site-reviews'), |
|
498 | + 'type' => 'text', |
|
499 | + ], |
|
500 | + 'settings.submissions.recaptcha.position' => [ |
|
501 | + 'default' => 'bottomleft', |
|
502 | + 'depends_on' => [ |
|
503 | + 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
|
504 | + ], |
|
505 | + 'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'), |
|
506 | + 'label' => __('Badge Position', 'site-reviews'), |
|
507 | + 'options' => [ |
|
508 | + 'bottomleft' => 'Bottom Left', |
|
509 | + 'bottomright' => 'Bottom Right', |
|
510 | + 'inline' => 'Inline', |
|
511 | + ], |
|
512 | + 'type' => 'select', |
|
513 | + ], |
|
514 | + 'settings.submissions.akismet' => [ |
|
515 | + 'default' => 'no', |
|
516 | + 'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'), |
|
517 | + 'label' => __('Enable Akismet Integration', 'site-reviews'), |
|
518 | + 'type' => 'yes_no', |
|
519 | + ], |
|
520 | + 'settings.submissions.blacklist.integration' => [ |
|
521 | + 'default' => '', |
|
522 | + 'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'), |
|
523 | + '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>' |
|
524 | + ), |
|
525 | + 'label' => __('Blacklist', 'site-reviews'), |
|
526 | + 'options' => [ |
|
527 | + '' => 'Use the Site Reviews Blacklist', |
|
528 | + 'comments' => 'Use the WordPress Comment Blacklist', |
|
529 | + ], |
|
530 | + 'type' => 'select', |
|
531 | + ], |
|
532 | + 'settings.submissions.blacklist.entries' => [ |
|
533 | + 'default' => '', |
|
534 | + 'depends_on' => [ |
|
535 | + 'settings.submissions.blacklist.integration' => [''], |
|
536 | + ], |
|
537 | + 'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'), |
|
538 | + 'label' => __('Review Blacklist', 'site-reviews'), |
|
539 | + 'rows' => 10, |
|
540 | + 'type' => 'code', |
|
541 | + ], |
|
542 | + 'settings.submissions.blacklist.action' => [ |
|
543 | + 'default' => 'unapprove', |
|
544 | + 'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'), |
|
545 | + 'label' => __('Blacklist Action', 'site-reviews'), |
|
546 | + 'options' => [ |
|
547 | + 'unapprove' => __('Require approval', 'site-reviews'), |
|
548 | + 'reject' => __('Reject submission', 'site-reviews'), |
|
549 | + ], |
|
550 | + 'type' => 'select', |
|
551 | + ], |
|
552 | 552 | ]; |
@@ -3,16 +3,16 @@ discard block |
||
3 | 3 | return [ |
4 | 4 | 'settings.general.style' => [ |
5 | 5 | 'default' => 'default', |
6 | - 'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'), |
|
7 | - 'label' => __('Plugin Style', 'site-reviews'), |
|
6 | + 'description' => __( 'Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews' ), |
|
7 | + 'label' => __( 'Plugin Style', 'site-reviews' ), |
|
8 | 8 | 'options' => [ |
9 | 9 | 'bootstrap_4' => 'CSS Framework: Bootstrap 4', |
10 | 10 | 'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)', |
11 | 11 | 'contact_form_7' => 'Plugin: Contact Form 7 (v5)', |
12 | 12 | 'ninja_forms' => 'Plugin: Ninja Forms (v3)', |
13 | 13 | 'wpforms' => 'Plugin: WPForms Lite (v1)', |
14 | - 'default' => __('Site Reviews (default)', 'site-reviews'), |
|
15 | - 'minimal' => __('Site Reviews (minimal)', 'site-reviews'), |
|
14 | + 'default' => __( 'Site Reviews (default)', 'site-reviews' ), |
|
15 | + 'minimal' => __( 'Site Reviews (minimal)', 'site-reviews' ), |
|
16 | 16 | 'divi' => 'Theme: Divi (v3)', |
17 | 17 | 'materialize' => 'Theme: Materialize', |
18 | 18 | 'twentyfifteen' => 'Theme: Twenty Fifteen', |
@@ -23,14 +23,14 @@ discard block |
||
23 | 23 | ], |
24 | 24 | 'settings.general.require.approval' => [ |
25 | 25 | 'default' => 'no', |
26 | - 'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'), |
|
27 | - 'label' => __('Require Approval', 'site-reviews'), |
|
26 | + 'description' => __( 'Set the status of new review submissions to "unapproved".', 'site-reviews' ), |
|
27 | + 'label' => __( 'Require Approval', 'site-reviews' ), |
|
28 | 28 | 'type' => 'yes_no', |
29 | 29 | ], |
30 | 30 | 'settings.general.require.login' => [ |
31 | 31 | 'default' => 'no', |
32 | - 'description' => __('Only allow review submissions from registered users.', 'site-reviews'), |
|
33 | - 'label' => __('Require Login', 'site-reviews'), |
|
32 | + 'description' => __( 'Only allow review submissions from registered users.', 'site-reviews' ), |
|
33 | + 'label' => __( 'Require Login', 'site-reviews' ), |
|
34 | 34 | 'type' => 'yes_no', |
35 | 35 | ], |
36 | 36 | 'settings.general.require.login_register' => [ |
@@ -38,29 +38,29 @@ discard block |
||
38 | 38 | 'depends_on' => [ |
39 | 39 | 'settings.general.require.login' => 'yes', |
40 | 40 | ], |
41 | - 'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'), |
|
42 | - '<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>' |
|
41 | + 'description' => sprintf( __( 'Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews' ), |
|
42 | + '<a href="'.admin_url( 'options-general.php#users_can_register' ).'">'.__( 'Anyone can register', 'site-reviews' ).'</a>' |
|
43 | 43 | ), |
44 | - 'label' => __('Show Registration Link', 'site-reviews'), |
|
44 | + 'label' => __( 'Show Registration Link', 'site-reviews' ), |
|
45 | 45 | 'type' => 'yes_no', |
46 | 46 | ], |
47 | 47 | 'settings.general.multilingual' => [ |
48 | 48 | 'default' => '', |
49 | - 'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'), |
|
50 | - 'label' => __('Multilingual', 'site-reviews'), |
|
49 | + 'description' => __( 'Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews' ), |
|
50 | + 'label' => __( 'Multilingual', 'site-reviews' ), |
|
51 | 51 | 'options' => [ |
52 | - '' => __('No Integration', 'site-reviews'), |
|
53 | - 'polylang' => __('Integrate with Polylang', 'site-reviews'), |
|
54 | - 'wpml' => __('Integrate with WPML', 'site-reviews'), |
|
52 | + '' => __( 'No Integration', 'site-reviews' ), |
|
53 | + 'polylang' => __( 'Integrate with Polylang', 'site-reviews' ), |
|
54 | + 'wpml' => __( 'Integrate with WPML', 'site-reviews' ), |
|
55 | 55 | ], |
56 | 56 | 'type' => 'select', |
57 | 57 | ], |
58 | 58 | 'settings.general.trustalyze' => [ |
59 | 59 | 'default' => 'no', |
60 | - 'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'), |
|
60 | + 'description' => sprintf( __( 'Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews' ), |
|
61 | 61 | '<a href="https://trustalyze.com/plans?ref=105" target="_blank">Trustalyze Confidence System</a>' |
62 | 62 | ), |
63 | - 'label' => __('Blockchain Validation', 'site-reviews'), |
|
63 | + 'label' => __( 'Blockchain Validation', 'site-reviews' ), |
|
64 | 64 | 'type' => 'yes_no', |
65 | 65 | ], |
66 | 66 | 'settings.general.trustalyze_email' => [ |
@@ -68,8 +68,8 @@ discard block |
||
68 | 68 | 'depends_on' => [ |
69 | 69 | 'settings.general.trustalyze' => ['yes'], |
70 | 70 | ], |
71 | - 'description' => __('Enter your Trustalyze account email here.', 'site-reviews'), |
|
72 | - 'label' => __('Trustalyze Email', 'site-reviews'), |
|
71 | + 'description' => __( 'Enter your Trustalyze account email here.', 'site-reviews' ), |
|
72 | + 'label' => __( 'Trustalyze Email', 'site-reviews' ), |
|
73 | 73 | 'type' => 'text', |
74 | 74 | ], |
75 | 75 | 'settings.general.trustalyze_serial' => [ |
@@ -77,18 +77,18 @@ discard block |
||
77 | 77 | 'depends_on' => [ |
78 | 78 | 'settings.general.trustalyze' => ['yes'], |
79 | 79 | ], |
80 | - 'description' => __('Enter your Trustalyze account serial key here.', 'site-reviews'), |
|
81 | - 'label' => __('Trustalyze Serial Key', 'site-reviews'), |
|
80 | + 'description' => __( 'Enter your Trustalyze account serial key here.', 'site-reviews' ), |
|
81 | + 'label' => __( 'Trustalyze Serial Key', 'site-reviews' ), |
|
82 | 82 | 'type' => 'password', |
83 | 83 | ], |
84 | 84 | 'settings.general.notifications' => [ |
85 | 85 | 'default' => [], |
86 | - 'label' => __('Notifications', 'site-reviews'), |
|
86 | + 'label' => __( 'Notifications', 'site-reviews' ), |
|
87 | 87 | 'options' => [ |
88 | - 'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>', |
|
89 | - 'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'), |
|
90 | - 'custom' => __('Send to one or more email addresses', 'site-reviews'), |
|
91 | - 'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'), |
|
88 | + 'admin' => __( 'Send to administrator', 'site-reviews' ).' <code>'.(string)get_option( 'admin_email' ).'</code>', |
|
89 | + 'author' => __( 'Send to author of the page that the review is assigned to', 'site-reviews' ), |
|
90 | + 'custom' => __( 'Send to one or more email addresses', 'site-reviews' ), |
|
91 | + 'slack' => __( 'Send to <a href="https://slack.com/">Slack</a>', 'site-reviews' ), |
|
92 | 92 | ], |
93 | 93 | 'type' => 'checkbox', |
94 | 94 | ], |
@@ -97,8 +97,8 @@ discard block |
||
97 | 97 | 'depends_on' => [ |
98 | 98 | 'settings.general.notifications' => ['custom'], |
99 | 99 | ], |
100 | - 'label' => __('Send Notification Emails To', 'site-reviews'), |
|
101 | - 'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'), |
|
100 | + 'label' => __( 'Send Notification Emails To', 'site-reviews' ), |
|
101 | + 'placeholder' => __( 'Separate multiple emails with a comma', 'site-reviews' ), |
|
102 | 102 | 'type' => 'text', |
103 | 103 | ], |
104 | 104 | 'settings.general.notification_slack' => [ |
@@ -106,14 +106,14 @@ discard block |
||
106 | 106 | 'depends_on' => [ |
107 | 107 | 'settings.general.notifications' => ['slack'], |
108 | 108 | ], |
109 | - 'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'), |
|
110 | - '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>' |
|
109 | + 'description' => sprintf( __( 'To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews' ), |
|
110 | + '<a href="https://api.slack.com/incoming-webhooks">'.__( 'Incoming WebHook', 'site-reviews' ).'</a>' |
|
111 | 111 | ), |
112 | - 'label' => __('Slack Webhook URL', 'site-reviews'), |
|
112 | + 'label' => __( 'Slack Webhook URL', 'site-reviews' ), |
|
113 | 113 | 'type' => 'text', |
114 | 114 | ], |
115 | 115 | 'settings.general.notification_message' => [ |
116 | - 'default' => glsr('Modules\Html\Template')->build('templates/email-notification'), |
|
116 | + 'default' => glsr( 'Modules\Html\Template' )->build( 'templates/email-notification' ), |
|
117 | 117 | 'depends_on' => [ |
118 | 118 | 'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'], |
119 | 119 | ], |
@@ -129,42 +129,42 @@ discard block |
||
129 | 129 | '<br><code>{review_link}</code> The link to edit/view a review', |
130 | 130 | 'site-reviews' |
131 | 131 | ), |
132 | - 'label' => __('Notification Template', 'site-reviews'), |
|
132 | + 'label' => __( 'Notification Template', 'site-reviews' ), |
|
133 | 133 | 'rows' => 10, |
134 | 134 | 'type' => 'code', |
135 | 135 | ], |
136 | 136 | 'settings.reviews.date.format' => [ |
137 | 137 | 'default' => '', |
138 | - 'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'), |
|
139 | - '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>' |
|
138 | + 'description' => sprintf( __( 'The default date format is the one set in your %s.', 'site-reviews' ), |
|
139 | + '<a href="'.admin_url( 'options-general.php#date_format_custom' ).'">'.__( 'WordPress settings', 'site-reviews' ).'</a>' |
|
140 | 140 | ), |
141 | - 'label' => __('Date Format', 'site-reviews'), |
|
141 | + 'label' => __( 'Date Format', 'site-reviews' ), |
|
142 | 142 | 'options' => [ |
143 | - '' => __('Use the default date format', 'site-reviews'), |
|
144 | - 'relative' => __('Use a relative date format', 'site-reviews'), |
|
145 | - 'custom' => __('Use a custom date format', 'site-reviews'), |
|
143 | + '' => __( 'Use the default date format', 'site-reviews' ), |
|
144 | + 'relative' => __( 'Use a relative date format', 'site-reviews' ), |
|
145 | + 'custom' => __( 'Use a custom date format', 'site-reviews' ), |
|
146 | 146 | ], |
147 | 147 | 'type' => 'select', |
148 | 148 | ], |
149 | 149 | 'settings.reviews.date.custom' => [ |
150 | - 'default' => get_option('date_format'), |
|
150 | + 'default' => get_option( 'date_format' ), |
|
151 | 151 | 'depends_on' => [ |
152 | 152 | 'settings.reviews.date.format' => 'custom', |
153 | 153 | ], |
154 | - 'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'), |
|
155 | - 'label' => __('Custom Date Format', 'site-reviews'), |
|
154 | + 'description' => __( 'Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews' ), |
|
155 | + 'label' => __( 'Custom Date Format', 'site-reviews' ), |
|
156 | 156 | 'type' => 'text', |
157 | 157 | ], |
158 | 158 | 'settings.reviews.name.format' => [ |
159 | 159 | 'default' => '', |
160 | - 'description' => __('Choose how names are shown in your reviews.', 'site-reviews'), |
|
161 | - 'label' => __('Name Format', 'site-reviews'), |
|
160 | + 'description' => __( 'Choose how names are shown in your reviews.', 'site-reviews' ), |
|
161 | + 'label' => __( 'Name Format', 'site-reviews' ), |
|
162 | 162 | 'options' => [ |
163 | - '' => __('Use the name as given', 'site-reviews'), |
|
164 | - 'first' => __('Use the first name only', 'site-reviews'), |
|
165 | - 'first_initial' => __('Convert first name to an initial', 'site-reviews'), |
|
166 | - 'last_initial' => __('Convert last name to an initial', 'site-reviews'), |
|
167 | - 'initials' => __('Convert to all initials', 'site-reviews'), |
|
163 | + '' => __( 'Use the name as given', 'site-reviews' ), |
|
164 | + 'first' => __( 'Use the first name only', 'site-reviews' ), |
|
165 | + 'first_initial' => __( 'Convert first name to an initial', 'site-reviews' ), |
|
166 | + 'last_initial' => __( 'Convert last name to an initial', 'site-reviews' ), |
|
167 | + 'initials' => __( 'Convert to all initials', 'site-reviews' ), |
|
168 | 168 | ], |
169 | 169 | 'type' => 'select', |
170 | 170 | ], |
@@ -173,25 +173,25 @@ discard block |
||
173 | 173 | 'depends_on' => [ |
174 | 174 | 'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'], |
175 | 175 | ], |
176 | - 'description' => __('Choose how the initial is displayed.', 'site-reviews'), |
|
177 | - 'label' => __('Initial Format', 'site-reviews'), |
|
176 | + 'description' => __( 'Choose how the initial is displayed.', 'site-reviews' ), |
|
177 | + 'label' => __( 'Initial Format', 'site-reviews' ), |
|
178 | 178 | 'options' => [ |
179 | - '' => __('Initial with a space', 'site-reviews'), |
|
180 | - 'period' => __('Initial with a period', 'site-reviews'), |
|
181 | - 'period_space' => __('Initial with a period and a space', 'site-reviews'), |
|
179 | + '' => __( 'Initial with a space', 'site-reviews' ), |
|
180 | + 'period' => __( 'Initial with a period', 'site-reviews' ), |
|
181 | + 'period_space' => __( 'Initial with a period and a space', 'site-reviews' ), |
|
182 | 182 | ], |
183 | 183 | 'type' => 'select', |
184 | 184 | ], |
185 | 185 | 'settings.reviews.assigned_links' => [ |
186 | 186 | 'default' => 'no', |
187 | - 'description' => __('Display a link to the assigned post of a review.', 'site-reviews'), |
|
188 | - 'label' => __('Enable Assigned Links', 'site-reviews'), |
|
187 | + 'description' => __( 'Display a link to the assigned post of a review.', 'site-reviews' ), |
|
188 | + 'label' => __( 'Enable Assigned Links', 'site-reviews' ), |
|
189 | 189 | 'type' => 'yes_no', |
190 | 190 | ], |
191 | 191 | 'settings.reviews.avatars' => [ |
192 | 192 | 'default' => 'no', |
193 | - 'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'), |
|
194 | - 'label' => __('Enable Avatars', 'site-reviews'), |
|
193 | + 'description' => __( 'Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews' ), |
|
194 | + 'label' => __( 'Enable Avatars', 'site-reviews' ), |
|
195 | 195 | 'type' => 'yes_no', |
196 | 196 | ], |
197 | 197 | 'settings.reviews.avatars_regenerate' => [ |
@@ -199,8 +199,8 @@ discard block |
||
199 | 199 | 'depends_on' => [ |
200 | 200 | 'settings.reviews.avatars' => 'yes', |
201 | 201 | ], |
202 | - 'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'), |
|
203 | - 'label' => __('Regenerate Avatars', 'site-reviews'), |
|
202 | + 'description' => __( 'Regenerate the avatar whenever a local review is shown?', 'site-reviews' ), |
|
203 | + 'label' => __( 'Regenerate Avatars', 'site-reviews' ), |
|
204 | 204 | 'type' => 'yes_no', |
205 | 205 | ], |
206 | 206 | 'settings.reviews.avatars_size' => [ |
@@ -208,14 +208,14 @@ discard block |
||
208 | 208 | 'depends_on' => [ |
209 | 209 | 'settings.reviews.avatars' => 'yes', |
210 | 210 | ], |
211 | - 'description' => __('Set the avatar size in pixels.', 'site-reviews'), |
|
212 | - 'label' => __('Avatar Size', 'site-reviews'), |
|
211 | + 'description' => __( 'Set the avatar size in pixels.', 'site-reviews' ), |
|
212 | + 'label' => __( 'Avatar Size', 'site-reviews' ), |
|
213 | 213 | 'type' => 'number', |
214 | 214 | ], |
215 | 215 | 'settings.reviews.excerpts' => [ |
216 | 216 | 'default' => 'yes', |
217 | - 'description' => __('Display an excerpt instead of the full review.', 'site-reviews'), |
|
218 | - 'label' => __('Enable Excerpts', 'site-reviews'), |
|
217 | + 'description' => __( 'Display an excerpt instead of the full review.', 'site-reviews' ), |
|
218 | + 'label' => __( 'Enable Excerpts', 'site-reviews' ), |
|
219 | 219 | 'type' => 'yes_no', |
220 | 220 | ], |
221 | 221 | 'settings.reviews.excerpts_length' => [ |
@@ -223,27 +223,27 @@ discard block |
||
223 | 223 | 'depends_on' => [ |
224 | 224 | 'settings.reviews.excerpts' => 'yes', |
225 | 225 | ], |
226 | - 'description' => __('Set the excerpt word length.', 'site-reviews'), |
|
227 | - 'label' => __('Excerpt Length', 'site-reviews'), |
|
226 | + 'description' => __( 'Set the excerpt word length.', 'site-reviews' ), |
|
227 | + 'label' => __( 'Excerpt Length', 'site-reviews' ), |
|
228 | 228 | 'type' => 'number', |
229 | 229 | ], |
230 | 230 | 'settings.reviews.fallback' => [ |
231 | 231 | 'default' => 'yes', |
232 | - 'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'), |
|
233 | - '<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#tab-translations').'">'.__('Translations', 'site-reviews').'</a>', |
|
234 | - '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>' |
|
232 | + 'description' => sprintf( __( 'Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews' ), |
|
233 | + '<a href="'.admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#tab-translations' ).'">'.__( 'Translations', 'site-reviews' ).'</a>', |
|
234 | + '<code>'.__( 'There are no reviews yet. Be the first one to write one.', 'site-reviews' ).'</code>' |
|
235 | 235 | ), |
236 | - 'label' => __('Enable Fallback Text', 'site-reviews'), |
|
236 | + 'label' => __( 'Enable Fallback Text', 'site-reviews' ), |
|
237 | 237 | 'type' => 'yes_no', |
238 | 238 | ], |
239 | 239 | 'settings.schema.type.default' => [ |
240 | 240 | 'default' => 'LocalBusiness', |
241 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>', |
|
242 | - 'label' => __('Default Schema Type', 'site-reviews'), |
|
241 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_type</code>', |
|
242 | + 'label' => __( 'Default Schema Type', 'site-reviews' ), |
|
243 | 243 | 'options' => [ |
244 | - 'LocalBusiness' => __('Local Business', 'site-reviews'), |
|
245 | - 'Product' => __('Product', 'site-reviews'), |
|
246 | - 'custom' => __('Custom', 'site-reviews'), |
|
244 | + 'LocalBusiness' => __( 'Local Business', 'site-reviews' ), |
|
245 | + 'Product' => __( 'Product', 'site-reviews' ), |
|
246 | + 'custom' => __( 'Custom', 'site-reviews' ), |
|
247 | 247 | ], |
248 | 248 | 'type' => 'select', |
249 | 249 | ], |
@@ -252,17 +252,17 @@ discard block |
||
252 | 252 | 'depends_on' => [ |
253 | 253 | 'settings.schema.type.default' => 'custom', |
254 | 254 | ], |
255 | - 'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>', |
|
256 | - 'label' => __('Custom Schema Type', 'site-reviews'), |
|
255 | + 'description' => '<a href="https://schema.org/docs/schemas.html">'.__( 'View more information on schema types here', 'site-reviews' ).'</a>', |
|
256 | + 'label' => __( 'Custom Schema Type', 'site-reviews' ), |
|
257 | 257 | 'type' => 'text', |
258 | 258 | ], |
259 | 259 | 'settings.schema.name.default' => [ |
260 | 260 | 'default' => 'post', |
261 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>', |
|
262 | - 'label' => __('Default Name', 'site-reviews'), |
|
261 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_name</code>', |
|
262 | + 'label' => __( 'Default Name', 'site-reviews' ), |
|
263 | 263 | 'options' => [ |
264 | - 'post' => __('Use the assigned or current page title', 'site-reviews'), |
|
265 | - 'custom' => __('Enter a custom title', 'site-reviews'), |
|
264 | + 'post' => __( 'Use the assigned or current page title', 'site-reviews' ), |
|
265 | + 'custom' => __( 'Enter a custom title', 'site-reviews' ), |
|
266 | 266 | ], |
267 | 267 | 'type' => 'select', |
268 | 268 | ], |
@@ -271,16 +271,16 @@ discard block |
||
271 | 271 | 'depends_on' => [ |
272 | 272 | 'settings.schema.name.default' => 'custom', |
273 | 273 | ], |
274 | - 'label' => __('Custom Name', 'site-reviews'), |
|
274 | + 'label' => __( 'Custom Name', 'site-reviews' ), |
|
275 | 275 | 'type' => 'text', |
276 | 276 | ], |
277 | 277 | 'settings.schema.description.default' => [ |
278 | 278 | 'default' => 'post', |
279 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>', |
|
280 | - 'label' => __('Default Description', 'site-reviews'), |
|
279 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_description</code>', |
|
280 | + 'label' => __( 'Default Description', 'site-reviews' ), |
|
281 | 281 | 'options' => [ |
282 | - 'post' => __('Use the assigned or current page excerpt', 'site-reviews'), |
|
283 | - 'custom' => __('Enter a custom description', 'site-reviews'), |
|
282 | + 'post' => __( 'Use the assigned or current page excerpt', 'site-reviews' ), |
|
283 | + 'custom' => __( 'Enter a custom description', 'site-reviews' ), |
|
284 | 284 | ], |
285 | 285 | 'type' => 'select', |
286 | 286 | ], |
@@ -289,16 +289,16 @@ discard block |
||
289 | 289 | 'depends_on' => [ |
290 | 290 | 'settings.schema.description.default' => 'custom', |
291 | 291 | ], |
292 | - 'label' => __('Custom Description', 'site-reviews'), |
|
292 | + 'label' => __( 'Custom Description', 'site-reviews' ), |
|
293 | 293 | 'type' => 'text', |
294 | 294 | ], |
295 | 295 | 'settings.schema.url.default' => [ |
296 | 296 | 'default' => 'post', |
297 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>', |
|
298 | - 'label' => __('Default URL', 'site-reviews'), |
|
297 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_url</code>', |
|
298 | + 'label' => __( 'Default URL', 'site-reviews' ), |
|
299 | 299 | 'options' => [ |
300 | - 'post' => __('Use the assigned or current page URL', 'site-reviews'), |
|
301 | - 'custom' => __('Enter a custom URL', 'site-reviews'), |
|
300 | + 'post' => __( 'Use the assigned or current page URL', 'site-reviews' ), |
|
301 | + 'custom' => __( 'Enter a custom URL', 'site-reviews' ), |
|
302 | 302 | ], |
303 | 303 | 'type' => 'select', |
304 | 304 | ], |
@@ -307,16 +307,16 @@ discard block |
||
307 | 307 | 'depends_on' => [ |
308 | 308 | 'settings.schema.url.default' => 'custom', |
309 | 309 | ], |
310 | - 'label' => __('Custom URL', 'site-reviews'), |
|
310 | + 'label' => __( 'Custom URL', 'site-reviews' ), |
|
311 | 311 | 'type' => 'text', |
312 | 312 | ], |
313 | 313 | 'settings.schema.image.default' => [ |
314 | 314 | 'default' => 'post', |
315 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>', |
|
316 | - 'label' => __('Default Image', 'site-reviews'), |
|
315 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_image</code>', |
|
316 | + 'label' => __( 'Default Image', 'site-reviews' ), |
|
317 | 317 | 'options' => [ |
318 | - 'post' => __('Use the featured image of the assigned or current page', 'site-reviews'), |
|
319 | - 'custom' => __('Enter a custom image URL', 'site-reviews'), |
|
318 | + 'post' => __( 'Use the featured image of the assigned or current page', 'site-reviews' ), |
|
319 | + 'custom' => __( 'Enter a custom image URL', 'site-reviews' ), |
|
320 | 320 | ], |
321 | 321 | 'type' => 'select', |
322 | 322 | ], |
@@ -325,7 +325,7 @@ discard block |
||
325 | 325 | 'depends_on' => [ |
326 | 326 | 'settings.schema.image.default' => 'custom', |
327 | 327 | ], |
328 | - 'label' => __('Custom Image URL', 'site-reviews'), |
|
328 | + 'label' => __( 'Custom Image URL', 'site-reviews' ), |
|
329 | 329 | 'type' => 'text', |
330 | 330 | ], |
331 | 331 | 'settings.schema.address' => [ |
@@ -333,8 +333,8 @@ discard block |
||
333 | 333 | 'depends_on' => [ |
334 | 334 | 'settings.schema.type.default' => 'LocalBusiness', |
335 | 335 | ], |
336 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>', |
|
337 | - 'label' => __('Address', 'site-reviews'), |
|
336 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_address</code>', |
|
337 | + 'label' => __( 'Address', 'site-reviews' ), |
|
338 | 338 | 'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US', |
339 | 339 | 'type' => 'text', |
340 | 340 | ], |
@@ -343,8 +343,8 @@ discard block |
||
343 | 343 | 'depends_on' => [ |
344 | 344 | 'settings.schema.type.default' => 'LocalBusiness', |
345 | 345 | ], |
346 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>', |
|
347 | - 'label' => __('Telephone Number', 'site-reviews'), |
|
346 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_telephone</code>', |
|
347 | + 'label' => __( 'Telephone Number', 'site-reviews' ), |
|
348 | 348 | 'placeholder' => '+1 (877) 273-3049', |
349 | 349 | 'type' => 'text', |
350 | 350 | ], |
@@ -353,8 +353,8 @@ discard block |
||
353 | 353 | 'depends_on' => [ |
354 | 354 | 'settings.schema.type.default' => 'LocalBusiness', |
355 | 355 | ], |
356 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>', |
|
357 | - 'label' => __('Price Range', 'site-reviews'), |
|
356 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_pricerange</code>', |
|
357 | + 'label' => __( 'Price Range', 'site-reviews' ), |
|
358 | 358 | 'placeholder' => '$$-$$$', |
359 | 359 | 'type' => 'text', |
360 | 360 | ], |
@@ -363,11 +363,11 @@ discard block |
||
363 | 363 | 'depends_on' => [ |
364 | 364 | 'settings.schema.type.default' => 'Product', |
365 | 365 | ], |
366 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>', |
|
367 | - 'label' => __('Offer Type', 'site-reviews'), |
|
366 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_offertype</code>', |
|
367 | + 'label' => __( 'Offer Type', 'site-reviews' ), |
|
368 | 368 | 'options' => [ |
369 | - 'AggregateOffer' => __('AggregateOffer', 'site-reviews'), |
|
370 | - 'Offer' => __('Offer', 'site-reviews'), |
|
369 | + 'AggregateOffer' => __( 'AggregateOffer', 'site-reviews' ), |
|
370 | + 'Offer' => __( 'Offer', 'site-reviews' ), |
|
371 | 371 | ], |
372 | 372 | 'type' => 'select', |
373 | 373 | ], |
@@ -377,8 +377,8 @@ discard block |
||
377 | 377 | 'settings.schema.type.default' => 'Product', |
378 | 378 | 'settings.schema.offertype' => 'Offer', |
379 | 379 | ], |
380 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>', |
|
381 | - 'label' => __('Price', 'site-reviews'), |
|
380 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_price</code>', |
|
381 | + 'label' => __( 'Price', 'site-reviews' ), |
|
382 | 382 | 'placeholder' => '50.00', |
383 | 383 | 'type' => 'text', |
384 | 384 | ], |
@@ -388,8 +388,8 @@ discard block |
||
388 | 388 | 'settings.schema.type.default' => 'Product', |
389 | 389 | 'settings.schema.offertype' => 'AggregateOffer', |
390 | 390 | ], |
391 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>', |
|
392 | - 'label' => __('Low Price', 'site-reviews'), |
|
391 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_lowprice</code>', |
|
392 | + 'label' => __( 'Low Price', 'site-reviews' ), |
|
393 | 393 | 'placeholder' => '10.00', |
394 | 394 | 'type' => 'text', |
395 | 395 | ], |
@@ -399,8 +399,8 @@ discard block |
||
399 | 399 | 'settings.schema.type.default' => 'Product', |
400 | 400 | 'settings.schema.offertype' => 'AggregateOffer', |
401 | 401 | ], |
402 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>', |
|
403 | - 'label' => __('High Price', 'site-reviews'), |
|
402 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_highprice</code>', |
|
403 | + 'label' => __( 'High Price', 'site-reviews' ), |
|
404 | 404 | 'placeholder' => '100.00', |
405 | 405 | 'type' => 'text', |
406 | 406 | ], |
@@ -409,34 +409,34 @@ discard block |
||
409 | 409 | 'depends_on' => [ |
410 | 410 | 'settings.schema.type.default' => 'Product', |
411 | 411 | ], |
412 | - 'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>', |
|
413 | - 'label' => __('Price Currency', 'site-reviews'), |
|
412 | + 'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_pricecurrency</code>', |
|
413 | + 'label' => __( 'Price Currency', 'site-reviews' ), |
|
414 | 414 | 'placeholder' => 'USD', |
415 | 415 | 'type' => 'text', |
416 | 416 | ], |
417 | 417 | 'settings.submissions.required' => [ |
418 | 418 | 'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'], |
419 | - 'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'), |
|
420 | - 'label' => __('Required Fields', 'site-reviews'), |
|
419 | + 'description' => __( 'Choose which fields should be required in the submission form.', 'site-reviews' ), |
|
420 | + 'label' => __( 'Required Fields', 'site-reviews' ), |
|
421 | 421 | 'options' => [ |
422 | - 'rating' => __('Rating', 'site-reviews'), |
|
423 | - 'title' => __('Title', 'site-reviews'), |
|
424 | - 'content' => __('Review', 'site-reviews'), |
|
425 | - 'name' => __('Name', 'site-reviews'), |
|
426 | - 'email' => __('Email', 'site-reviews'), |
|
427 | - 'terms' => __('Terms', 'site-reviews'), |
|
422 | + 'rating' => __( 'Rating', 'site-reviews' ), |
|
423 | + 'title' => __( 'Title', 'site-reviews' ), |
|
424 | + 'content' => __( 'Review', 'site-reviews' ), |
|
425 | + 'name' => __( 'Name', 'site-reviews' ), |
|
426 | + 'email' => __( 'Email', 'site-reviews' ), |
|
427 | + 'terms' => __( 'Terms', 'site-reviews' ), |
|
428 | 428 | ], |
429 | 429 | 'type' => 'checkbox', |
430 | 430 | ], |
431 | 431 | 'settings.submissions.limit' => [ |
432 | 432 | 'default' => '', |
433 | - 'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'), |
|
434 | - 'label' => __('Limit Reviews', 'site-reviews'), |
|
433 | + 'description' => __( 'Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews' ), |
|
434 | + 'label' => __( 'Limit Reviews', 'site-reviews' ), |
|
435 | 435 | 'options' => [ |
436 | - '' => __('No Limit', 'site-reviews'), |
|
437 | - 'email' => __('By Email Address', 'site-reviews'), |
|
438 | - 'ip_address' => __('By IP Address', 'site-reviews'), |
|
439 | - 'username' => __('By Username (will only work for registered users)', 'site-reviews'), |
|
436 | + '' => __( 'No Limit', 'site-reviews' ), |
|
437 | + 'email' => __( 'By Email Address', 'site-reviews' ), |
|
438 | + 'ip_address' => __( 'By IP Address', 'site-reviews' ), |
|
439 | + 'username' => __( 'By Username (will only work for registered users)', 'site-reviews' ), |
|
440 | 440 | ], |
441 | 441 | 'type' => 'select', |
442 | 442 | ], |
@@ -445,8 +445,8 @@ discard block |
||
445 | 445 | 'depends_on' => [ |
446 | 446 | 'settings.submissions.limit' => ['email'], |
447 | 447 | ], |
448 | - 'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
449 | - 'label' => __('Email Whitelist', 'site-reviews'), |
|
448 | + 'description' => __( 'One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews' ), |
|
449 | + 'label' => __( 'Email Whitelist', 'site-reviews' ), |
|
450 | 450 | 'rows' => 5, |
451 | 451 | 'type' => 'code', |
452 | 452 | ], |
@@ -455,8 +455,8 @@ discard block |
||
455 | 455 | 'depends_on' => [ |
456 | 456 | 'settings.submissions.limit' => ['ip_address'], |
457 | 457 | ], |
458 | - 'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'), |
|
459 | - 'label' => __('IP Address Whitelist', 'site-reviews'), |
|
458 | + 'description' => __( 'One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews' ), |
|
459 | + 'label' => __( 'IP Address Whitelist', 'site-reviews' ), |
|
460 | 460 | 'rows' => 5, |
461 | 461 | 'type' => 'code', |
462 | 462 | ], |
@@ -465,15 +465,15 @@ discard block |
||
465 | 465 | 'depends_on' => [ |
466 | 466 | 'settings.submissions.limit' => ['username'], |
467 | 467 | ], |
468 | - 'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'), |
|
469 | - 'label' => __('Username Whitelist', 'site-reviews'), |
|
468 | + 'description' => __( 'One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews' ), |
|
469 | + 'label' => __( 'Username Whitelist', 'site-reviews' ), |
|
470 | 470 | 'rows' => 5, |
471 | 471 | 'type' => 'code', |
472 | 472 | ], |
473 | 473 | 'settings.submissions.recaptcha.integration' => [ |
474 | 474 | 'default' => '', |
475 | - 'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'), |
|
476 | - 'label' => __('Invisible reCAPTCHA', 'site-reviews'), |
|
475 | + 'description' => __( 'Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews' ), |
|
476 | + 'label' => __( 'Invisible reCAPTCHA', 'site-reviews' ), |
|
477 | 477 | 'options' => [ |
478 | 478 | '' => 'Do not use reCAPTCHA', |
479 | 479 | 'all' => 'Use reCAPTCHA', |
@@ -486,7 +486,7 @@ discard block |
||
486 | 486 | 'depends_on' => [ |
487 | 487 | 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
488 | 488 | ], |
489 | - 'label' => __('Site Key', 'site-reviews'), |
|
489 | + 'label' => __( 'Site Key', 'site-reviews' ), |
|
490 | 490 | 'type' => 'text', |
491 | 491 | ], |
492 | 492 | 'settings.submissions.recaptcha.secret' => [ |
@@ -494,7 +494,7 @@ discard block |
||
494 | 494 | 'depends_on' => [ |
495 | 495 | 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
496 | 496 | ], |
497 | - 'label' => __('Site Secret', 'site-reviews'), |
|
497 | + 'label' => __( 'Site Secret', 'site-reviews' ), |
|
498 | 498 | 'type' => 'text', |
499 | 499 | ], |
500 | 500 | 'settings.submissions.recaptcha.position' => [ |
@@ -502,8 +502,8 @@ discard block |
||
502 | 502 | 'depends_on' => [ |
503 | 503 | 'settings.submissions.recaptcha.integration' => ['all', 'guest'], |
504 | 504 | ], |
505 | - 'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'), |
|
506 | - 'label' => __('Badge Position', 'site-reviews'), |
|
505 | + 'description' => __( 'This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews' ), |
|
506 | + 'label' => __( 'Badge Position', 'site-reviews' ), |
|
507 | 507 | 'options' => [ |
508 | 508 | 'bottomleft' => 'Bottom Left', |
509 | 509 | 'bottomright' => 'Bottom Right', |
@@ -513,16 +513,16 @@ discard block |
||
513 | 513 | ], |
514 | 514 | 'settings.submissions.akismet' => [ |
515 | 515 | 'default' => 'no', |
516 | - 'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'), |
|
517 | - 'label' => __('Enable Akismet Integration', 'site-reviews'), |
|
516 | + 'description' => __( 'The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews' ), |
|
517 | + 'label' => __( 'Enable Akismet Integration', 'site-reviews' ), |
|
518 | 518 | 'type' => 'yes_no', |
519 | 519 | ], |
520 | 520 | 'settings.submissions.blacklist.integration' => [ |
521 | 521 | 'default' => '', |
522 | - 'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'), |
|
523 | - '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>' |
|
522 | + 'description' => sprintf( __( 'Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews' ), |
|
523 | + '<a href="'.admin_url( 'options-discussion.php#users_can_register' ).'">'.__( 'Comment Blacklist', 'site-reviews' ).'</a>' |
|
524 | 524 | ), |
525 | - 'label' => __('Blacklist', 'site-reviews'), |
|
525 | + 'label' => __( 'Blacklist', 'site-reviews' ), |
|
526 | 526 | 'options' => [ |
527 | 527 | '' => 'Use the Site Reviews Blacklist', |
528 | 528 | 'comments' => 'Use the WordPress Comment Blacklist', |
@@ -534,18 +534,18 @@ discard block |
||
534 | 534 | 'depends_on' => [ |
535 | 535 | 'settings.submissions.blacklist.integration' => [''], |
536 | 536 | ], |
537 | - 'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'), |
|
538 | - 'label' => __('Review Blacklist', 'site-reviews'), |
|
537 | + 'description' => __( 'One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews' ), |
|
538 | + 'label' => __( 'Review Blacklist', 'site-reviews' ), |
|
539 | 539 | 'rows' => 10, |
540 | 540 | 'type' => 'code', |
541 | 541 | ], |
542 | 542 | 'settings.submissions.blacklist.action' => [ |
543 | 543 | 'default' => 'unapprove', |
544 | - 'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'), |
|
545 | - 'label' => __('Blacklist Action', 'site-reviews'), |
|
544 | + 'description' => __( 'Choose the action that should be taken when a review is blacklisted.', 'site-reviews' ), |
|
545 | + 'label' => __( 'Blacklist Action', 'site-reviews' ), |
|
546 | 546 | 'options' => [ |
547 | - 'unapprove' => __('Require approval', 'site-reviews'), |
|
548 | - 'reject' => __('Reject submission', 'site-reviews'), |
|
547 | + 'unapprove' => __( 'Require approval', 'site-reviews' ), |
|
548 | + 'reject' => __( 'Reject submission', 'site-reviews' ), |
|
549 | 549 | ], |
550 | 550 | 'type' => 'select', |
551 | 551 | ], |
@@ -8,66 +8,66 @@ |
||
8 | 8 | |
9 | 9 | class Migrate_4_5_0 |
10 | 10 | { |
11 | - /** |
|
12 | - * @return void |
|
13 | - */ |
|
14 | - public function migrateOptions() |
|
15 | - { |
|
16 | - $isAccountVerified = glsr(OptionManager::class)->getWP('_glsr_rebusify', false); |
|
17 | - update_option('_glsr_trustalyze', $isAccountVerified); |
|
18 | - delete_option('_glsr_rebusify'); |
|
19 | - } |
|
11 | + /** |
|
12 | + * @return void |
|
13 | + */ |
|
14 | + public function migrateOptions() |
|
15 | + { |
|
16 | + $isAccountVerified = glsr(OptionManager::class)->getWP('_glsr_rebusify', false); |
|
17 | + update_option('_glsr_trustalyze', $isAccountVerified); |
|
18 | + delete_option('_glsr_rebusify'); |
|
19 | + } |
|
20 | 20 | |
21 | - /** |
|
22 | - * @return void |
|
23 | - */ |
|
24 | - public function migrateSettings() |
|
25 | - { |
|
26 | - if ($settings = get_option(OptionManager::databaseKey(4))) { |
|
27 | - $settings = Arr::set($settings, 'settings.general.trustalyze', |
|
28 | - Arr::get($settings, 'settings.general.rebusify') |
|
29 | - ); |
|
30 | - $settings = Arr::set($settings, 'settings.general.trustalyze_email', |
|
31 | - Arr::get($settings, 'settings.general.rebusify_email') |
|
32 | - ); |
|
33 | - $settings = Arr::set($settings, 'settings.general.trustalyze_serial', |
|
34 | - Arr::get($settings, 'settings.general.rebusify_serial') |
|
35 | - ); |
|
36 | - unset($settings['settings']['general']['rebusify']); |
|
37 | - unset($settings['settings']['general']['rebusify_email']); |
|
38 | - unset($settings['settings']['general']['rebusify_serial']); |
|
39 | - update_option(OptionManager::databaseKey(4), $settings); |
|
40 | - } |
|
41 | - } |
|
21 | + /** |
|
22 | + * @return void |
|
23 | + */ |
|
24 | + public function migrateSettings() |
|
25 | + { |
|
26 | + if ($settings = get_option(OptionManager::databaseKey(4))) { |
|
27 | + $settings = Arr::set($settings, 'settings.general.trustalyze', |
|
28 | + Arr::get($settings, 'settings.general.rebusify') |
|
29 | + ); |
|
30 | + $settings = Arr::set($settings, 'settings.general.trustalyze_email', |
|
31 | + Arr::get($settings, 'settings.general.rebusify_email') |
|
32 | + ); |
|
33 | + $settings = Arr::set($settings, 'settings.general.trustalyze_serial', |
|
34 | + Arr::get($settings, 'settings.general.rebusify_serial') |
|
35 | + ); |
|
36 | + unset($settings['settings']['general']['rebusify']); |
|
37 | + unset($settings['settings']['general']['rebusify_email']); |
|
38 | + unset($settings['settings']['general']['rebusify_serial']); |
|
39 | + update_option(OptionManager::databaseKey(4), $settings); |
|
40 | + } |
|
41 | + } |
|
42 | 42 | |
43 | - /** |
|
44 | - * @return void |
|
45 | - */ |
|
46 | - public function migrateUserMeta() |
|
47 | - { |
|
48 | - $metaKey = NoticeController::USER_META_KEY; |
|
49 | - $userIds = get_users([ |
|
50 | - 'fields' => 'ID', |
|
51 | - 'meta_compare' => 'EXISTS', |
|
52 | - 'meta_key' => $metaKey, |
|
53 | - ]); |
|
54 | - foreach ($userIds as $userId) { |
|
55 | - $meta = (array) get_user_meta($userId, $metaKey, true); |
|
56 | - if (array_key_exists('rebusify', $meta)) { |
|
57 | - $meta['trustalyze'] = $meta['rebusify']; |
|
58 | - unset($meta['rebusify']); |
|
59 | - update_user_meta($userId, $metaKey, $meta); |
|
60 | - } |
|
61 | - } |
|
62 | - } |
|
43 | + /** |
|
44 | + * @return void |
|
45 | + */ |
|
46 | + public function migrateUserMeta() |
|
47 | + { |
|
48 | + $metaKey = NoticeController::USER_META_KEY; |
|
49 | + $userIds = get_users([ |
|
50 | + 'fields' => 'ID', |
|
51 | + 'meta_compare' => 'EXISTS', |
|
52 | + 'meta_key' => $metaKey, |
|
53 | + ]); |
|
54 | + foreach ($userIds as $userId) { |
|
55 | + $meta = (array) get_user_meta($userId, $metaKey, true); |
|
56 | + if (array_key_exists('rebusify', $meta)) { |
|
57 | + $meta['trustalyze'] = $meta['rebusify']; |
|
58 | + unset($meta['rebusify']); |
|
59 | + update_user_meta($userId, $metaKey, $meta); |
|
60 | + } |
|
61 | + } |
|
62 | + } |
|
63 | 63 | |
64 | - /** |
|
65 | - * @return void |
|
66 | - */ |
|
67 | - public function run() |
|
68 | - { |
|
69 | - $this->migrateOptions(); |
|
70 | - $this->migrateSettings(); |
|
71 | - $this->migrateUserMeta(); |
|
72 | - } |
|
64 | + /** |
|
65 | + * @return void |
|
66 | + */ |
|
67 | + public function run() |
|
68 | + { |
|
69 | + $this->migrateOptions(); |
|
70 | + $this->migrateSettings(); |
|
71 | + $this->migrateUserMeta(); |
|
72 | + } |
|
73 | 73 | } |
@@ -13,9 +13,9 @@ discard block |
||
13 | 13 | */ |
14 | 14 | public function migrateOptions() |
15 | 15 | { |
16 | - $isAccountVerified = glsr(OptionManager::class)->getWP('_glsr_rebusify', false); |
|
17 | - update_option('_glsr_trustalyze', $isAccountVerified); |
|
18 | - delete_option('_glsr_rebusify'); |
|
16 | + $isAccountVerified = glsr( OptionManager::class )->getWP( '_glsr_rebusify', false ); |
|
17 | + update_option( '_glsr_trustalyze', $isAccountVerified ); |
|
18 | + delete_option( '_glsr_rebusify' ); |
|
19 | 19 | } |
20 | 20 | |
21 | 21 | /** |
@@ -23,20 +23,20 @@ discard block |
||
23 | 23 | */ |
24 | 24 | public function migrateSettings() |
25 | 25 | { |
26 | - if ($settings = get_option(OptionManager::databaseKey(4))) { |
|
27 | - $settings = Arr::set($settings, 'settings.general.trustalyze', |
|
28 | - Arr::get($settings, 'settings.general.rebusify') |
|
26 | + if( $settings = get_option( OptionManager::databaseKey( 4 ) ) ) { |
|
27 | + $settings = Arr::set( $settings, 'settings.general.trustalyze', |
|
28 | + Arr::get( $settings, 'settings.general.rebusify' ) |
|
29 | 29 | ); |
30 | - $settings = Arr::set($settings, 'settings.general.trustalyze_email', |
|
31 | - Arr::get($settings, 'settings.general.rebusify_email') |
|
30 | + $settings = Arr::set( $settings, 'settings.general.trustalyze_email', |
|
31 | + Arr::get( $settings, 'settings.general.rebusify_email' ) |
|
32 | 32 | ); |
33 | - $settings = Arr::set($settings, 'settings.general.trustalyze_serial', |
|
34 | - Arr::get($settings, 'settings.general.rebusify_serial') |
|
33 | + $settings = Arr::set( $settings, 'settings.general.trustalyze_serial', |
|
34 | + Arr::get( $settings, 'settings.general.rebusify_serial' ) |
|
35 | 35 | ); |
36 | 36 | unset($settings['settings']['general']['rebusify']); |
37 | 37 | unset($settings['settings']['general']['rebusify_email']); |
38 | 38 | unset($settings['settings']['general']['rebusify_serial']); |
39 | - update_option(OptionManager::databaseKey(4), $settings); |
|
39 | + update_option( OptionManager::databaseKey( 4 ), $settings ); |
|
40 | 40 | } |
41 | 41 | } |
42 | 42 | |
@@ -46,17 +46,17 @@ discard block |
||
46 | 46 | public function migrateUserMeta() |
47 | 47 | { |
48 | 48 | $metaKey = NoticeController::USER_META_KEY; |
49 | - $userIds = get_users([ |
|
49 | + $userIds = get_users( [ |
|
50 | 50 | 'fields' => 'ID', |
51 | 51 | 'meta_compare' => 'EXISTS', |
52 | 52 | 'meta_key' => $metaKey, |
53 | - ]); |
|
54 | - foreach ($userIds as $userId) { |
|
55 | - $meta = (array) get_user_meta($userId, $metaKey, true); |
|
56 | - if (array_key_exists('rebusify', $meta)) { |
|
53 | + ] ); |
|
54 | + foreach( $userIds as $userId ) { |
|
55 | + $meta = (array)get_user_meta( $userId, $metaKey, true ); |
|
56 | + if( array_key_exists( 'rebusify', $meta ) ) { |
|
57 | 57 | $meta['trustalyze'] = $meta['rebusify']; |
58 | 58 | unset($meta['rebusify']); |
59 | - update_user_meta($userId, $metaKey, $meta); |
|
59 | + update_user_meta( $userId, $metaKey, $meta ); |
|
60 | 60 | } |
61 | 61 | } |
62 | 62 | } |
@@ -1,10 +1,10 @@ discard block |
||
1 | -<?php defined('WPINC') || die; ?> |
|
1 | +<?php defined( 'WPINC' ) || die; ?> |
|
2 | 2 | |
3 | 3 | <div id="support-01" class="glsr-card postbox"> |
4 | 4 | <div class="glsr-card-header"> |
5 | 5 | <h3>Basic Troubleshooting Steps</h3> |
6 | 6 | <button type="button" class="handlediv" aria-expanded="true"> |
7 | - <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span> |
|
7 | + <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span> |
|
8 | 8 | <span class="toggle-indicator" aria-hidden="true"></span> |
9 | 9 | </button> |
10 | 10 | </div> |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | <div class="glsr-card-header"> |
33 | 33 | <h3>Common Problems and Solutions</h3> |
34 | 34 | <button type="button" class="handlediv" aria-expanded="true"> |
35 | - <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span> |
|
35 | + <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span> |
|
36 | 36 | <span class="toggle-indicator" aria-hidden="true"></span> |
37 | 37 | </button> |
38 | 38 | </div> |
@@ -41,12 +41,12 @@ discard block |
||
41 | 41 | <li> |
42 | 42 | <p class="glsr-heading">Email notifications are not working</p> |
43 | 43 | <p>Site Reviews uses the standard WordPress mail functions to send email. However, this does not guarantee that emails will send successfully as it still depends on your WordPress settings and server configuration being correct.</p> |
44 | - <p>To make sure that emails are correctly sent, please verify that the email you have saved in the "Email Address" setting of the <code><a href="<?= admin_url('options-general.php'); ?>">WordPress General Settings</a></code> page uses the same domain as that of your website. For example, if your website is <code>https://reviews.com</code> then the "Email Address" setting should end with, <code>@reviews.com</code>. If the email address you have saved in the WordPress General Settings does not share the same domain as your website, you will likely experience issues sending email from your WordPress site.</p> |
|
44 | + <p>To make sure that emails are correctly sent, please verify that the email you have saved in the "Email Address" setting of the <code><a href="<?= admin_url( 'options-general.php' ); ?>">WordPress General Settings</a></code> page uses the same domain as that of your website. For example, if your website is <code>https://reviews.com</code> then the "Email Address" setting should end with, <code>@reviews.com</code>. If the email address you have saved in the WordPress General Settings does not share the same domain as your website, you will likely experience issues sending email from your WordPress site.</p> |
|
45 | 45 | <p>If your email notifications are not sending, I recommend that you install the <a href="https://wordpress.org/plugins/check-email/">Check Email</a> plugin to verify that your website is able to correctly send email. See also, <a href="https://www.butlerblog.com/2013/12/12/easy-smtp-email-wordpress-wp_mail/">Easy SMTP email settings for WordPress</a>.</p> |
46 | 46 | </li> |
47 | 47 | <li> |
48 | 48 | <p class="glsr-heading">I only want my reviews to show on the page they were published or assigned to but they are showing on every page.</p> |
49 | - <p>All reviews are unassigned by default. If you want to assign reviews to specific pages, you will need to use the “assign_to” and “assigned_to” shortcode options. Please see the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-shortcodes'); ?>">Shortcodes</a></code> documentation page for more information.</p> |
|
49 | + <p>All reviews are unassigned by default. If you want to assign reviews to specific pages, you will need to use the “assign_to” and “assigned_to” shortcode options. Please see the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-shortcodes' ); ?>">Shortcodes</a></code> documentation page for more information.</p> |
|
50 | 50 | </li> |
51 | 51 | <li> |
52 | 52 | <p class="glsr-heading">My submission form is not assigning reviews to the page even though I have set the option to do so.</p> |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | <div class="glsr-card-header"> |
69 | 69 | <h3>Contact Support</h3> |
70 | 70 | <button type="button" class="handlediv" aria-expanded="true"> |
71 | - <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span> |
|
71 | + <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span> |
|
72 | 72 | <span class="toggle-indicator" aria-hidden="true"></span> |
73 | 73 | </button> |
74 | 74 | </div> |
@@ -77,32 +77,32 @@ discard block |
||
77 | 77 | <p>However, you may also contact us directly (expect a slower response time) after confirming the following:</p> |
78 | 78 | <p class="glsr-card-field"> |
79 | 79 | <input type="checkbox" id="step-1" class="glsr-support-step"> |
80 | - <label for="step-1">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-support'); ?>" data-expand="#support-02">Common Problems and Solutions</a></code> and it does not answer my question.</label> |
|
80 | + <label for="step-1">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-support' ); ?>" data-expand="#support-02">Common Problems and Solutions</a></code> and it does not answer my question.</label> |
|
81 | 81 | </p> |
82 | 82 | <p class="glsr-card-field"> |
83 | 83 | <input type="checkbox" id="step-2" class="glsr-support-step"> |
84 | - <label for="step-2">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-faq'); ?>">FAQ</a></code> page and it does not answer my question.</label> |
|
84 | + <label for="step-2">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-faq' ); ?>">FAQ</a></code> page and it does not answer my question.</label> |
|
85 | 85 | </p> |
86 | 86 | <p class="glsr-card-field"> |
87 | 87 | <input type="checkbox" id="step-3" class="glsr-support-step"> |
88 | - <label for="step-3">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-shortcodes'); ?>">Shortcodes</a></code> page and it does not answer my question.</label> |
|
88 | + <label for="step-3">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-shortcodes' ); ?>">Shortcodes</a></code> page and it does not answer my question.</label> |
|
89 | 89 | </p> |
90 | - <?php if (glsr()->hasPermission('documentation', 'hooks')) : ?> |
|
90 | + <?php if( glsr()->hasPermission( 'documentation', 'hooks' ) ) : ?> |
|
91 | 91 | <p class="glsr-card-field"> |
92 | 92 | <input type="checkbox" id="step-4" class="glsr-support-step"> |
93 | - <label for="step-4">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-hooks'); ?>">Hooks</a></code> page and it does not answer my question.</label> |
|
93 | + <label for="step-4">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-hooks' ); ?>">Hooks</a></code> page and it does not answer my question.</label> |
|
94 | 94 | </p> |
95 | 95 | <?php endif; ?> |
96 | 96 | <p class="glsr-card-field"> |
97 | 97 | <input type="checkbox" id="step-5" class="glsr-support-step"> |
98 | - <label for="step-5">I have completed the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-support'); ?>" data-expand="#support-01">Basic Troubleshooting Steps</a></code> provided above.</label> |
|
98 | + <label for="step-5">I have completed the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#tab-support' ); ?>" data-expand="#support-01">Basic Troubleshooting Steps</a></code> provided above.</label> |
|
99 | 99 | </p> |
100 | 100 | <div class="glsr-card-result hidden"> |
101 | 101 | <p><strong>Please send an email to <a href="mailto:[email protected]?subject=Support%20request">[email protected]</a> and include the following details:</strong></p> |
102 | 102 | <ul> |
103 | 103 | <li>A detailed description of the problem you are having and steps to reproduce it.</li> |
104 | - <li>Download and attach the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-console'); ?>">Tools → Console</a></code> log file to the email.</li> |
|
105 | - <li>Download and attach the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#tab-system-info'); ?>">Tools → System Info</a></code> report to the email.</li> |
|
104 | + <li>Download and attach the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#tab-console' ); ?>">Tools → Console</a></code> log file to the email.</li> |
|
105 | + <li>Download and attach the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#tab-system-info' ); ?>">Tools → System Info</a></code> report to the email.</li> |
|
106 | 106 | <li>Include screenshots if they will help explain the problem.</li> |
107 | 107 | </ul> |
108 | 108 | <p><span class="required">Please be aware that if your email does not include the System Info report and the Console log (as requested above), it will most likely be ignored. Thank you for understanding.</span></p> |
@@ -11,6 +11,6 @@ |
||
11 | 11 | */ |
12 | 12 | class Upgrader |
13 | 13 | { |
14 | - public function run() |
|
15 | - {} |
|
14 | + public function run() |
|
15 | + {} |
|
16 | 16 | } |
@@ -12,5 +12,6 @@ |
||
12 | 12 | class Upgrader |
13 | 13 | { |
14 | 14 | public function run() |
15 | - {} |
|
15 | + { |
|
16 | +} |
|
16 | 17 | } |
@@ -8,47 +8,47 @@ discard block |
||
8 | 8 | |
9 | 9 | class SqlQueries |
10 | 10 | { |
11 | - protected $db; |
|
12 | - protected $postType; |
|
11 | + protected $db; |
|
12 | + protected $postType; |
|
13 | 13 | |
14 | - public function __construct() |
|
15 | - { |
|
16 | - global $wpdb; |
|
17 | - $this->db = $wpdb; |
|
18 | - $this->postType = Application::POST_TYPE; |
|
19 | - } |
|
14 | + public function __construct() |
|
15 | + { |
|
16 | + global $wpdb; |
|
17 | + $this->db = $wpdb; |
|
18 | + $this->postType = Application::POST_TYPE; |
|
19 | + } |
|
20 | 20 | |
21 | - /** |
|
22 | - * @return bool |
|
23 | - */ |
|
24 | - public function deletePostCountMetaKeys() |
|
25 | - { |
|
26 | - $this->db->query(" |
|
21 | + /** |
|
22 | + * @return bool |
|
23 | + */ |
|
24 | + public function deletePostCountMetaKeys() |
|
25 | + { |
|
26 | + $this->db->query(" |
|
27 | 27 | DELETE |
28 | 28 | FROM {$this->db->postmeta} |
29 | 29 | WHERE meta_key LIKE '_glsr_%' |
30 | 30 | "); |
31 | - } |
|
31 | + } |
|
32 | 32 | |
33 | - /** |
|
34 | - * @return bool |
|
35 | - */ |
|
36 | - public function deleteTermCountMetaKeys() |
|
37 | - { |
|
38 | - $this->db->query(" |
|
33 | + /** |
|
34 | + * @return bool |
|
35 | + */ |
|
36 | + public function deleteTermCountMetaKeys() |
|
37 | + { |
|
38 | + $this->db->query(" |
|
39 | 39 | DELETE |
40 | 40 | FROM {$this->db->termmeta} |
41 | 41 | WHERE meta_key LIKE '_glsr_%' |
42 | 42 | "); |
43 | - } |
|
43 | + } |
|
44 | 44 | |
45 | - /** |
|
46 | - * @param string $metaReviewId |
|
47 | - * @return int |
|
48 | - */ |
|
49 | - public function getPostIdFromReviewId($metaReviewId) |
|
50 | - { |
|
51 | - $postId = $this->db->get_var(" |
|
45 | + /** |
|
46 | + * @param string $metaReviewId |
|
47 | + * @return int |
|
48 | + */ |
|
49 | + public function getPostIdFromReviewId($metaReviewId) |
|
50 | + { |
|
51 | + $postId = $this->db->get_var(" |
|
52 | 52 | SELECT p.ID |
53 | 53 | FROM {$this->db->posts} AS p |
54 | 54 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
@@ -56,17 +56,17 @@ discard block |
||
56 | 56 | AND m.meta_key = '_review_id' |
57 | 57 | AND m.meta_value = '{$metaReviewId}' |
58 | 58 | "); |
59 | - return intval($postId); |
|
60 | - } |
|
59 | + return intval($postId); |
|
60 | + } |
|
61 | 61 | |
62 | - /** |
|
63 | - * @param int $lastPostId |
|
64 | - * @param int $limit |
|
65 | - * @return array |
|
66 | - */ |
|
67 | - public function getReviewCounts(array $args, $lastPostId = 0, $limit = 500) |
|
68 | - { |
|
69 | - return (array) $this->db->get_results(" |
|
62 | + /** |
|
63 | + * @param int $lastPostId |
|
64 | + * @param int $limit |
|
65 | + * @return array |
|
66 | + */ |
|
67 | + public function getReviewCounts(array $args, $lastPostId = 0, $limit = 500) |
|
68 | + { |
|
69 | + return (array) $this->db->get_results(" |
|
70 | 70 | SELECT DISTINCT p.ID, m1.meta_value AS rating, m2.meta_value AS type |
71 | 71 | FROM {$this->db->posts} AS p |
72 | 72 | INNER JOIN {$this->db->postmeta} AS m1 ON p.ID = m1.post_id |
@@ -81,17 +81,17 @@ discard block |
||
81 | 81 | ORDER By p.ID ASC |
82 | 82 | LIMIT {$limit} |
83 | 83 | "); |
84 | - } |
|
84 | + } |
|
85 | 85 | |
86 | - /** |
|
87 | - * @todo remove this? |
|
88 | - * @param string $metaKey |
|
89 | - * @return array |
|
90 | - */ |
|
91 | - public function getReviewCountsFor($metaKey) |
|
92 | - { |
|
93 | - $metaKey = Str::prefix('_', $metaKey); |
|
94 | - return (array) $this->db->get_results(" |
|
86 | + /** |
|
87 | + * @todo remove this? |
|
88 | + * @param string $metaKey |
|
89 | + * @return array |
|
90 | + */ |
|
91 | + public function getReviewCountsFor($metaKey) |
|
92 | + { |
|
93 | + $metaKey = Str::prefix('_', $metaKey); |
|
94 | + return (array) $this->db->get_results(" |
|
95 | 95 | SELECT DISTINCT m.meta_value AS name, COUNT(*) num_posts |
96 | 96 | FROM {$this->db->posts} AS p |
97 | 97 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
@@ -99,16 +99,16 @@ discard block |
||
99 | 99 | AND m.meta_key = '{$metaKey}' |
100 | 100 | GROUP BY name |
101 | 101 | "); |
102 | - } |
|
102 | + } |
|
103 | 103 | |
104 | - /** |
|
105 | - * @todo remove this? |
|
106 | - * @param string $reviewType |
|
107 | - * @return array |
|
108 | - */ |
|
109 | - public function getReviewIdsByType($reviewType) |
|
110 | - { |
|
111 | - $results = $this->db->get_col(" |
|
104 | + /** |
|
105 | + * @todo remove this? |
|
106 | + * @param string $reviewType |
|
107 | + * @return array |
|
108 | + */ |
|
109 | + public function getReviewIdsByType($reviewType) |
|
110 | + { |
|
111 | + $results = $this->db->get_col(" |
|
112 | 112 | SELECT DISTINCT m1.meta_value AS review_id |
113 | 113 | FROM {$this->db->posts} AS p |
114 | 114 | INNER JOIN {$this->db->postmeta} AS m1 ON p.ID = m1.post_id |
@@ -118,20 +118,20 @@ discard block |
||
118 | 118 | AND m2.meta_key = '_review_type' |
119 | 119 | AND m2.meta_value = '{$reviewType}' |
120 | 120 | "); |
121 | - return array_keys(array_flip($results)); |
|
122 | - } |
|
121 | + return array_keys(array_flip($results)); |
|
122 | + } |
|
123 | 123 | |
124 | - /** |
|
125 | - * @param int $greaterThanId |
|
126 | - * @param int $limit |
|
127 | - * @return array |
|
128 | - */ |
|
129 | - public function getReviewRatingsFromIds(array $postIds, $greaterThanId = 0, $limit = 100) |
|
130 | - { |
|
131 | - sort($postIds); |
|
132 | - $postIds = array_slice($postIds, intval(array_search($greaterThanId, $postIds)), $limit); |
|
133 | - $postIds = implode(',', $postIds); |
|
134 | - return (array) $this->db->get_results(" |
|
124 | + /** |
|
125 | + * @param int $greaterThanId |
|
126 | + * @param int $limit |
|
127 | + * @return array |
|
128 | + */ |
|
129 | + public function getReviewRatingsFromIds(array $postIds, $greaterThanId = 0, $limit = 100) |
|
130 | + { |
|
131 | + sort($postIds); |
|
132 | + $postIds = array_slice($postIds, intval(array_search($greaterThanId, $postIds)), $limit); |
|
133 | + $postIds = implode(',', $postIds); |
|
134 | + return (array) $this->db->get_results(" |
|
135 | 135 | SELECT p.ID, m.meta_value AS rating |
136 | 136 | FROM {$this->db->posts} AS p |
137 | 137 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
@@ -144,20 +144,20 @@ discard block |
||
144 | 144 | ORDER By p.ID ASC |
145 | 145 | LIMIT {$limit} |
146 | 146 | "); |
147 | - } |
|
147 | + } |
|
148 | 148 | |
149 | - /** |
|
150 | - * @param string $key |
|
151 | - * @param string $status |
|
152 | - * @return array |
|
153 | - */ |
|
154 | - public function getReviewsMeta($key, $status = 'publish') |
|
155 | - { |
|
156 | - $postStatusQuery = 'all' != $status && !empty($status) |
|
157 | - ? "AND p.post_status = '{$status}'" |
|
158 | - : ''; |
|
159 | - $key = Str::prefix('_', $key); |
|
160 | - $values = $this->db->get_col(" |
|
149 | + /** |
|
150 | + * @param string $key |
|
151 | + * @param string $status |
|
152 | + * @return array |
|
153 | + */ |
|
154 | + public function getReviewsMeta($key, $status = 'publish') |
|
155 | + { |
|
156 | + $postStatusQuery = 'all' != $status && !empty($status) |
|
157 | + ? "AND p.post_status = '{$status}'" |
|
158 | + : ''; |
|
159 | + $key = Str::prefix('_', $key); |
|
160 | + $values = $this->db->get_col(" |
|
161 | 161 | SELECT DISTINCT m.meta_value |
162 | 162 | FROM {$this->db->postmeta} m |
163 | 163 | LEFT JOIN {$this->db->posts} p ON p.ID = m.post_id |
@@ -168,42 +168,42 @@ discard block |
||
168 | 168 | GROUP BY p.ID -- remove duplicate meta_value entries |
169 | 169 | ORDER BY m.meta_id ASC -- sort by oldest meta_value |
170 | 170 | "); |
171 | - sort($values); |
|
172 | - return $values; |
|
173 | - } |
|
171 | + sort($values); |
|
172 | + return $values; |
|
173 | + } |
|
174 | 174 | |
175 | - /** |
|
176 | - * @param string $and |
|
177 | - * @return string |
|
178 | - */ |
|
179 | - protected function getAndForCounts(array $args, $and = '') |
|
180 | - { |
|
181 | - $postIds = implode(',', array_filter(Arr::get($args, 'post_ids', []))); |
|
182 | - $termIds = implode(',', array_filter(Arr::get($args, 'term_ids', []))); |
|
183 | - if (!empty($args['type'])) { |
|
184 | - $and.= "AND m2.meta_value = '{$args['type']}' "; |
|
185 | - } |
|
186 | - if ($postIds) { |
|
187 | - $and.= "AND m3.meta_key = '_assigned_to' AND m3.meta_value IN ({$postIds}) "; |
|
188 | - } |
|
189 | - if ($termIds) { |
|
190 | - $and.= "AND tr.term_taxonomy_id IN ({$termIds}) "; |
|
191 | - } |
|
192 | - return apply_filters('site-reviews/query/and-for-counts', $and); |
|
193 | - } |
|
175 | + /** |
|
176 | + * @param string $and |
|
177 | + * @return string |
|
178 | + */ |
|
179 | + protected function getAndForCounts(array $args, $and = '') |
|
180 | + { |
|
181 | + $postIds = implode(',', array_filter(Arr::get($args, 'post_ids', []))); |
|
182 | + $termIds = implode(',', array_filter(Arr::get($args, 'term_ids', []))); |
|
183 | + if (!empty($args['type'])) { |
|
184 | + $and.= "AND m2.meta_value = '{$args['type']}' "; |
|
185 | + } |
|
186 | + if ($postIds) { |
|
187 | + $and.= "AND m3.meta_key = '_assigned_to' AND m3.meta_value IN ({$postIds}) "; |
|
188 | + } |
|
189 | + if ($termIds) { |
|
190 | + $and.= "AND tr.term_taxonomy_id IN ({$termIds}) "; |
|
191 | + } |
|
192 | + return apply_filters('site-reviews/query/and-for-counts', $and); |
|
193 | + } |
|
194 | 194 | |
195 | - /** |
|
196 | - * @param string $innerJoin |
|
197 | - * @return string |
|
198 | - */ |
|
199 | - protected function getInnerJoinForCounts(array $args, $innerJoin = '') |
|
200 | - { |
|
201 | - if (!empty(Arr::get($args, 'post_ids'))) { |
|
202 | - $innerJoin.= "INNER JOIN {$this->db->postmeta} AS m3 ON p.ID = m3.post_id "; |
|
203 | - } |
|
204 | - if (!empty(Arr::get($args, 'term_ids'))) { |
|
205 | - $innerJoin.= "INNER JOIN {$this->db->term_relationships} AS tr ON p.ID = tr.object_id "; |
|
206 | - } |
|
207 | - return apply_filters('site-reviews/query/inner-join-for-counts', $innerJoin); |
|
208 | - } |
|
195 | + /** |
|
196 | + * @param string $innerJoin |
|
197 | + * @return string |
|
198 | + */ |
|
199 | + protected function getInnerJoinForCounts(array $args, $innerJoin = '') |
|
200 | + { |
|
201 | + if (!empty(Arr::get($args, 'post_ids'))) { |
|
202 | + $innerJoin.= "INNER JOIN {$this->db->postmeta} AS m3 ON p.ID = m3.post_id "; |
|
203 | + } |
|
204 | + if (!empty(Arr::get($args, 'term_ids'))) { |
|
205 | + $innerJoin.= "INNER JOIN {$this->db->term_relationships} AS tr ON p.ID = tr.object_id "; |
|
206 | + } |
|
207 | + return apply_filters('site-reviews/query/inner-join-for-counts', $innerJoin); |
|
208 | + } |
|
209 | 209 | } |
@@ -23,11 +23,11 @@ discard block |
||
23 | 23 | */ |
24 | 24 | public function deletePostCountMetaKeys() |
25 | 25 | { |
26 | - $this->db->query(" |
|
26 | + $this->db->query( " |
|
27 | 27 | DELETE |
28 | 28 | FROM {$this->db->postmeta} |
29 | 29 | WHERE meta_key LIKE '_glsr_%' |
30 | - "); |
|
30 | + " ); |
|
31 | 31 | } |
32 | 32 | |
33 | 33 | /** |
@@ -35,28 +35,28 @@ discard block |
||
35 | 35 | */ |
36 | 36 | public function deleteTermCountMetaKeys() |
37 | 37 | { |
38 | - $this->db->query(" |
|
38 | + $this->db->query( " |
|
39 | 39 | DELETE |
40 | 40 | FROM {$this->db->termmeta} |
41 | 41 | WHERE meta_key LIKE '_glsr_%' |
42 | - "); |
|
42 | + " ); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | /** |
46 | 46 | * @param string $metaReviewId |
47 | 47 | * @return int |
48 | 48 | */ |
49 | - public function getPostIdFromReviewId($metaReviewId) |
|
49 | + public function getPostIdFromReviewId( $metaReviewId ) |
|
50 | 50 | { |
51 | - $postId = $this->db->get_var(" |
|
51 | + $postId = $this->db->get_var( " |
|
52 | 52 | SELECT p.ID |
53 | 53 | FROM {$this->db->posts} AS p |
54 | 54 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
55 | 55 | WHERE p.post_type = '{$this->postType}' |
56 | 56 | AND m.meta_key = '_review_id' |
57 | 57 | AND m.meta_value = '{$metaReviewId}' |
58 | - "); |
|
59 | - return intval($postId); |
|
58 | + " ); |
|
59 | + return intval( $postId ); |
|
60 | 60 | } |
61 | 61 | |
62 | 62 | /** |
@@ -64,23 +64,23 @@ discard block |
||
64 | 64 | * @param int $limit |
65 | 65 | * @return array |
66 | 66 | */ |
67 | - public function getReviewCounts(array $args, $lastPostId = 0, $limit = 500) |
|
67 | + public function getReviewCounts( array $args, $lastPostId = 0, $limit = 500 ) |
|
68 | 68 | { |
69 | - return (array) $this->db->get_results(" |
|
69 | + return (array)$this->db->get_results( " |
|
70 | 70 | SELECT DISTINCT p.ID, m1.meta_value AS rating, m2.meta_value AS type |
71 | 71 | FROM {$this->db->posts} AS p |
72 | 72 | INNER JOIN {$this->db->postmeta} AS m1 ON p.ID = m1.post_id |
73 | 73 | INNER JOIN {$this->db->postmeta} AS m2 ON p.ID = m2.post_id |
74 | - {$this->getInnerJoinForCounts($args)} |
|
74 | + {$this->getInnerJoinForCounts( $args )} |
|
75 | 75 | WHERE p.ID > {$lastPostId} |
76 | 76 | AND p.post_status = 'publish' |
77 | 77 | AND p.post_type = '{$this->postType}' |
78 | 78 | AND m1.meta_key = '_rating' |
79 | 79 | AND m2.meta_key = '_review_type' |
80 | - {$this->getAndForCounts($args)} |
|
80 | + {$this->getAndForCounts( $args )} |
|
81 | 81 | ORDER By p.ID ASC |
82 | 82 | LIMIT {$limit} |
83 | - "); |
|
83 | + " ); |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
@@ -88,17 +88,17 @@ discard block |
||
88 | 88 | * @param string $metaKey |
89 | 89 | * @return array |
90 | 90 | */ |
91 | - public function getReviewCountsFor($metaKey) |
|
91 | + public function getReviewCountsFor( $metaKey ) |
|
92 | 92 | { |
93 | - $metaKey = Str::prefix('_', $metaKey); |
|
94 | - return (array) $this->db->get_results(" |
|
93 | + $metaKey = Str::prefix( '_', $metaKey ); |
|
94 | + return (array)$this->db->get_results( " |
|
95 | 95 | SELECT DISTINCT m.meta_value AS name, COUNT(*) num_posts |
96 | 96 | FROM {$this->db->posts} AS p |
97 | 97 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
98 | 98 | WHERE p.post_type = '{$this->postType}' |
99 | 99 | AND m.meta_key = '{$metaKey}' |
100 | 100 | GROUP BY name |
101 | - "); |
|
101 | + " ); |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | /** |
@@ -106,9 +106,9 @@ discard block |
||
106 | 106 | * @param string $reviewType |
107 | 107 | * @return array |
108 | 108 | */ |
109 | - public function getReviewIdsByType($reviewType) |
|
109 | + public function getReviewIdsByType( $reviewType ) |
|
110 | 110 | { |
111 | - $results = $this->db->get_col(" |
|
111 | + $results = $this->db->get_col( " |
|
112 | 112 | SELECT DISTINCT m1.meta_value AS review_id |
113 | 113 | FROM {$this->db->posts} AS p |
114 | 114 | INNER JOIN {$this->db->postmeta} AS m1 ON p.ID = m1.post_id |
@@ -117,8 +117,8 @@ discard block |
||
117 | 117 | AND m1.meta_key = '_review_id' |
118 | 118 | AND m2.meta_key = '_review_type' |
119 | 119 | AND m2.meta_value = '{$reviewType}' |
120 | - "); |
|
121 | - return array_keys(array_flip($results)); |
|
120 | + " ); |
|
121 | + return array_keys( array_flip( $results ) ); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | /** |
@@ -126,12 +126,12 @@ discard block |
||
126 | 126 | * @param int $limit |
127 | 127 | * @return array |
128 | 128 | */ |
129 | - public function getReviewRatingsFromIds(array $postIds, $greaterThanId = 0, $limit = 100) |
|
129 | + public function getReviewRatingsFromIds( array $postIds, $greaterThanId = 0, $limit = 100 ) |
|
130 | 130 | { |
131 | - sort($postIds); |
|
132 | - $postIds = array_slice($postIds, intval(array_search($greaterThanId, $postIds)), $limit); |
|
133 | - $postIds = implode(',', $postIds); |
|
134 | - return (array) $this->db->get_results(" |
|
131 | + sort( $postIds ); |
|
132 | + $postIds = array_slice( $postIds, intval( array_search( $greaterThanId, $postIds ) ), $limit ); |
|
133 | + $postIds = implode( ',', $postIds ); |
|
134 | + return (array)$this->db->get_results( " |
|
135 | 135 | SELECT p.ID, m.meta_value AS rating |
136 | 136 | FROM {$this->db->posts} AS p |
137 | 137 | INNER JOIN {$this->db->postmeta} AS m ON p.ID = m.post_id |
@@ -143,7 +143,7 @@ discard block |
||
143 | 143 | GROUP BY p.ID |
144 | 144 | ORDER By p.ID ASC |
145 | 145 | LIMIT {$limit} |
146 | - "); |
|
146 | + " ); |
|
147 | 147 | } |
148 | 148 | |
149 | 149 | /** |
@@ -151,13 +151,13 @@ discard block |
||
151 | 151 | * @param string $status |
152 | 152 | * @return array |
153 | 153 | */ |
154 | - public function getReviewsMeta($key, $status = 'publish') |
|
154 | + public function getReviewsMeta( $key, $status = 'publish' ) |
|
155 | 155 | { |
156 | 156 | $postStatusQuery = 'all' != $status && !empty($status) |
157 | 157 | ? "AND p.post_status = '{$status}'" |
158 | 158 | : ''; |
159 | - $key = Str::prefix('_', $key); |
|
160 | - $values = $this->db->get_col(" |
|
159 | + $key = Str::prefix( '_', $key ); |
|
160 | + $values = $this->db->get_col( " |
|
161 | 161 | SELECT DISTINCT m.meta_value |
162 | 162 | FROM {$this->db->postmeta} m |
163 | 163 | LEFT JOIN {$this->db->posts} p ON p.ID = m.post_id |
@@ -167,8 +167,8 @@ discard block |
||
167 | 167 | $postStatusQuery |
168 | 168 | GROUP BY p.ID -- remove duplicate meta_value entries |
169 | 169 | ORDER BY m.meta_id ASC -- sort by oldest meta_value |
170 | - "); |
|
171 | - sort($values); |
|
170 | + " ); |
|
171 | + sort( $values ); |
|
172 | 172 | return $values; |
173 | 173 | } |
174 | 174 | |
@@ -176,34 +176,34 @@ discard block |
||
176 | 176 | * @param string $and |
177 | 177 | * @return string |
178 | 178 | */ |
179 | - protected function getAndForCounts(array $args, $and = '') |
|
179 | + protected function getAndForCounts( array $args, $and = '' ) |
|
180 | 180 | { |
181 | - $postIds = implode(',', array_filter(Arr::get($args, 'post_ids', []))); |
|
182 | - $termIds = implode(',', array_filter(Arr::get($args, 'term_ids', []))); |
|
183 | - if (!empty($args['type'])) { |
|
184 | - $and.= "AND m2.meta_value = '{$args['type']}' "; |
|
181 | + $postIds = implode( ',', array_filter( Arr::get( $args, 'post_ids', [] ) ) ); |
|
182 | + $termIds = implode( ',', array_filter( Arr::get( $args, 'term_ids', [] ) ) ); |
|
183 | + if( !empty($args['type']) ) { |
|
184 | + $and .= "AND m2.meta_value = '{$args['type']}' "; |
|
185 | 185 | } |
186 | - if ($postIds) { |
|
187 | - $and.= "AND m3.meta_key = '_assigned_to' AND m3.meta_value IN ({$postIds}) "; |
|
186 | + if( $postIds ) { |
|
187 | + $and .= "AND m3.meta_key = '_assigned_to' AND m3.meta_value IN ({$postIds}) "; |
|
188 | 188 | } |
189 | - if ($termIds) { |
|
190 | - $and.= "AND tr.term_taxonomy_id IN ({$termIds}) "; |
|
189 | + if( $termIds ) { |
|
190 | + $and .= "AND tr.term_taxonomy_id IN ({$termIds}) "; |
|
191 | 191 | } |
192 | - return apply_filters('site-reviews/query/and-for-counts', $and); |
|
192 | + return apply_filters( 'site-reviews/query/and-for-counts', $and ); |
|
193 | 193 | } |
194 | 194 | |
195 | 195 | /** |
196 | 196 | * @param string $innerJoin |
197 | 197 | * @return string |
198 | 198 | */ |
199 | - protected function getInnerJoinForCounts(array $args, $innerJoin = '') |
|
199 | + protected function getInnerJoinForCounts( array $args, $innerJoin = '' ) |
|
200 | 200 | { |
201 | - if (!empty(Arr::get($args, 'post_ids'))) { |
|
202 | - $innerJoin.= "INNER JOIN {$this->db->postmeta} AS m3 ON p.ID = m3.post_id "; |
|
201 | + if( !empty(Arr::get( $args, 'post_ids' )) ) { |
|
202 | + $innerJoin .= "INNER JOIN {$this->db->postmeta} AS m3 ON p.ID = m3.post_id "; |
|
203 | 203 | } |
204 | - if (!empty(Arr::get($args, 'term_ids'))) { |
|
205 | - $innerJoin.= "INNER JOIN {$this->db->term_relationships} AS tr ON p.ID = tr.object_id "; |
|
204 | + if( !empty(Arr::get( $args, 'term_ids' )) ) { |
|
205 | + $innerJoin .= "INNER JOIN {$this->db->term_relationships} AS tr ON p.ID = tr.object_id "; |
|
206 | 206 | } |
207 | - return apply_filters('site-reviews/query/inner-join-for-counts', $innerJoin); |
|
207 | + return apply_filters( 'site-reviews/query/inner-join-for-counts', $innerJoin ); |
|
208 | 208 | } |
209 | 209 | } |