From 27e2fd91778da657a053d628ad5c362b01be86d9 Mon Sep 17 00:00:00 2001 From: Steen Larsen Date: Wed, 5 Sep 2012 11:50:15 +0200 Subject: [PATCH 1/5] Adding extra fieldset to dingdebt-config --- ding_debt/ding_debt.module | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/ding_debt/ding_debt.module b/ding_debt/ding_debt.module index e7bc54385..50810b301 100644 --- a/ding_debt/ding_debt.module +++ b/ding_debt/ding_debt.module @@ -166,5 +166,48 @@ function theme_ding_debt_list_form($form) { $output = theme('table', $header, $rows, array('colgroups' => $colgroups)); $output .= drupal_render($form); + + $default = variable_get('dibs_settings_extended', array()); + if (!empty($default['suffixhtml'])){ + $output .= '
' . $default['suffixhtml'] . '
'; + } return $output; } + +/** + * Implementation of hook_form_FORM_ID_alter(). + */ +function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { + + $default = variable_get('dibs_settings_extended', array()); + + // add weight so our fieldset are placed correctly + $weight = -10; + foreach ($form as $key => $value ) { + if ( $value['#type'] != 'fieldset' ){ + break; + } + $form[$key]['#weight'] = $weight++; + } + + $form['extended'] = array( + '#type' => 'fieldset', + '#title' => t('Extended settings'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + '#tree' => TRUE, + '#weight' => $weight, + ); + $form['extended']['suffixhtml'] = array( + '#type' => 'textarea', + '#title' => t('Suffix html'), + '#default_value' => $default['suffixhtml'], + '#description' => t(''), + ); + + $form['#submit'][] = 'ding_debt_dibs_admin_settings_form_submit'; +} + +function ding_debt_dibs_admin_settings_form_submit($form, &$form_state) { + variable_set('dibs_settings_extended', $form_state['values']['extended']); +} \ No newline at end of file From 9612a530de3be6d4611e2c919fc17b2adba46641 Mon Sep 17 00:00:00 2001 From: Steen Larsen Date: Wed, 5 Sep 2012 12:52:24 +0200 Subject: [PATCH 2/5] use a better fieldname --- ding_debt/ding_debt.module | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ding_debt/ding_debt.module b/ding_debt/ding_debt.module index 50810b301..e282f5823 100644 --- a/ding_debt/ding_debt.module +++ b/ding_debt/ding_debt.module @@ -167,9 +167,9 @@ function theme_ding_debt_list_form($form) { $output = theme('table', $header, $rows, array('colgroups' => $colgroups)); $output .= drupal_render($form); - $default = variable_get('dibs_settings_extended', array()); - if (!empty($default['suffixhtml'])){ - $output .= '
' . $default['suffixhtml'] . '
'; + $default = variable_get('dibs_settings_extended', FALSE); + if (isset($default['description']) && !empty($default['description'])){ + $output .= '
' . $default['description'] . '
'; } return $output; } @@ -179,8 +179,6 @@ function theme_ding_debt_list_form($form) { */ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { - $default = variable_get('dibs_settings_extended', array()); - // add weight so our fieldset are placed correctly $weight = -10; foreach ($form as $key => $value ) { @@ -189,7 +187,9 @@ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { } $form[$key]['#weight'] = $weight++; } - + + $default = variable_get('dibs_settings_extended', array()); + $form['extended'] = array( '#type' => 'fieldset', '#title' => t('Extended settings'), @@ -198,11 +198,11 @@ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { '#tree' => TRUE, '#weight' => $weight, ); - $form['extended']['suffixhtml'] = array( + $form['extended']['description'] = array( '#type' => 'textarea', - '#title' => t('Suffix html'), - '#default_value' => $default['suffixhtml'], - '#description' => t(''), + '#title' => t('Description'), + '#default_value' => $default['description'], + '#description' => t('Text to show on page with users-debts - required by the payment provider'), ); $form['#submit'][] = 'ding_debt_dibs_admin_settings_form_submit'; From df08b0d9533217765ccdd3b107a69f25f1d679fe Mon Sep 17 00:00:00 2001 From: Steen Larsen Date: Fri, 7 Sep 2012 07:59:59 +0200 Subject: [PATCH 3/5] more correct use of isset --- ding_debt/ding_debt.module | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ding_debt/ding_debt.module b/ding_debt/ding_debt.module index e282f5823..2671b9019 100644 --- a/ding_debt/ding_debt.module +++ b/ding_debt/ding_debt.module @@ -167,7 +167,7 @@ function theme_ding_debt_list_form($form) { $output = theme('table', $header, $rows, array('colgroups' => $colgroups)); $output .= drupal_render($form); - $default = variable_get('dibs_settings_extended', FALSE); + $default = variable_get('dibs_settings_extended', NULL); if (isset($default['description']) && !empty($default['description'])){ $output .= '
' . $default['description'] . '
'; } @@ -188,7 +188,7 @@ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { $form[$key]['#weight'] = $weight++; } - $default = variable_get('dibs_settings_extended', array()); + $default = variable_get('dibs_settings_extended', NULL); $form['extended'] = array( '#type' => 'fieldset', @@ -201,7 +201,7 @@ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { $form['extended']['description'] = array( '#type' => 'textarea', '#title' => t('Description'), - '#default_value' => $default['description'], + '#default_value' => (isset($default['description'])) ? $default['description'] : NULL, '#description' => t('Text to show on page with users-debts - required by the payment provider'), ); From afdcaa0f834e6c697f34cbfa1d328fcf2981eb35 Mon Sep 17 00:00:00 2001 From: Steen Larsen Date: Fri, 7 Sep 2012 09:35:52 +0200 Subject: [PATCH 4/5] Change defaultvalue to string --- ding_debt/ding_debt.module | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding_debt/ding_debt.module b/ding_debt/ding_debt.module index 2671b9019..63d36a51f 100644 --- a/ding_debt/ding_debt.module +++ b/ding_debt/ding_debt.module @@ -201,7 +201,7 @@ function ding_debt_form_dibs_admin_settings_form_alter(&$form, $form_state) { $form['extended']['description'] = array( '#type' => 'textarea', '#title' => t('Description'), - '#default_value' => (isset($default['description'])) ? $default['description'] : NULL, + '#default_value' => (isset($default['description'])) ? $default['description'] : '', '#description' => t('Text to show on page with users-debts - required by the payment provider'), ); From 856e8d162addeab6124ae51ded49d0dd81e8623f Mon Sep 17 00:00:00 2001 From: Steen Larsen Date: Fri, 7 Sep 2012 10:23:40 +0200 Subject: [PATCH 5/5] Adding class to div --- ding_debt/ding_debt.module | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding_debt/ding_debt.module b/ding_debt/ding_debt.module index 63d36a51f..d3cb408d6 100644 --- a/ding_debt/ding_debt.module +++ b/ding_debt/ding_debt.module @@ -169,7 +169,7 @@ function theme_ding_debt_list_form($form) { $default = variable_get('dibs_settings_extended', NULL); if (isset($default['description']) && !empty($default['description'])){ - $output .= '
' . $default['description'] . '
'; + $output .= '
' . $default['description'] . '
'; } return $output; }