diff --git a/configbit/extra.components.varbase.bit.yml b/configbit/extra.components.varbase.bit.yml index f5d14e65..3b6d1eeb 100644 --- a/configbit/extra.components.varbase.bit.yml +++ b/configbit/extra.components.varbase.bit.yml @@ -11,7 +11,7 @@ config_bit: dependencies: varbase_ai: title: "Varbase AI" - description: 'Collection of provided and configured recipes for AI tools, to empower Varbase editorial teams with more advanced Artificial Intelligence (AI) options. Built using AI Interpolator and OpenAI.' + description: 'Provides a collection of recipes for AI tools. Enhances the work of the editorial team with capabilities with a range of advanced Artificial Intelligence (AI) options. Built using AI Interpolator and OpenAI.' selected: false config_form: true formbit: "src/FormBit/varbase_ai.formbit.php" diff --git a/src/Form/AssemblerForm.php b/src/Form/AssemblerForm.php index 278ecb81..ed3b720f 100644 --- a/src/Form/AssemblerForm.php +++ b/src/Form/AssemblerForm.php @@ -122,8 +122,9 @@ public function buildForm(array $form, FormStateInterface $form_state, array &$i '#default_value' => $checkbox_selected, ]; - if (isset($extra_feature_info['config_form']) && - $extra_feature_info['config_form'] == TRUE) { + if (isset($extra_feature_info['config_form']) + && $extra_feature_info['config_form'] == TRUE) { + $form['extra_features'][$extra_feature_key . '_config'] = [ '#type' => 'fieldset', '#title' => $checkbox_title, @@ -190,8 +191,9 @@ public function buildForm(array $form, FormStateInterface $form_state, array &$i '#default_value' => $checkbox_selected, ]; - if (isset($demo_content_info['config_form']) && - $demo_content_info['config_form'] == TRUE) { + if (isset($demo_content_info['config_form']) + && $demo_content_info['config_form'] == TRUE) { + $form['demo_content'][$demo_content_key . '_config'] = [ '#type' => 'fieldset', '#title' => $checkbox_title, @@ -255,8 +257,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $extra_features_values[$extra_feature_key] = $form_state->getValue($extra_feature_key); } - if (isset($extra_feature_info['config_form']) && - $extra_feature_info['config_form'] == TRUE) { + if (isset($extra_feature_info['config_form']) + && $extra_feature_info['config_form'] == TRUE) { + $formbit_file_name = \Drupal::service('extension.list.profile')->getPath('varbase') . '/' . $extra_feature_info['formbit']; if (file_exists($formbit_file_name)) { @@ -273,7 +276,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) { } } - $GLOBALS['install_state']['varbase']['extra_features_configs'] = $extra_features_editable_configs; + $GLOBALS['install_state']['varbase']['extra_features_configs'][$extra_feature_key] = $extra_features_editable_configs; } } } @@ -293,8 +296,9 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $demo_content_values[$demo_content_key] = $form_state->getValue($demo_content_key); } - if (isset($demo_content_info['config_form']) && - $demo_content_info['config_form'] == TRUE) { + if (isset($demo_content_info['config_form']) + && $demo_content_info['config_form'] == TRUE) { + $formbit_file_name = \Drupal::service('extension.list.profile')->getPath('varbase') . '/' . $demo_content_info['formbit']; if (file_exists($formbit_file_name)) { diff --git a/src/Form/DevelopmentToolsAssemblerForm.php b/src/Form/DevelopmentToolsAssemblerForm.php index f223c3f8..5f922d67 100644 --- a/src/Form/DevelopmentToolsAssemblerForm.php +++ b/src/Form/DevelopmentToolsAssemblerForm.php @@ -123,8 +123,8 @@ public function buildForm(array $form, FormStateInterface $form_state, array &$i ]; // If config_form is true for this development tool. - if (isset($development_tool_info['config_form']) && - $development_tool_info['config_form'] == TRUE) { + if (isset($development_tool_info['config_form']) + && $development_tool_info['config_form'] == TRUE) { $form['development_tools'][$development_tool_key . '_config'] = [ '#type' => 'fieldset', '#title' => $checkbox_title, diff --git a/src/FormBit/varbase_ai.formbit.php b/src/FormBit/varbase_ai.formbit.php index c86dbc33..675bdc2a 100644 --- a/src/FormBit/varbase_ai.formbit.php +++ b/src/FormBit/varbase_ai.formbit.php @@ -14,14 +14,14 @@ * Array of config names, and list of values. */ function varbase_ai_get_editable_config_names() { - $editable_configs = [ + $varbase_ai_editable_configs = [ 'openai.settings' => [ 'api_key' => '', 'api_org' => '', ], ]; - return $editable_configs; + return $varbase_ai_editable_configs; } /** @@ -38,7 +38,7 @@ function varbase_ai_build_formbit(array &$formbit, FormStateInterface &$form_sta $formbit['api_key'] = [ '#type' => 'textfield', '#title' => ('API Key'), - '#default_value' => "sk-change-this", + '#default_value' => "", '#description' => t('The API key is required to interface with OpenAI services. Get your API key by signing up on the OpenAI website.', [':link' => 'https://openai.com/api']), '#element_validate' => ['validate_formbit_openai_api_key'], ]; @@ -46,7 +46,7 @@ function varbase_ai_build_formbit(array &$formbit, FormStateInterface &$form_sta $formbit['api_org'] = [ '#type' => 'textfield', '#title' => t('Organization ID'), - '#default_value' => "org-change-this", + '#default_value' => "", '#description' => t('The organization ID on your OpenAI account. This is required for some OpenAI services to work correctly.'), '#element_validate' => ['validate_formbit_openai_api_org'], ]; @@ -63,10 +63,15 @@ function varbase_ai_build_formbit(array &$formbit, FormStateInterface &$form_sta */ function varbase_ai_submit_formbit(array $editable_config_values) { // Save the changed values for openai.settings config. - $openaiConfig = \Drupal::configFactory()->getEditable('openai.settings'); - $openaiConfig->set('api_key', $editable_config_values['openai.settings']['api_key']); - $openaiConfig->set('api_org', $editable_config_values['openai.settings']['api_org']); - $openaiConfig->save(TRUE); + if (isset($editable_config_values['openai.settings']) + && isset($editable_config_values['openai.settings']['api_key']) + && isset($editable_config_values['openai.settings']['api_org'])) { + + $openaiConfig = \Drupal::configFactory()->getEditable('openai.settings'); + $openaiConfig->set('api_key', $editable_config_values['openai.settings']['api_key']); + $openaiConfig->set('api_org', $editable_config_values['openai.settings']['api_org']); + $openaiConfig->save(TRUE); + } } /** diff --git a/src/FormBit/varbase_auth.formbit.php b/src/FormBit/varbase_auth.formbit.php index b93aee25..e21a0304 100644 --- a/src/FormBit/varbase_auth.formbit.php +++ b/src/FormBit/varbase_auth.formbit.php @@ -14,13 +14,13 @@ * Array of config names, and list of values. */ function varbase_auth_get_editable_config_names() { - $editable_configs = [ + $varbase_auth_editable_configs = [ 'varbase_auth' => [ 'social_auth_type' => ['social_auth_google'], ], ]; - return $editable_configs; + return $varbase_auth_editable_configs; } /** diff --git a/src/FormBit/varbase_development.formbit.php b/src/FormBit/varbase_development.formbit.php index 53da96b8..90ef7c83 100644 --- a/src/FormBit/varbase_development.formbit.php +++ b/src/FormBit/varbase_development.formbit.php @@ -15,7 +15,7 @@ * Array of config names, and list of values. */ function varbase_development_get_editable_config_names() { - $editable_configs = [ + $varbase_development_editable_configs = [ 'system.logging' => [ 'error_level' => ERROR_REPORTING_HIDE, ], @@ -25,7 +25,7 @@ function varbase_development_get_editable_config_names() { ], ]; - return $editable_configs; + return $varbase_development_editable_configs; } /** diff --git a/varbase.profile b/varbase.profile index 7556c4c0..5150363d 100644 --- a/varbase.profile +++ b/varbase.profile @@ -114,16 +114,11 @@ function varbase_assemble_extra_components(array &$install_state) { // Install selected extra features. $selected_extra_features = []; - $selected_extra_features_configs = []; if (isset($install_state['varbase']['extra_features_values'])) { $selected_extra_features = $install_state['varbase']['extra_features_values']; } - if (isset($install_state['varbase']['extra_features_configs'])) { - $selected_extra_features_configs = $install_state['varbase']['extra_features_configs']; - } - if (isset($selected_extra_features['varbase_heroslider']) && $selected_extra_features['varbase_heroslider'] == TRUE) { $batch['operations'][] = [ @@ -156,10 +151,16 @@ function varbase_assemble_extra_components(array &$install_state) { ]; } - if (count($selected_extra_features_configs) && - isset($extraFeatures[$extra_feature_key]['config_form']) && - $extraFeatures[$extra_feature_key]['config_form'] == TRUE && - isset($extraFeatures[$extra_feature_key]['formbit'])) { + $selected_extra_features_configs = []; + if (isset($install_state['varbase']['extra_features_configs']) + && isset($install_state['varbase']['extra_features_configs'][$extra_feature_key])) { + $selected_extra_features_configs = $install_state['varbase']['extra_features_configs'][$extra_feature_key]; + } + + if (count($selected_extra_features_configs) + && isset($extraFeatures[$extra_feature_key]['config_form']) + && $extraFeatures[$extra_feature_key]['config_form'] == TRUE + && isset($extraFeatures[$extra_feature_key]['formbit'])) { $formbit_file_name = \Drupal::service('extension.list.profile')->getPath('varbase') . '/' . $extraFeatures[$extra_feature_key]['formbit']; @@ -222,10 +223,10 @@ function varbase_assemble_extra_components(array &$install_state) { ]; } - if (count($selected_demo_content_configs) && - isset($demoContent[$demo_content_key]['config_form']) && - $demoContent[$demo_content_key]['config_form'] == TRUE && - isset($demoContent[$demo_content_key]['formbit'])) { + if (count($selected_demo_content_configs) + && isset($demoContent[$demo_content_key]['config_form']) + && $demoContent[$demo_content_key]['config_form'] == TRUE + && isset($demoContent[$demo_content_key]['formbit'])) { $formbit_file_name = \Drupal::service('extension.list.profile')->getPath('varbase') . '/' . $demoContent[$demo_content_key]['formbit']; if (file_exists($formbit_file_name)) { @@ -331,10 +332,10 @@ function varbase_assemble_development_tools(array &$install_state) { ]; } - if (count($selected_development_configs) && - isset($developmentTools[$development_tool_key]['config_form']) && - $developmentTools[$development_tool_key]['config_form'] == TRUE && - isset($developmentTools[$development_tool_key]['formbit'])) { + if (count($selected_development_configs) + && isset($developmentTools[$development_tool_key]['config_form']) + && $developmentTools[$development_tool_key]['config_form'] == TRUE + && isset($developmentTools[$development_tool_key]['formbit'])) { $formbit_file_name = \Drupal::service('extension.list.profile')->getPath('varbase') . '/' . $developmentTools[$development_tool_key]['formbit']; if (file_exists($formbit_file_name)) { @@ -380,7 +381,7 @@ function varbase_configure_multilingual(array &$install_state) { // If the multilingual config checkbox were checked. if (isset($install_state['varbase']['enable_multilingual']) - && $install_state['varbase']['enable_multilingual'] == TRUE) { + && $install_state['varbase']['enable_multilingual'] == TRUE) { // Install the Varbase internationalization feature module. $batch['operations'][] = [