From 74c5c7bf4622818e5f08999cbf1c5049a129aaf7 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Tue, 9 Dec 2014 17:12:20 -0500 Subject: [PATCH] Set default values for image and checkbox extra fields when editing a session - refs BT#9089 --- main/inc/lib/extra_field.lib.php | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/main/inc/lib/extra_field.lib.php b/main/inc/lib/extra_field.lib.php index e66adb0c56..f347f7a964 100755 --- a/main/inc/lib/extra_field.lib.php +++ b/main/inc/lib/extra_field.lib.php @@ -665,6 +665,14 @@ class ExtraField extends Model ); } } else { + $fieldVariable = "extra_{$field_details['field_variable']}"; + + $checkboxAttributes = array(); + + if (is_array($extraData) && array_key_exists($fieldVariable, $extraData)) { + $checkboxAttributes['checked'] = true; + } + // We assume that is a switch on/off with 1 and 0 as values $group[] = $form->createElement( 'checkbox', @@ -672,7 +680,7 @@ class ExtraField extends Model null, //$field_details['field_display_text'].'
', get_lang('Yes'), - null + $checkboxAttributes ); } $form->addGroup( @@ -1016,10 +1024,24 @@ EOF; } break; case ExtraField::FIELD_TYPE_FILE_IMAGE: + $fieldVariable = "extra_{$field_details['field_variable']}"; + + $fieldTexts = array( + $field_details['field_display_text'] + ); + + if (is_array($extraData) && array_key_exists($fieldVariable, $extraData)) { + $fieldTexts[] = Display::img( + api_get_path(WEB_CODE_PATH) . $extraData[$fieldVariable], + '', + array('width' => '300') + ); + } + $form->addElement( 'file', - 'extra_'.$field_details['field_variable'], - $field_details['field_display_text'], + $fieldVariable, + $fieldTexts, array('class' => 'span8', 'accept' => 'image/*') );