PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.5.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.5.3
4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.5.2 All 199 releases
← All changes | includes/Core/Settings.php +136 -73 3.3.43.5.3 View file →
@@ -1,14 +1,14 @@
1 1 <?php
2 2
3 3 namespace WPDeveloper\BetterDocs\Core;
4 4
5 +use WP_User;
5 6 use WP_Error;
6 -use WP_User;
7 -use WPDeveloper\BetterDocs\Admin\Builder\GlobalFields;
8 -use WPDeveloper\BetterDocs\Admin\Builder\Rules;
9 7 use WPDeveloper\BetterDocs\Utils\Base;
10 8 use WPDeveloper\BetterDocs\Utils\Database;
9 +use WPDeveloper\BetterDocs\Admin\Builder\Rules;
10 +use WPDeveloper\BetterDocs\Admin\Builder\GlobalFields;
11 11
12 12 class Settings extends Base {
13 13 public $base_key = 'betterdocs_settings';
14 14
@@ -32,31 +32,31 @@
32 32 public function __construct( Database $database ) {
33 33 $this->database = $database;
34 34 $this->deprecated = $this->deprecated_settings();
35 35
36 - add_filter( 'betterdocs_settings_tabs', [ $this, 'import_export_settings' ] );
36 + add_filter( 'betterdocs_settings_tabs', [$this, 'import_export_settings'] );
37 37
38 - add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] );
38 + add_action( 'admin_enqueue_scripts', [$this, 'enqueue'] );
39 39
40 40 if ( isset( $_GET['page'] ) && $_GET['page'] === 'betterdocs-settings' && ! has_action( 'betterdocs_settings_header' ) ) {
41 - add_action( 'betterdocs_settings_header', [ $this, 'header' ] );
41 + add_action( 'betterdocs_settings_header', [$this, 'header'] );
42 42 }
43 43
44 - add_action( 'wp_ajax_betterdocs_dark_mode', [ $this, 'dark_mode' ] );
45 - add_filter( 'betterdocs_settings_tab_advance', [ $this, 'hide_roles_management' ], 11, 1 );
46 - add_action( 'betterdocs::settings::saved', [ $this, 'fallback_slugs' ], 99, 3 );
44 + add_action( 'wp_ajax_betterdocs_dark_mode', [$this, 'dark_mode'] );
45 + add_filter( 'betterdocs_settings_tab_advance', [$this, 'hide_roles_management'], 11, 1 );
46 + add_action( 'betterdocs::settings::saved', [$this, 'fallback_slugs'], 99, 3 );
47 47 }
48 48
49 49 public function fallback_slugs( $_saved, $_settings, $_old_settings = [] ) {
50 50 $_default = $this->get_default();
51 51 foreach ( $this->cannot_be_empty as $key ) {
52 - if ( $key === 'docs_page' && ! $_settings['builtin_doc_page'] && empty( $_settings[ $key ] ) ) {
52 + if ( $key === 'docs_page' && ! $_settings['builtin_doc_page'] && empty( $_settings[$key] ) ) {
53 53 $this->save( 'builtin_doc_page', true );
54 54 continue;
55 55 }
56 56
57 - if ( empty( $_settings[ $key ] ) ) {
58 - $this->save( $key, $_default[ $key ] );
57 + if ( empty( $_settings[$key] ) ) {
58 + $this->save( $key, $_default[$key] );
59 59 }
60 60 }
61 61 }
62 62
@@ -125,9 +125,9 @@
125 125 if ( $version > 250 ) {
126 126 for ( $v = 250; $v <= $version; $v++ ) {
127 127 $_func = "v{$v}";
128 128 if ( method_exists( $this, $_func ) ) {
129 - call_user_func( [ $this, $_func ] );
129 + call_user_func( [$this, $_func] );
130 130 }
131 131 }
132 132 }
133 133 }
@@ -198,9 +198,9 @@
198 198 'toc_dynamic_title' => false,
199 199 'enable_sticky_toc' => true,
200 200 'sticky_toc_offset' => 100,
201 201 'collapsible_toc_mobile' => false,
202 - 'supported_heading_tag' => [ '1', '2', '3', '4', '5', '6' ],
202 + 'supported_heading_tag' => ['1', '2', '3', '4', '5', '6'],
203 203 'enable_post_title' => true,
204 204 'title_link_ctc' => true,
205 205 'enable_breadcrumb' => true,
206 206 'breadcrumb_home_text' => __( 'Home', 'betterdocs' ),
@@ -211,8 +211,9 @@
211 211 'enable_print_icon' => true,
212 212 'enable_tags' => true,
213 213 'email_feedback' => true,
214 214 'feedback_link_text' => __( 'Still stuck? How can we help?', 'betterdocs' ),
215 + 'reaction_feedback_text' => __( 'Thanks for your feedback', 'betterdocs'),
215 216 'feedback_url' => '',
216 217 'feedback_form_title' => __( 'How can we help?', 'betterdocs' ),
217 218 'email_address' => get_option( 'admin_email' ),
218 219 'show_last_update_time' => true,
@@ -217,19 +218,21 @@
217 218 'email_address' => get_option( 'admin_email' ),
218 219 'show_last_update_time' => true,
219 220 'enable_navigation' => true,
220 221 'enable_comment' => true,
221 - 'enable_credit' => true,
222 + 'enable_credit' => false,
222 223 'enable_archive_sidebar' => true,
223 224 'archive_nested_subcategory' => true,
224 225 'enable_content_restriction' => false,
225 226 'enable_reporting' => false,
227 + 'enable_sample_data' => false,
226 228 'reporting_day' => 'monday',
227 229 'reporting_email' => get_option( 'admin_email' ),
228 230 'enable_write_with_ai' => true,
229 231 'enable_faq_write_with_ai' => true,
230 232 'ai_autowrite_api_key' => '',
231 - 'ai_autowrite_max_token' => 1500
233 + 'ai_autowrite_max_token' => 1500,
234 + 'enable_estimated_reading_time' => false
232 235 ];
233 236
234 237 $_default = apply_filters( 'betterdocs_default_settings', $_default );
235 238 // $_default = apply_filters_deprecated(
@@ -308,9 +311,9 @@
308 311
309 312 public function get_normalized_value( $key, $value, $default = null ) {
310 313 $_origin_value = $_value = $value;
311 314
312 - if ( in_array( $_value, [ 'on', 'off', '1', 'false', 'true' ], true ) ) {
315 + if ( in_array( $_value, ['on', 'off', '1', 'false', 'true'], true ) ) {
313 316 switch ( $_value ) {
314 317 case 'on':
315 318 case 'ON':
316 319 case '1':
@@ -337,10 +340,10 @@
337 340 }
338 341
339 342 $_settings = [];
340 343 foreach ( $values as $key => $value ) {
341 - $_default_value = isset( $default_values[ $key ] ) ? $default_values[ $key ] : null;
342 - $_settings[ $key ] = $this->get_normalized_value( $key, $value, $_default_value );
344 + $_default_value = isset( $default_values[$key] ) ? $default_values[$key] : null;
345 + $_settings[$key] = $this->get_normalized_value( $key, $value, $_default_value );
343 346 }
344 347
345 348 return $_settings;
346 349 }
@@ -384,28 +387,28 @@
384 387
385 388 $_value = $default;
386 389 switch ( true ) {
387 390 // Check if it's a PRO Option
388 - case ! isset( $_default_settings[ $key ] ):
391 + case ! isset( $_default_settings[$key] ):
389 392 $_value = $default;
390 393 break;
391 394 // Check if it's a FREE Option and not in DB.
392 - case ! isset( $_settings[ $key ] ) && isset( $_default_settings[ $key ] ):
393 - $_value = $default !== null ? $default : $_default_settings[ $key ];
395 + case ! isset( $_settings[$key] ) && isset( $_default_settings[$key] ):
396 + $_value = $default !== null ? $default : $_default_settings[$key];
394 397 break;
395 398 // Check if it's a FREE Option
396 - case isset( $_settings[ $key ] ) && isset( $_default_settings[ $key ] ):
397 - $_value = $_settings[ $key ];
399 + case isset( $_settings[$key] ) && isset( $_default_settings[$key] ):
400 + $_value = $_settings[$key];
398 401 break;
399 402 }
400 403
401 - $_value = $this->get_normalized_value( $key, $_value, isset( $_default_settings[ $key ] ) ? $_default_settings[ $key ] : null );
404 + $_value = $this->get_normalized_value( $key, $_value, isset( $_default_settings[$key] ) ? $_default_settings[$key] : null );
402 405
403 406 if ( gettype( $_value ) === 'string' ) {
404 407 if ( empty( $_value ) && $default != null ) {
405 408 $_value = $default;
406 - } elseif ( empty( $_value ) && $default === null && isset( $_default_settings[ $key ] ) ) {
407 - $_value = $_default_settings[ $key ];
409 + } elseif ( empty( $_value ) && $default === null && isset( $_default_settings[$key] ) ) {
410 + $_value = $_default_settings[$key];
408 411 }
409 412 }
410 413
411 414 return $_value;
@@ -413,10 +416,10 @@
413 416
414 417 public function get_raw_field( $key, $default = null ) {
415 418 $_settings = $this->database->get( $this->base_key, [] );
416 419
417 - if ( isset( $_settings[ $key ] ) ) {
418 - return $this->get_normalized_value( $key, $_settings[ $key ], $default );
420 + if ( isset( $_settings[$key] ) ) {
421 + return $this->get_normalized_value( $key, $_settings[$key], $default );
419 422 }
420 423
421 424 return $default;
422 425 }
@@ -421,10 +424,10 @@
421 424 return $default;
422 425 }
423 426
424 427 public function save( $key, $value ) {
425 - $_settings = $this->database->get( $this->base_key, [] );
426 - $_settings[ $key ] = $value;
428 + $_settings = $this->database->get( $this->base_key, [] );
429 + $_settings[$key] = $value;
427 430
428 431 return $this->database->save( $this->base_key, $_settings );
429 432 }
430 433
@@ -442,9 +445,9 @@
442 445 }
443 446 $_settings = wp_parse_args( $_normalized_settings, $_old_settings );
444 447 $_saved = $this->database->save( $this->base_key, $_settings );
445 448
446 - do_action_ref_array( 'betterdocs::settings::saved', [ $_saved, $_settings, $_old_settings, &$this ] );
449 + do_action_ref_array( 'betterdocs::settings::saved', [$_saved, $_settings, $_old_settings, &$this] );
447 450
448 451 return $_saved;
449 452 }
450 453
@@ -470,9 +473,9 @@
470 473
471 474 if ( ! empty( $_pages ) ) {
472 475 $__pages[0] = __( 'Select a Page', 'betterdocs' );
473 476 foreach ( $_pages->posts as $page ) {
474 - $__pages[ $page->ID ] = esc_html( $page->post_title );
477 + $__pages[$page->ID] = esc_html( $page->post_title );
475 478 }
476 479 }
477 480
478 481 return $__pages;
@@ -483,9 +486,9 @@
483 486
484 487 $settings = [
485 488 'id' => 'betterdocs_settings_metabox_wrapper',
486 489 'title' => __( 'betterdocs', 'betterdocs' ),
487 - 'object_types' => [ 'betterdocs' ],
490 + 'object_types' => ['betterdocs'],
488 491 'context' => 'normal',
489 492 'priority' => 'high',
490 493 'show_header' => false,
491 494 'tabnumber' => false,
@@ -506,9 +509,9 @@
506 509 Rules::is( 'config.active', 'tab-design', true ),
507 510 Rules::is( 'config.active', 'tab-shortcodes', true ),
508 511 Rules::is( 'config.active', 'tab-instant-answer', true ),
509 512 Rules::is( 'config.active', 'tab-import-export', true ),
510 - Rules::is( 'config.active', 'tab-migration', true ),
513 + Rules::is( 'config.active', 'tab-migration', true )
511 514 ], 'and' )
512 515 ],
513 516 'values' => $this->get_all(),
514 517 'tabs' => apply_filters( 'betterdocs_settings_tabs', [
@@ -538,17 +541,17 @@
538 541 'type' => 'toggle',
539 542 'label' => __( 'Built-in Documentation Page', 'betterdocs' ),
540 543 'enable_disable_text_active' => true,
541 544 'default' => 1,
542 - 'priority' => 2,
543 - 'label_subtitle' => __( 'If you disable root slug for KB Archives, your individual knowledge base URL will be like this: https://example.com/knowledgebase-1', 'betterdocs' )
545 + 'priority' => 2
544 546 ],
545 547 'breadcrumb_doc_title' => [
546 548 'name' => 'breadcrumb_doc_title',
547 549 'type' => 'text',
548 550 'label' => __( 'Documentation Page Title', 'betterdocs' ),
549 - 'default' => 'Docs',
550 - 'priority' => 3
551 + 'default' => __( 'Docs', 'betterdocs' ),
552 + 'priority' => 3,
553 + 'rules' => Rules::is( 'builtin_doc_page', true )
551 554 ],
552 555 'docs_slug' => [
553 556 'name' => 'docs_slug',
554 557 'type' => 'text',
@@ -614,8 +617,17 @@
614 617 'default' => 'everyone',
615 618 'priority' => 11,
616 619 'is_pro' => true
617 620 ],
621 + 'unique_visitor_count' => [
622 + 'name' => 'unique_visitor_count',
623 + 'type' => 'toggle',
624 + 'label' => __( 'Unique Visitor Count', 'betterdocs' ),
625 + 'enable_disable_text_active' => true,
626 + 'default' => true,
627 + 'priority' => 12,
628 + 'is_pro' => true
629 + ],
618 630 'exclude_bot_analytics' => [
619 631 'name' => 'exclude_bot_analytics',
620 632 'type' => 'toggle',
621 633 'label' => __( 'Exclude Bot Analytics', 'betterdocs' ),
@@ -620,9 +632,9 @@
620 632 'type' => 'toggle',
621 633 'label' => __( 'Exclude Bot Analytics', 'betterdocs' ),
622 634 'enable_disable_text_active' => true,
623 635 'default' => true,
624 - 'priority' => 12,
636 + 'priority' => 13,
625 637 'is_pro' => true
626 638 ]
627 639 ]
628 640 ]
@@ -824,9 +836,9 @@
824 836 ] ),
825 837 'child_category_exclude' => apply_filters( 'child_category_exclude', [
826 838 'name' => 'child_category_exclude',
827 839 'type' => 'toggle',
828 - 'label' => __( 'Category Search', 'betterdocs' ),
840 + 'label' => __( 'Exclude Child Terms In Category Search', 'betterdocs' ),
829 841 'enable_disable_text_active' => true,
830 842 'default' => '',
831 843 'priority' => 3,
832 844 'is_pro' => true
@@ -960,9 +972,9 @@
960 972 ]
961 973 ]
962 974 ]
963 975 ],
964 - 'layout_single_doc' => [
976 + 'layout_single_doc' => apply_filters( 'single_doc_setting_section', [
965 977 'id' => 'layout_single_doc',
966 978 'name' => 'layout_single_doc',
967 979 'type' => 'section',
968 980 'label' => __( 'Single Doc', 'betterdocs' ),
@@ -998,9 +1010,9 @@
998 1010 'type' => 'section',
999 1011 'label' => __( 'General', 'betterdocs' ),
1000 1012 'priority' => 5,
1001 1013 'fields' => [
1002 - 'enable_post_title' => [
1014 + 'enable_post_title' => [
1003 1015 'name' => 'enable_post_title',
1004 1016 'type' => 'toggle',
1005 1017 'label' => __( 'Doc Title', 'betterdocs' ),
1006 1018 'enable_disable_text_active' => true,
@@ -1006,9 +1018,9 @@
1006 1018 'enable_disable_text_active' => true,
1007 1019 'default' => 1,
1008 1020 'priority' => 1
1009 1021 ],
1010 - 'enable_sidebar_cat_list' => [
1022 + 'enable_sidebar_cat_list' => [
1011 1023 'name' => 'enable_sidebar_cat_list',
1012 1024 'type' => 'toggle',
1013 1025 'label' => __( 'Sidebar Category List', 'betterdocs' ),
1014 1026 'enable_disable_text_active' => true,
@@ -1014,9 +1026,9 @@
1014 1026 'enable_disable_text_active' => true,
1015 1027 'default' => 1,
1016 1028 'priority' => 2
1017 1029 ],
1018 - 'enable_print_icon' => [
1030 + 'enable_print_icon' => [
1019 1031 'name' => 'enable_print_icon',
1020 1032 'type' => 'toggle',
1021 1033 'label' => __( 'Print Icon', 'betterdocs' ),
1022 1034 'enable_disable_text_active' => true,
@@ -1022,9 +1034,9 @@
1022 1034 'enable_disable_text_active' => true,
1023 1035 'default' => 1,
1024 1036 'priority' => 3
1025 1037 ],
1026 - 'enable_tags' => [
1038 + 'enable_tags' => [
1027 1039 'name' => 'enable_tags',
1028 1040 'type' => 'toggle',
1029 1041 'label' => __( 'Tags', 'betterdocs' ),
1030 1042 'enable_disable_text_active' => true,
@@ -1030,9 +1042,9 @@
1030 1042 'enable_disable_text_active' => true,
1031 1043 'default' => 1,
1032 1044 'priority' => 4
1033 1045 ],
1034 - 'show_last_update_time' => [
1046 + 'show_last_update_time' => [
1035 1047 'name' => 'show_last_update_time',
1036 1048 'type' => 'toggle',
1037 1049 'label' => __( 'Last Update Time', 'betterdocs' ),
1038 1050 'enable_disable_text_active' => true,
@@ -1038,9 +1050,9 @@
1038 1050 'enable_disable_text_active' => true,
1039 1051 'default' => 1,
1040 1052 'priority' => 5
1041 1053 ],
1042 - 'enable_navigation' => [
1054 + 'enable_navigation' => [
1043 1055 'name' => 'enable_navigation',
1044 1056 'type' => 'toggle',
1045 1057 'label' => __( 'Navigation', 'betterdocs' ),
1046 1058 'enable_disable_text_active' => true,
@@ -1046,9 +1058,9 @@
1046 1058 'enable_disable_text_active' => true,
1047 1059 'default' => 1,
1048 1060 'priority' => 6
1049 1061 ],
1050 - 'enable_comment' => [
1062 + 'enable_comment' => [
1051 1063 'name' => 'enable_comment',
1052 1064 'type' => 'toggle',
1053 1065 'label' => __( 'Comment', 'betterdocs' ),
1054 1066 'enable_disable_text_active' => true,
@@ -1054,16 +1066,31 @@
1054 1066 'enable_disable_text_active' => true,
1055 1067 'default' => '',
1056 1068 'priority' => 7
1057 1069 ],
1058 - 'enable_credit' => [
1070 + 'enable_credit' => [
1059 1071 'name' => 'enable_credit',
1060 1072 'type' => 'toggle',
1061 - 'label' => __( 'Credit', 'betterdocs' ),
1073 + 'label' => __( 'Show Powered by BetterDocs', 'betterdocs' ),
1062 1074 'enable_disable_text_active' => true,
1063 - 'default' => 1,
1075 + 'default' => '',
1064 1076 'priority' => 8
1065 - ]
1077 + ],
1078 + 'enable_estimated_reading_time' => [
1079 + 'name' => 'enable_estimated_reading_time',
1080 + 'type' => 'toggle',
1081 + 'label' => __( 'Estimated Reading Time', 'betterdocs' ),
1082 + 'enable_disable_text_active' => true,
1083 + 'default' => 0,
1084 + 'priority' => 9
1085 + ],
1086 + 'reaction_feedback_text' => [
1087 + 'name' => 'reaction_feedback_text',
1088 + 'type' => 'text',
1089 + 'label' => __( 'Reaction Feedback Text', 'betterdocs' ),
1090 + 'default' => __( 'Thanks for your feedback', 'betterdocs' ),
1091 + 'priority' => 10,
1092 + ],
1066 1093 ]
1067 1094 ],
1068 1095 'layout_single_doc_TOC' => [
1069 1096 'id' => 'layout_single_doc_TOC',
@@ -1147,9 +1174,9 @@
1147 1174 'label' => __( 'TOC Supported Heading Tag', 'betterdocs' ),
1148 1175 'type' => 'checkbox-select',
1149 1176 'multiple' => true,
1150 1177 'priority' => 10,
1151 - 'default' => [ '1', '2', '3', '4', '5', '6' ],
1178 + 'default' => ['1', '2', '3', '4', '5', '6'],
1152 1179 'options' => $this->normalize_options( [
1153 1180 '1' => 'H1',
1154 1181 '2' => 'H2',
1155 1182 '3' => 'H3',
@@ -1270,13 +1297,49 @@
1270 1297 'priority' => 5,
1271 1298 'rules' => Rules::is( 'email_feedback', true )
1272 1299 ]
1273 1300 ]
1301 + ],
1302 + [
1303 + 'id' => 'layout_single_doc_attachments',
1304 + 'name' => 'layout_single_doc_attachments',
1305 + 'type' => 'section',
1306 + 'label' => __( 'Attachments', 'betterdocs-pro' ),
1307 + 'priority' => 6,
1308 + 'fields' => apply_filters( 'betterdocs_single_doc_attachments', [
1309 + 'show_attachment' => [
1310 + 'name' => 'show_attachment',
1311 + 'type' => 'toggle',
1312 + 'is_pro' => true,
1313 + 'priority' => 1,
1314 + 'label' => __( 'Show Attachment', 'betterdocs-pro' ),
1315 + 'enable_disable_text_active' => true,
1316 + 'default' => false
1317 + ]
1318 + ] )
1319 + ],
1320 + [
1321 + 'id' => 'layout_single_doc_related_docs',
1322 + 'name' => 'layout_single_doc_related_docs',
1323 + 'type' => 'section',
1324 + 'label' => __( 'Related Docs', 'betterdocs-pro' ),
1325 + 'priority' => 7,
1326 + 'fields' => apply_filters( 'betterdocs_single_doc_related_docs', [
1327 + 'show_related_docs' => [
1328 + 'name' => 'show_related_docs',
1329 + 'type' => 'toggle',
1330 + 'is_pro' => true,
1331 + 'priority' => 1,
1332 + 'label' => __( 'Show Related Docs', 'betterdocs-pro' ),
1333 + 'enable_disable_text_active' => true,
1334 + 'default' => false
1335 + ]
1336 + ] )
1274 1337 ]
1275 1338 ]
1276 1339 ]
1277 1340 ]
1278 - ],
1341 + ] ),
1279 1342 'layout_archive_page' => [
1280 1343 'id' => 'layout_archive_page',
1281 1344 'name' => 'layout_archive_page',
1282 1345 'type' => 'section',
@@ -1445,9 +1508,9 @@
1445 1508 'priority' => 1,
1446 1509 'multiple' => true,
1447 1510 'search' => true,
1448 1511 'is_pro' => true,
1449 - 'default' => [ 'administrator' ],
1512 + 'default' => ['administrator'],
1450 1513 'options' => $wp_roles
1451 1514 ],
1452 1515 'settings_roles' => [
1453 1516 'name' => 'settings_roles',
@@ -1456,9 +1519,9 @@
1456 1519 'priority' => 2,
1457 1520 'multiple' => true,
1458 1521 'is_pro' => true,
1459 1522 'search' => true,
1460 - 'default' => [ 'administrator' ],
1523 + 'default' => ['administrator'],
1461 1524 'options' => $wp_roles
1462 1525 ],
1463 1526 'analytics_roles' => [
1464 1527 'name' => 'analytics_roles',
@@ -1467,9 +1530,9 @@
1467 1530 'priority' => 3,
1468 1531 'multiple' => true,
1469 1532 'is_pro' => true,
1470 1533 'search' => true,
1471 - 'default' => [ 'administrator' ],
1534 + 'default' => ['administrator'],
1472 1535 'options' => $wp_roles
1473 1536 ],
1474 1537 'enable_content_restriction' => [
1475 1538 'name' => 'enable_content_restriction',
@@ -1477,9 +1540,9 @@
1477 1540 'is_pro' => true,
1478 1541 'priority' => 4,
1479 1542 'label' => __( 'Internal Knowledge Base', 'betterdocs' ),
1480 1543 'enable_disable_text_active' => true,
1481 - 'default' => [ 'all' ]
1544 + 'default' => ['all']
1482 1545 ],
1483 1546 'content_visibility' => [
1484 1547 'name' => 'content_visibility',
1485 1548 'type' => 'checkbox-select',
@@ -1488,9 +1551,9 @@
1488 1551 'is_pro' => true,
1489 1552 'priority' => 5,
1490 1553 'multiple' => true,
1491 1554 'search' => true,
1492 - 'default' => [ 'all' ],
1555 + 'default' => ['all'],
1493 1556 'placeholder' => __( 'Select any', 'betterdocs' ),
1494 1557 'options' => $this->normalize_options( array_merge( [
1495 1558 'all' => __( 'All logged in users', 'betterdocs' )
1496 1559 ], wp_roles()->role_names ) ),
@@ -1505,9 +1568,9 @@
1505 1568 'is_pro' => true,
1506 1569 'priority' => 6,
1507 1570 'multiple' => true,
1508 1571 'search' => true,
1509 - 'default' => [ 'all' ],
1572 + 'default' => ['all'],
1510 1573 'placeholder' => __( 'Select any', 'betterdocs' ),
1511 1574 'options' => $this->get_texanomy(),
1512 1575 'rules' => Rules::is( 'enable_content_restriction', true ),
1513 1576 'filterValue' => 'all'
@@ -1520,9 +1583,9 @@
1520 1583 'is_pro' => true,
1521 1584 'priority' => 7,
1522 1585 'multiple' => true,
1523 1586 'search' => true,
1524 - 'default' => [ 'all' ],
1587 + 'default' => ['all'],
1525 1588 'placeholder' => __( 'Select any', 'betterdocs' ),
1526 1589 'options' => $this->get_terms( 'doc_category' ),
1527 1590 'rules' => Rules::is( 'enable_content_restriction', true ),
1528 1591 'filterValue' => 'all'
@@ -1606,9 +1669,9 @@
1606 1669 'overview' => 'Overview',
1607 1670 'top-docs' => 'Top Docs',
1608 1671 'most-search' => 'Most Searched Keywords'
1609 1672 ] ),
1610 - 'default' => [ 'overview', 'top-docs', 'most-search' ],
1673 + 'default' => ['overview', 'top-docs', 'most-search'],
1611 1674 'is_pro' => true,
1612 1675 'rules' => Rules::is( 'enable_reporting', true )
1613 1676 ] ),
1614 1677 'reporting_email' => [
@@ -1730,9 +1793,9 @@
1730 1793 'type' => 'text',
1731 1794 'label' => __( 'API Key', 'betterdocs' ),
1732 1795 'label_subtitle' => __( 'Check out this <a target="_blank" href="' . esc_url( 'https://betterdocs.co/docs/write-with-ai/' ) . '">documentation</a> to find out to generate your OpenAI API Key', 'betterdocs' ),
1733 1796 'default' => '',
1734 - 'priority' => 10,
1797 + 'priority' => 10
1735 1798 ],
1736 1799 'ai_autowrite_max_token' => [
1737 1800 'name' => 'ai_autowrite_max_token',
1738 1801 'type' => 'number',
@@ -1823,9 +1886,9 @@
1823 1886 'show' => false
1824 1887 ],
1825 1888 'priority' => 1,
1826 1889 'fields' => [
1827 - 'import_docs_nested' => [
1890 + 'import_docs_nested' => [
1828 1891 'id' => 'import_docs_nested',
1829 1892 'name' => 'import_docs_nested',
1830 1893 'type' => 'section',
1831 1894 'label' => __( 'Import Docs', 'betterdocs' ),
@@ -1839,9 +1902,9 @@
1839 1902 'text' => [
1840 1903 'normal' => __( 'Proceed', 'betterdocs' ),
1841 1904 'saved' => __( 'Proceed', 'betterdocs' ),
1842 1905 'loading' => __( 'Importing...', 'betterdocs' ),
1843 - 'exists_notice' => __( 'It seems like documentations with same slugs already exist on your website. What would you like to do?', 'betterdocs' ),
1906 + 'exists_notice' => __( 'It seems like documentations with same slugs already exist on your website. What would you like to do?', 'betterdocs' )
1844 1907 ],
1845 1908 'ajax' => [
1846 1909 'on' => 'click',
1847 1910 'api' => '/betterdocs/v1/import-docs',
@@ -1932,9 +1995,9 @@
1932 1995 'show' => false
1933 1996 ],
1934 1997 'priority' => 1,
1935 1998 'fields' => [
1936 - 'export_docs_nested' => [
1999 + 'export_docs_nested' => [
1937 2000 'id' => 'export_docs_nested',
1938 2001 'name' => 'export_docs_nested',
1939 2002 'type' => 'section',
1940 2003 'label' => __( 'Export Docs', 'betterdocs' ),
@@ -1960,9 +2023,9 @@
1960 2023 'label_subtitle' => __( 'Selected docs will be included in the export.', 'betterdocs' ),
1961 2024 'priority' => 4,
1962 2025 'multiple' => true,
1963 2026 'search' => true,
1964 - 'default' => [ 'all' ],
2027 + 'default' => ['all'],
1965 2028 'placeholder' => __( 'Select any', 'betterdocs' ),
1966 2029 'options' => array_merge( [
1967 2030 [
1968 2031 'value' => 'all',
@@ -1979,9 +2042,9 @@
1979 2042 'label_subtitle' => __( 'Selected categories and its docs will be included in the export.', 'betterdocs' ),
1980 2043 'priority' => 6,
1981 2044 'multiple' => true,
1982 2045 'search' => true,
1983 - 'default' => [ 'all' ],
2046 + 'default' => ['all'],
1984 2047 'placeholder' => __( 'Select any', 'betterdocs' ),
1985 2048 'options' => $this->get_terms( 'doc_category' ),
1986 2049 'filterValue' => 'all',
1987 2050 'rules' => Rules::is( 'export_type', 'doc_category' )
@@ -2086,9 +2149,9 @@
2086 2149 return $docs_tax;
2087 2150 }
2088 2151
2089 2152 $taxonomies = get_taxonomies( [
2090 - 'object_type' => [ 'docs' ]
2153 + 'object_type' => ['docs']
2091 2154 ], 'objects' );
2092 2155
2093 2156 $docs_tax = [
2094 2157 'all' => 'All Docs Archive',
@@ -2094,9 +2157,9 @@
2094 2157 'all' => 'All Docs Archive',
2095 2158 'docs' => 'Docs Page'
2096 2159 ];
2097 2160 foreach ( $taxonomies as $key => $value ) {
2098 - $docs_tax[ $key ] = $value->label;
2161 + $docs_tax[$key] = $value->label;
2099 2162 }
2100 2163 unset( $docs_tax['doc_tag'] );
2101 2164
2102 2165 $docs_tax = $this->normalize_options( $docs_tax );
@@ -2126,9 +2189,9 @@
2126 2189
2127 2190 if ( ! empty( $get_terms ) && ! is_wp_error( $get_terms ) ) {
2128 2191 foreach ( $get_terms as $value ) {
2129 2192 if ( isset( $value->slug ) && isset( $value->name ) ) {
2130 - $terms[ $value->slug ] = $value->name;
2193 + $terms[$value->slug] = $value->name;
2131 2194 }
2132 2195 }
2133 2196 }
2134 2197
@@ -2159,9 +2222,9 @@
2159 2222 ] );
2160 2223
2161 2224 if ( ! empty( $_docs ) ) {
2162 2225 foreach ( $_docs as $doc ) {
2163 - $docs[ $doc->ID ] = betterdocs()->template_helper->kses( $doc->post_title );
2226 + $docs[$doc->ID] = betterdocs()->template_helper->kses( $doc->post_title );
2164 2227 }
2165 2228 $docs = GlobalFields::normalize_fields( $docs );
2166 2229 $this->database->set_cache( 'betterdocs::settings::all_docs', $docs );
2167 2230 }