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