TRUE, '#process' => array('expand_file_upload_combo'), '#element_validate' => array('file_upload_combo_validate'), ); return $type; } /** * Upload File and keep track of previously uploaded files * Form element description */ function expand_file_upload_combo($element, $edit, $form_state, $complete_form) { if (empty($element['#value'])) { $element['#value'] = array( 'items' => '', 'items_file' => '', 'file_path' => '', ); } $element['#tree'] = TRUE; $parents = $element['#parents']; $parents[] = 'items'; $element['items'] = array( '#type' => 'textarea', '#default_value' => $element['#value']['items'], ); $parents = $element['#parents']; $parents[] = 'items_file'; $element['items_file'] = array( '#type' => 'file', '#title' => 'File upload', '#default_value' => $element['#value']['items_file'], ); $parents = $element['#parents']; $parents[] = 'file_path'; $element['file_path'] = array( '#type' => 'hidden', '#default_value' => $element['#value']['file_path'], ); return $element; } /** * Theme the file upload combo form element */ function theme_file_upload_combo($element) { return theme('form_element', $element, '