Passed
Push — feature/rebusify ( 495106...67b08f )
by Paul
06:10 queued 02:03
created
config/settings.php 1 patch
Indentation   +472 added lines, -472 removed lines patch added patch discarded remove patch
@@ -1,476 +1,476 @@
 block discarded – undo
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.rebusify' => [
59
-        'default' => 'no',
60
-        'description' => sprintf(__('Integrate with the %s and sync your reviews to the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'),
61
-            '<a href="https://www.rebusify.com?ref=105">Rebusify Confidence System</a>'
62
-        ),
63
-        'label' => __('Sync to Blockchain', 'site-reviews'),
64
-        'type' => 'yes_no',
65
-    ],
66
-    'settings.general.rebusify_api_key' => [
67
-        'default' => '',
68
-        'depends_on' => [
69
-            'settings.general.rebusify' => ['yes'],
70
-        ],
71
-        'description' => sprintf(__('Get a free Rebusify API key from %s.', 'site-reviews'),
72
-            '<a href="https://rebusify.com?ref=105">rebusify.com</a>'
73
-        ),
74
-        'label' => __('Rebusify API key', 'site-reviews'),
75
-        'type' => 'text',
76
-    ],
77
-    'settings.general.notifications' => [
78
-        'default' => [],
79
-        'label' => __('Notifications', 'site-reviews'),
80
-        'options' => [
81
-            'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>',
82
-            'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'),
83
-            'custom' => __('Send to one or more email addresses', 'site-reviews'),
84
-            'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'),
85
-        ],
86
-        'type' => 'checkbox',
87
-    ],
88
-    'settings.general.notification_email' => [
89
-        'default' => '',
90
-        'depends_on' => [
91
-            'settings.general.notifications' => ['custom'],
92
-        ],
93
-        'label' => __('Send Notification Emails To', 'site-reviews'),
94
-        'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'),
95
-        'type' => 'text',
96
-    ],
97
-    'settings.general.notification_slack' => [
98
-        'default' => '',
99
-        'depends_on' => [
100
-            'settings.general.notifications' => ['slack'],
101
-        ],
102
-        'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'),
103
-            '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>'
104
-        ),
105
-        'label' => __('Slack Webhook URL', 'site-reviews'),
106
-        'type' => 'text',
107
-    ],
108
-    'settings.general.notification_message' => [
109
-        'default' => glsr('Modules\Html\Template')->build('templates/email-notification'),
110
-        'depends_on' => [
111
-            'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'],
112
-        ],
113
-        'description' => __(
114
-            'To restore the default text, save an empty template. '.
115
-            '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:'.
116
-            '<br><code>{review_rating}</code> The review rating number (1-5)'.
117
-            '<br><code>{review_title}</code> The review title'.
118
-            '<br><code>{review_content}</code> The review content'.
119
-            '<br><code>{review_author}</code> The review author'.
120
-            '<br><code>{review_email}</code> The email of the review author'.
121
-            '<br><code>{review_ip}</code> The IP address of the review author'.
122
-            '<br><code>{review_link}</code> The link to edit/view a review',
123
-            'site-reviews'
124
-        ),
125
-        'label' => __('Notification Template', 'site-reviews'),
126
-        'rows' => 10,
127
-        'type' => 'code',
128
-    ],
129
-    'settings.reviews.date.format' => [
130
-        'default' => '',
131
-        'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'),
132
-            '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>'
133
-        ),
134
-        'label' => __('Date Format', 'site-reviews'),
135
-        'options' => [
136
-            '' => __('Use the default date format', 'site-reviews'),
137
-            'relative' => __('Use a relative date format', 'site-reviews'),
138
-            'custom' => __('Use a custom date format', 'site-reviews'),
139
-        ],
140
-        'type' => 'select',
141
-    ],
142
-    'settings.reviews.date.custom' => [
143
-        'default' => get_option('date_format'),
144
-        'depends_on' => [
145
-            'settings.reviews.date.format' => 'custom',
146
-        ],
147
-        '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'),
148
-        'label' => __('Custom Date Format', 'site-reviews'),
149
-        'type' => 'text',
150
-    ],
151
-    'settings.reviews.assigned_links' => [
152
-        'default' => 'no',
153
-        'description' => __('Display a link to the assigned post of a review.', 'site-reviews'),
154
-        'label' => __('Enable Assigned Links', 'site-reviews'),
155
-        'type' => 'yes_no',
156
-    ],
157
-    'settings.reviews.avatars' => [
158
-        'default' => 'no',
159
-        'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'),
160
-        'label' => __('Enable Avatars', 'site-reviews'),
161
-        'type' => 'yes_no',
162
-    ],
163
-    'settings.reviews.avatars_regenerate' => [
164
-        'default' => 'no',
165
-        'depends_on' => [
166
-            'settings.reviews.avatars' => 'yes',
167
-        ],
168
-        'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'),
169
-        'label' => __('Regenerate Avatars', 'site-reviews'),
170
-        'type' => 'yes_no',
171
-    ],
172
-    'settings.reviews.avatars_size' => [
173
-        'default' => 40,
174
-        'depends_on' => [
175
-            'settings.reviews.avatars' => 'yes',
176
-        ],
177
-        'description' => __('Set the avatar size in pixels.', 'site-reviews'),
178
-        'label' => __('Avatar Size', 'site-reviews'),
179
-        'type' => 'number',
180
-    ],
181
-    'settings.reviews.excerpts' => [
182
-        'default' => 'yes',
183
-        'description' => __('Display an excerpt instead of the full review.', 'site-reviews'),
184
-        'label' => __('Enable Excerpts', 'site-reviews'),
185
-        'type' => 'yes_no',
186
-    ],
187
-    'settings.reviews.excerpts_length' => [
188
-        'default' => 55,
189
-        'depends_on' => [
190
-            'settings.reviews.excerpts' => 'yes',
191
-        ],
192
-        'description' => __('Set the excerpt word length.', 'site-reviews'),
193
-        'label' => __('Excerpt Length', 'site-reviews'),
194
-        'type' => 'number',
195
-    ],
196
-    'settings.reviews.fallback' => [
197
-        'default' => 'no',
198
-        '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'),
199
-            '<a href="'.admin_url('edit.php?post_type=site-review&page=settings#!translations').'">'.__('Translations', 'site-reviews').'</a>',
200
-            '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>'
201
-        ),
202
-        'label' => __('Enable Fallback Text', 'site-reviews'),
203
-        'type' => 'yes_no',
204
-    ],
205
-    'settings.schema.type.default' => [
206
-        'default' => 'LocalBusiness',
207
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>',
208
-        'label' => __('Default Schema Type', 'site-reviews'),
209
-        'options' => [
210
-            'LocalBusiness' => __('Local Business', 'site-reviews'),
211
-            'Product' => __('Product', 'site-reviews'),
212
-            'custom' => __('Custom', 'site-reviews'),
213
-        ],
214
-        'type' => 'select',
215
-    ],
216
-    'settings.schema.type.custom' => [
217
-        'default' => '',
218
-        'depends_on' => [
219
-            'settings.schema.type.default' => 'custom',
220
-        ],
221
-        'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>',
222
-        'label' => __('Custom Schema Type', 'site-reviews'),
223
-        'type' => 'text',
224
-    ],
225
-    'settings.schema.name.default' => [
226
-        'default' => 'post',
227
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>',
228
-        'label' => __('Default Name', 'site-reviews'),
229
-        'options' => [
230
-            'post' => __('Use the assigned or current page title', 'site-reviews'),
231
-            'custom' => __('Enter a custom title', 'site-reviews'),
232
-        ],
233
-        'type' => 'select',
234
-    ],
235
-    'settings.schema.name.custom' => [
236
-        'default' => '',
237
-        'depends_on' => [
238
-            'settings.schema.name.default' => 'custom',
239
-        ],
240
-        'label' => __('Custom Name', 'site-reviews'),
241
-        'type' => 'text',
242
-    ],
243
-    'settings.schema.description.default' => [
244
-        'default' => 'post',
245
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>',
246
-        'label' => __('Default Description', 'site-reviews'),
247
-        'options' => [
248
-            'post' => __('Use the assigned or current page excerpt', 'site-reviews'),
249
-            'custom' => __('Enter a custom description', 'site-reviews'),
250
-        ],
251
-        'type' => 'select',
252
-    ],
253
-    'settings.schema.description.custom' => [
254
-        'default' => '',
255
-        'depends_on' => [
256
-            'settings.schema.description.default' => 'custom',
257
-        ],
258
-        'label' => __('Custom Description', 'site-reviews'),
259
-        'type' => 'text',
260
-    ],
261
-    'settings.schema.url.default' => [
262
-        'default' => 'post',
263
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>',
264
-        'label' => __('Default URL', 'site-reviews'),
265
-        'options' => [
266
-            'post' => __('Use the assigned or current page URL', 'site-reviews'),
267
-            'custom' => __('Enter a custom URL', 'site-reviews'),
268
-        ],
269
-        'type' => 'select',
270
-    ],
271
-    'settings.schema.url.custom' => [
272
-        'default' => '',
273
-        'depends_on' => [
274
-            'settings.schema.url.default' => 'custom',
275
-        ],
276
-        'label' => __('Custom URL', 'site-reviews'),
277
-        'type' => 'text',
278
-    ],
279
-    'settings.schema.image.default' => [
280
-        'default' => 'post',
281
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>',
282
-        'label' => __('Default Image', 'site-reviews'),
283
-        'options' => [
284
-            'post' => __('Use the featured image of the assigned or current page', 'site-reviews'),
285
-            'custom' => __('Enter a custom image URL', 'site-reviews'),
286
-        ],
287
-        'type' => 'select',
288
-    ],
289
-    'settings.schema.image.custom' => [
290
-        'default' => '',
291
-        'depends_on' => [
292
-            'settings.schema.image.default' => 'custom',
293
-        ],
294
-        'label' => __('Custom Image URL', 'site-reviews'),
295
-        'type' => 'text',
296
-    ],
297
-    'settings.schema.address' => [
298
-        'default' => '',
299
-        'depends_on' => [
300
-            'settings.schema.type.default' => 'LocalBusiness',
301
-        ],
302
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>',
303
-        'label' => __('Address', 'site-reviews'),
304
-        'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US',
305
-        'type' => 'text',
306
-    ],
307
-    'settings.schema.telephone' => [
308
-        'default' => '',
309
-        'depends_on' => [
310
-            'settings.schema.type.default' => 'LocalBusiness',
311
-        ],
312
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>',
313
-        'label' => __('Telephone Number', 'site-reviews'),
314
-        'placeholder' => '+1 (877) 273-3049',
315
-        'type' => 'text',
316
-    ],
317
-    'settings.schema.pricerange' => [
318
-        'default' => '',
319
-        'depends_on' => [
320
-            'settings.schema.type.default' => 'LocalBusiness',
321
-        ],
322
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>',
323
-        'label' => __('Price Range', 'site-reviews'),
324
-        'placeholder' => '$$-$$$',
325
-        'type' => 'text',
326
-    ],
327
-    'settings.schema.offertype' => [
328
-        'default' => 'AggregateOffer',
329
-        'depends_on' => [
330
-            'settings.schema.type.default' => 'Product',
331
-        ],
332
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>',
333
-        'label' => __('Offer Type', 'site-reviews'),
334
-        'options' => [
335
-            'AggregateOffer' => __('AggregateOffer', 'site-reviews'),
336
-            'Offer' => __('Offer', 'site-reviews'),
337
-        ],
338
-        'type' => 'select',
339
-    ],
340
-    'settings.schema.price' => [
341
-        'default' => '',
342
-        'depends_on' => [
343
-            'settings.schema.type.default' => 'Product',
344
-            'settings.schema.offertype' => 'Offer',
345
-        ],
346
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>',
347
-        'label' => __('Price', 'site-reviews'),
348
-        'placeholder' => '50.00',
349
-        'type' => 'text',
350
-    ],
351
-    'settings.schema.lowprice' => [
352
-        'default' => '',
353
-        'depends_on' => [
354
-            'settings.schema.type.default' => 'Product',
355
-            'settings.schema.offertype' => 'AggregateOffer',
356
-        ],
357
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>',
358
-        'label' => __('Low Price', 'site-reviews'),
359
-        'placeholder' => '10.00',
360
-        'type' => 'text',
361
-    ],
362
-    'settings.schema.highprice' => [
363
-        'default' => '',
364
-        'depends_on' => [
365
-            'settings.schema.type.default' => 'Product',
366
-            'settings.schema.offertype' => 'AggregateOffer',
367
-        ],
368
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>',
369
-        'label' => __('High Price', 'site-reviews'),
370
-        'placeholder' => '100.00',
371
-        'type' => 'text',
372
-    ],
373
-    'settings.schema.pricecurrency' => [
374
-        'default' => '',
375
-        'depends_on' => [
376
-            'settings.schema.type.default' => 'Product',
377
-        ],
378
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>',
379
-        'label' => __('Price Currency', 'site-reviews'),
380
-        'placeholder' => 'USD',
381
-        'type' => 'text',
382
-    ],
383
-    'settings.submissions.required' => [
384
-        'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'],
385
-        'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'),
386
-        'label' => __('Required Fields', 'site-reviews'),
387
-        'options' => [
388
-            'rating' => __('Rating', 'site-reviews'),
389
-            'title' => __('Title', 'site-reviews'),
390
-            'content' => __('Review', 'site-reviews'),
391
-            'name' => __('Name', 'site-reviews'),
392
-            'email' => __('Email', 'site-reviews'),
393
-            'terms' => __('Terms', 'site-reviews'),
394
-        ],
395
-        'type' => 'checkbox',
396
-    ],
397
-    'settings.submissions.recaptcha.integration' => [
398
-        'default' => '',
399
-        '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'),
400
-        'label' => __('Invisible reCAPTCHA', 'site-reviews'),
401
-        'options' => [
402
-            '' => 'Do not use reCAPTCHA',
403
-            'all' => 'Use reCAPTCHA',
404
-            'guest' => 'Use reCAPTCHA only for guest users',
405
-        ],
406
-        'type' => 'select',
407
-    ],
408
-    'settings.submissions.recaptcha.key' => [
409
-        'default' => '',
410
-        'depends_on' => [
411
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
412
-        ],
413
-        'label' => __('Site Key', 'site-reviews'),
414
-        'type' => 'text',
415
-    ],
416
-    'settings.submissions.recaptcha.secret' => [
417
-        'default' => '',
418
-        'depends_on' => [
419
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
420
-        ],
421
-        'label' => __('Site Secret', 'site-reviews'),
422
-        'type' => 'text',
423
-    ],
424
-    'settings.submissions.recaptcha.position' => [
425
-        'default' => 'bottomleft',
426
-        'depends_on' => [
427
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
428
-        ],
429
-        'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'),
430
-        'label' => __('Badge Position', 'site-reviews'),
431
-        'options' => [
432
-            'bottomleft' => 'Bottom Left',
433
-            'bottomright' => 'Bottom Right',
434
-            'inline' => 'Inline',
435
-        ],
436
-        'type' => 'select',
437
-    ],
438
-    'settings.submissions.akismet' => [
439
-        'default' => 'no',
440
-        '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'),
441
-        'label' => __('Enable Akismet Integration', 'site-reviews'),
442
-        'type' => 'yes_no',
443
-    ],
444
-    'settings.submissions.blacklist.integration' => [
445
-        'default' => '',
446
-        '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'),
447
-            '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>'
448
-        ),
449
-        'label' => __('Blacklist', 'site-reviews'),
450
-        'options' => [
451
-            '' => 'Use the Site Reviews Blacklist',
452
-            'comments' => 'Use the WordPress Comment Blacklist',
453
-        ],
454
-        'type' => 'select',
455
-    ],
456
-    'settings.submissions.blacklist.entries' => [
457
-        'default' => '',
458
-        'depends_on' => [
459
-            'settings.submissions.blacklist.integration' => [''],
460
-        ],
461
-        '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'),
462
-        'label' => __('Review Blacklist', 'site-reviews'),
463
-        'rows' => 10,
464
-        'type' => 'code',
465
-    ],
466
-    'settings.submissions.blacklist.action' => [
467
-        'default' => 'unapprove',
468
-        'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'),
469
-        'label' => __('Blacklist Action', 'site-reviews'),
470
-        'options' => [
471
-            'unapprove' => __('Require approval', 'site-reviews'),
472
-            'reject' => __('Reject submission', 'site-reviews'),
473
-        ],
474
-        'type' => 'select',
475
-    ],
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.rebusify' => [
59
+		'default' => 'no',
60
+		'description' => sprintf(__('Integrate with the %s and sync your reviews to the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'),
61
+			'<a href="https://www.rebusify.com?ref=105">Rebusify Confidence System</a>'
62
+		),
63
+		'label' => __('Sync to Blockchain', 'site-reviews'),
64
+		'type' => 'yes_no',
65
+	],
66
+	'settings.general.rebusify_api_key' => [
67
+		'default' => '',
68
+		'depends_on' => [
69
+			'settings.general.rebusify' => ['yes'],
70
+		],
71
+		'description' => sprintf(__('Get a free Rebusify API key from %s.', 'site-reviews'),
72
+			'<a href="https://rebusify.com?ref=105">rebusify.com</a>'
73
+		),
74
+		'label' => __('Rebusify API key', 'site-reviews'),
75
+		'type' => 'text',
76
+	],
77
+	'settings.general.notifications' => [
78
+		'default' => [],
79
+		'label' => __('Notifications', 'site-reviews'),
80
+		'options' => [
81
+			'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>',
82
+			'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'),
83
+			'custom' => __('Send to one or more email addresses', 'site-reviews'),
84
+			'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'),
85
+		],
86
+		'type' => 'checkbox',
87
+	],
88
+	'settings.general.notification_email' => [
89
+		'default' => '',
90
+		'depends_on' => [
91
+			'settings.general.notifications' => ['custom'],
92
+		],
93
+		'label' => __('Send Notification Emails To', 'site-reviews'),
94
+		'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'),
95
+		'type' => 'text',
96
+	],
97
+	'settings.general.notification_slack' => [
98
+		'default' => '',
99
+		'depends_on' => [
100
+			'settings.general.notifications' => ['slack'],
101
+		],
102
+		'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'),
103
+			'<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>'
104
+		),
105
+		'label' => __('Slack Webhook URL', 'site-reviews'),
106
+		'type' => 'text',
107
+	],
108
+	'settings.general.notification_message' => [
109
+		'default' => glsr('Modules\Html\Template')->build('templates/email-notification'),
110
+		'depends_on' => [
111
+			'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'],
112
+		],
113
+		'description' => __(
114
+			'To restore the default text, save an empty template. '.
115
+			'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:'.
116
+			'<br><code>{review_rating}</code> The review rating number (1-5)'.
117
+			'<br><code>{review_title}</code> The review title'.
118
+			'<br><code>{review_content}</code> The review content'.
119
+			'<br><code>{review_author}</code> The review author'.
120
+			'<br><code>{review_email}</code> The email of the review author'.
121
+			'<br><code>{review_ip}</code> The IP address of the review author'.
122
+			'<br><code>{review_link}</code> The link to edit/view a review',
123
+			'site-reviews'
124
+		),
125
+		'label' => __('Notification Template', 'site-reviews'),
126
+		'rows' => 10,
127
+		'type' => 'code',
128
+	],
129
+	'settings.reviews.date.format' => [
130
+		'default' => '',
131
+		'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'),
132
+			'<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>'
133
+		),
134
+		'label' => __('Date Format', 'site-reviews'),
135
+		'options' => [
136
+			'' => __('Use the default date format', 'site-reviews'),
137
+			'relative' => __('Use a relative date format', 'site-reviews'),
138
+			'custom' => __('Use a custom date format', 'site-reviews'),
139
+		],
140
+		'type' => 'select',
141
+	],
142
+	'settings.reviews.date.custom' => [
143
+		'default' => get_option('date_format'),
144
+		'depends_on' => [
145
+			'settings.reviews.date.format' => 'custom',
146
+		],
147
+		'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'),
148
+		'label' => __('Custom Date Format', 'site-reviews'),
149
+		'type' => 'text',
150
+	],
151
+	'settings.reviews.assigned_links' => [
152
+		'default' => 'no',
153
+		'description' => __('Display a link to the assigned post of a review.', 'site-reviews'),
154
+		'label' => __('Enable Assigned Links', 'site-reviews'),
155
+		'type' => 'yes_no',
156
+	],
157
+	'settings.reviews.avatars' => [
158
+		'default' => 'no',
159
+		'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'),
160
+		'label' => __('Enable Avatars', 'site-reviews'),
161
+		'type' => 'yes_no',
162
+	],
163
+	'settings.reviews.avatars_regenerate' => [
164
+		'default' => 'no',
165
+		'depends_on' => [
166
+			'settings.reviews.avatars' => 'yes',
167
+		],
168
+		'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'),
169
+		'label' => __('Regenerate Avatars', 'site-reviews'),
170
+		'type' => 'yes_no',
171
+	],
172
+	'settings.reviews.avatars_size' => [
173
+		'default' => 40,
174
+		'depends_on' => [
175
+			'settings.reviews.avatars' => 'yes',
176
+		],
177
+		'description' => __('Set the avatar size in pixels.', 'site-reviews'),
178
+		'label' => __('Avatar Size', 'site-reviews'),
179
+		'type' => 'number',
180
+	],
181
+	'settings.reviews.excerpts' => [
182
+		'default' => 'yes',
183
+		'description' => __('Display an excerpt instead of the full review.', 'site-reviews'),
184
+		'label' => __('Enable Excerpts', 'site-reviews'),
185
+		'type' => 'yes_no',
186
+	],
187
+	'settings.reviews.excerpts_length' => [
188
+		'default' => 55,
189
+		'depends_on' => [
190
+			'settings.reviews.excerpts' => 'yes',
191
+		],
192
+		'description' => __('Set the excerpt word length.', 'site-reviews'),
193
+		'label' => __('Excerpt Length', 'site-reviews'),
194
+		'type' => 'number',
195
+	],
196
+	'settings.reviews.fallback' => [
197
+		'default' => 'no',
198
+		'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'),
199
+			'<a href="'.admin_url('edit.php?post_type=site-review&page=settings#!translations').'">'.__('Translations', 'site-reviews').'</a>',
200
+			'<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>'
201
+		),
202
+		'label' => __('Enable Fallback Text', 'site-reviews'),
203
+		'type' => 'yes_no',
204
+	],
205
+	'settings.schema.type.default' => [
206
+		'default' => 'LocalBusiness',
207
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>',
208
+		'label' => __('Default Schema Type', 'site-reviews'),
209
+		'options' => [
210
+			'LocalBusiness' => __('Local Business', 'site-reviews'),
211
+			'Product' => __('Product', 'site-reviews'),
212
+			'custom' => __('Custom', 'site-reviews'),
213
+		],
214
+		'type' => 'select',
215
+	],
216
+	'settings.schema.type.custom' => [
217
+		'default' => '',
218
+		'depends_on' => [
219
+			'settings.schema.type.default' => 'custom',
220
+		],
221
+		'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>',
222
+		'label' => __('Custom Schema Type', 'site-reviews'),
223
+		'type' => 'text',
224
+	],
225
+	'settings.schema.name.default' => [
226
+		'default' => 'post',
227
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>',
228
+		'label' => __('Default Name', 'site-reviews'),
229
+		'options' => [
230
+			'post' => __('Use the assigned or current page title', 'site-reviews'),
231
+			'custom' => __('Enter a custom title', 'site-reviews'),
232
+		],
233
+		'type' => 'select',
234
+	],
235
+	'settings.schema.name.custom' => [
236
+		'default' => '',
237
+		'depends_on' => [
238
+			'settings.schema.name.default' => 'custom',
239
+		],
240
+		'label' => __('Custom Name', 'site-reviews'),
241
+		'type' => 'text',
242
+	],
243
+	'settings.schema.description.default' => [
244
+		'default' => 'post',
245
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>',
246
+		'label' => __('Default Description', 'site-reviews'),
247
+		'options' => [
248
+			'post' => __('Use the assigned or current page excerpt', 'site-reviews'),
249
+			'custom' => __('Enter a custom description', 'site-reviews'),
250
+		],
251
+		'type' => 'select',
252
+	],
253
+	'settings.schema.description.custom' => [
254
+		'default' => '',
255
+		'depends_on' => [
256
+			'settings.schema.description.default' => 'custom',
257
+		],
258
+		'label' => __('Custom Description', 'site-reviews'),
259
+		'type' => 'text',
260
+	],
261
+	'settings.schema.url.default' => [
262
+		'default' => 'post',
263
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>',
264
+		'label' => __('Default URL', 'site-reviews'),
265
+		'options' => [
266
+			'post' => __('Use the assigned or current page URL', 'site-reviews'),
267
+			'custom' => __('Enter a custom URL', 'site-reviews'),
268
+		],
269
+		'type' => 'select',
270
+	],
271
+	'settings.schema.url.custom' => [
272
+		'default' => '',
273
+		'depends_on' => [
274
+			'settings.schema.url.default' => 'custom',
275
+		],
276
+		'label' => __('Custom URL', 'site-reviews'),
277
+		'type' => 'text',
278
+	],
279
+	'settings.schema.image.default' => [
280
+		'default' => 'post',
281
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>',
282
+		'label' => __('Default Image', 'site-reviews'),
283
+		'options' => [
284
+			'post' => __('Use the featured image of the assigned or current page', 'site-reviews'),
285
+			'custom' => __('Enter a custom image URL', 'site-reviews'),
286
+		],
287
+		'type' => 'select',
288
+	],
289
+	'settings.schema.image.custom' => [
290
+		'default' => '',
291
+		'depends_on' => [
292
+			'settings.schema.image.default' => 'custom',
293
+		],
294
+		'label' => __('Custom Image URL', 'site-reviews'),
295
+		'type' => 'text',
296
+	],
297
+	'settings.schema.address' => [
298
+		'default' => '',
299
+		'depends_on' => [
300
+			'settings.schema.type.default' => 'LocalBusiness',
301
+		],
302
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>',
303
+		'label' => __('Address', 'site-reviews'),
304
+		'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US',
305
+		'type' => 'text',
306
+	],
307
+	'settings.schema.telephone' => [
308
+		'default' => '',
309
+		'depends_on' => [
310
+			'settings.schema.type.default' => 'LocalBusiness',
311
+		],
312
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>',
313
+		'label' => __('Telephone Number', 'site-reviews'),
314
+		'placeholder' => '+1 (877) 273-3049',
315
+		'type' => 'text',
316
+	],
317
+	'settings.schema.pricerange' => [
318
+		'default' => '',
319
+		'depends_on' => [
320
+			'settings.schema.type.default' => 'LocalBusiness',
321
+		],
322
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>',
323
+		'label' => __('Price Range', 'site-reviews'),
324
+		'placeholder' => '$$-$$$',
325
+		'type' => 'text',
326
+	],
327
+	'settings.schema.offertype' => [
328
+		'default' => 'AggregateOffer',
329
+		'depends_on' => [
330
+			'settings.schema.type.default' => 'Product',
331
+		],
332
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>',
333
+		'label' => __('Offer Type', 'site-reviews'),
334
+		'options' => [
335
+			'AggregateOffer' => __('AggregateOffer', 'site-reviews'),
336
+			'Offer' => __('Offer', 'site-reviews'),
337
+		],
338
+		'type' => 'select',
339
+	],
340
+	'settings.schema.price' => [
341
+		'default' => '',
342
+		'depends_on' => [
343
+			'settings.schema.type.default' => 'Product',
344
+			'settings.schema.offertype' => 'Offer',
345
+		],
346
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>',
347
+		'label' => __('Price', 'site-reviews'),
348
+		'placeholder' => '50.00',
349
+		'type' => 'text',
350
+	],
351
+	'settings.schema.lowprice' => [
352
+		'default' => '',
353
+		'depends_on' => [
354
+			'settings.schema.type.default' => 'Product',
355
+			'settings.schema.offertype' => 'AggregateOffer',
356
+		],
357
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>',
358
+		'label' => __('Low Price', 'site-reviews'),
359
+		'placeholder' => '10.00',
360
+		'type' => 'text',
361
+	],
362
+	'settings.schema.highprice' => [
363
+		'default' => '',
364
+		'depends_on' => [
365
+			'settings.schema.type.default' => 'Product',
366
+			'settings.schema.offertype' => 'AggregateOffer',
367
+		],
368
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>',
369
+		'label' => __('High Price', 'site-reviews'),
370
+		'placeholder' => '100.00',
371
+		'type' => 'text',
372
+	],
373
+	'settings.schema.pricecurrency' => [
374
+		'default' => '',
375
+		'depends_on' => [
376
+			'settings.schema.type.default' => 'Product',
377
+		],
378
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>',
379
+		'label' => __('Price Currency', 'site-reviews'),
380
+		'placeholder' => 'USD',
381
+		'type' => 'text',
382
+	],
383
+	'settings.submissions.required' => [
384
+		'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'],
385
+		'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'),
386
+		'label' => __('Required Fields', 'site-reviews'),
387
+		'options' => [
388
+			'rating' => __('Rating', 'site-reviews'),
389
+			'title' => __('Title', 'site-reviews'),
390
+			'content' => __('Review', 'site-reviews'),
391
+			'name' => __('Name', 'site-reviews'),
392
+			'email' => __('Email', 'site-reviews'),
393
+			'terms' => __('Terms', 'site-reviews'),
394
+		],
395
+		'type' => 'checkbox',
396
+	],
397
+	'settings.submissions.recaptcha.integration' => [
398
+		'default' => '',
399
+		'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'),
400
+		'label' => __('Invisible reCAPTCHA', 'site-reviews'),
401
+		'options' => [
402
+			'' => 'Do not use reCAPTCHA',
403
+			'all' => 'Use reCAPTCHA',
404
+			'guest' => 'Use reCAPTCHA only for guest users',
405
+		],
406
+		'type' => 'select',
407
+	],
408
+	'settings.submissions.recaptcha.key' => [
409
+		'default' => '',
410
+		'depends_on' => [
411
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
412
+		],
413
+		'label' => __('Site Key', 'site-reviews'),
414
+		'type' => 'text',
415
+	],
416
+	'settings.submissions.recaptcha.secret' => [
417
+		'default' => '',
418
+		'depends_on' => [
419
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
420
+		],
421
+		'label' => __('Site Secret', 'site-reviews'),
422
+		'type' => 'text',
423
+	],
424
+	'settings.submissions.recaptcha.position' => [
425
+		'default' => 'bottomleft',
426
+		'depends_on' => [
427
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
428
+		],
429
+		'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'),
430
+		'label' => __('Badge Position', 'site-reviews'),
431
+		'options' => [
432
+			'bottomleft' => 'Bottom Left',
433
+			'bottomright' => 'Bottom Right',
434
+			'inline' => 'Inline',
435
+		],
436
+		'type' => 'select',
437
+	],
438
+	'settings.submissions.akismet' => [
439
+		'default' => 'no',
440
+		'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'),
441
+		'label' => __('Enable Akismet Integration', 'site-reviews'),
442
+		'type' => 'yes_no',
443
+	],
444
+	'settings.submissions.blacklist.integration' => [
445
+		'default' => '',
446
+		'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'),
447
+			'<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>'
448
+		),
449
+		'label' => __('Blacklist', 'site-reviews'),
450
+		'options' => [
451
+			'' => 'Use the Site Reviews Blacklist',
452
+			'comments' => 'Use the WordPress Comment Blacklist',
453
+		],
454
+		'type' => 'select',
455
+	],
456
+	'settings.submissions.blacklist.entries' => [
457
+		'default' => '',
458
+		'depends_on' => [
459
+			'settings.submissions.blacklist.integration' => [''],
460
+		],
461
+		'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'),
462
+		'label' => __('Review Blacklist', 'site-reviews'),
463
+		'rows' => 10,
464
+		'type' => 'code',
465
+	],
466
+	'settings.submissions.blacklist.action' => [
467
+		'default' => 'unapprove',
468
+		'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'),
469
+		'label' => __('Blacklist Action', 'site-reviews'),
470
+		'options' => [
471
+			'unapprove' => __('Require approval', 'site-reviews'),
472
+			'reject' => __('Reject submission', 'site-reviews'),
473
+		],
474
+		'type' => 'select',
475
+	],
476 476
 ];
Please login to merge, or discard this patch.