From 21a6af95cd3a4bfb8fa9f3ae686c57358938e179 Mon Sep 17 00:00:00 2001 From: M Miller <miller.2676@osu.edu> Date: Thu, 31 May 2018 10:35:28 -0700 Subject: [PATCH] add all form fields --- src/Form/ModuleConfigurationForm.php | 87 +++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/src/Form/ModuleConfigurationForm.php b/src/Form/ModuleConfigurationForm.php index ae314b4..d9e721d 100644 --- a/src/Form/ModuleConfigurationForm.php +++ b/src/Form/ModuleConfigurationForm.php @@ -58,19 +58,36 @@ class ModuleConfigurationForm extends ConfigFormBase { $form['basic']['site_name'] = array( '#type' => 'textfield', '#title' => $this->t('Site Name'), - '#description' => $this->t('Main name for the site - it should be your college, department or organization name.'), + '#description' => $this->t('READ ONLY for now until this app is done. Main name for the site - it should be your college, department or organization name.'), '#size' => '60', '#maxlength' => '75', '#default_value' => $site_name, + '#attributes' => array('readonly' => 'readonly'), ); + $form['basic']['admin_link'] = array( + '#type' => 'checkbox', + '#title' => $this->t('Admin Link'), + '#description' => $this->t('Check this box if you would like to display an admin login link in your site footer. It will be displayed discretely below the Footer Block.'), + '#default_value' => $config->get('admin_link'), + ); + + $form['basic']['footer_block'] = array( + '#type' => 'text_format', + '#title' => $this->t('Footer Block'), + '#description' => $this->t('This content will be displayed in the footer below the contact info. It can contain links or other pertinent information. This is a good place for your ADA statement.'), + '#format' => 'basic_html', + '#default_value' => $config->get('footer_block.value'), + ); + // Contact Information tab $form['contact'] = array( '#type' => 'details', '#title' => $this->t('Contact Information'), + '#description' => $this->t('Contact information will be displayed below the Ohio State wordmark in the site footer. Leave blank any fields that you do not want to be displayed.'), '#group' => 'siteinfo', ); - + $form['contact']['address_1'] = array( '#type' => 'textfield', '#title' => $this->t('Address Line 1'), @@ -128,14 +145,72 @@ class ModuleConfigurationForm extends ConfigFormBase { $form['social'] = array( '#type' => 'details', '#title' => $this->t('Social Networking'), + '#description' => $this->t('Linked icons will be displayed in the site footer for each account url that you provide. Leave blank any fields that you do not want to be displayed.'), '#group' => 'siteinfo', ); $form['social']['twitter'] = array( '#type' => 'textfield', '#title' => $this->t('Twitter'), + '#description' => t('Enter the URL to your Twitter account.'), + '#size' => '70', + '#maxlength' => '150', '#default_value' => $config->get('twitter'), ); + + $form['social']['facebook'] = array( + '#type' => 'textfield', + '#title' => $this->t('Facebook'), + '#description' => t('Enter the URL to your Facebook account.'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('facebook'), + ); + + $form['social']['linkedin'] = array( + '#type' => 'textfield', + '#title' => $this->t('LinkedIn'), + '#description' => t('Enter the URL to your LinkedIn account.'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('linkedin'), + ); + + $form['social']['googleplus'] = array( + '#type' => 'textfield', + '#title' => $this->t('Google+'), + '#description' => t('Enter the URL to your Google+ account.'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('googleplus'), + ); + + $form['social']['youtube'] = array( + '#type' => 'textfield', + '#title' => $this->t('YouTube'), + '#description' => t('Enter the URL to your YouTube account.'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('youtube'), + ); + + $form['social']['instagram'] = array( + '#type' => 'textfield', + '#title' => $this->t('Instagram'), + '#description' => t('Enter the URL to your Instagram account.'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('instagram'), + ); + + $form['social']['photos'] = array( + '#type' => 'textfield', + '#title' => $this->t('Photos'), + '#description' => t('Enter the URL to your photo sharing account (ex. Flickr, SmugMug, Picasa, etc...).'), + '#size' => '70', + '#maxlength' => '150', + '#default_value' => $config->get('photos'), + ); return parent::buildForm($form, $form_state); } @@ -147,6 +222,8 @@ class ModuleConfigurationForm extends ConfigFormBase { $values = $form_state->getValues(); $this->config('wcm8_siteinfo.settings') ->set('prefix', $values['prefix']) + ->set('admin_link', $values['admin_link']) + ->set('footer_block', $values['footer_block']) ->set('address_1', $values['address_1']) ->set('address_2', $values['address_2']) ->set('city', $values['city']) @@ -156,6 +233,12 @@ class ModuleConfigurationForm extends ConfigFormBase { ->set('fax', $values['fax']) ->set('email', $values['contact_email']) ->set('twitter', $values['twitter']) + ->set('facebook', $values['facebook']) + ->set('linkedin', $values['linkedin']) + ->set('googleplus', $values['googleplus']) + ->set('youtube', $values['youtube']) + ->set('instagram', $values['instagram']) + ->set('photos', $values['photos']) ->save(); parent::submitForm($form, $form_state); -- GitLab