You are here

function theme_webform_render_multifile in Webform Multiple File Upload 6

Same name and namespace in other branches
  1. 7 multifile.inc \theme_webform_render_multifile()

Render a File component.

File

./multifile.inc, line 387
Webform module file component.

Code

function theme_webform_render_multifile($element) {

  // Add information about the existing file, if any.
  if (isset($element['#default_value'])) {
    $element['_fids']['#value'] = $element['#default_value'];
  }
  $value = $element['_fids']['#value'] ? $element['_fids']['#value'] : $element['_old_fids']['#value'];
  $webform_nid = $element['#webform_component']['nid'];
  $component_id = $element['#webform_component']['cid'];
  $submission_id = arg(3);
  module_load_include('inc', 'webform_multifile', 'safe_unserialize');
  if ($fids = safe_unserialize($value)) {
    $suffix = '';
    foreach (webform_get_multifile($fids) as $file) {
      $suffix .= '<div class="multifile-file"> ';
      $suffix .= l(t('Download !filename', array(
        '!filename' => webform_multifile_name($file->filepath),
      )), webform_multifile_url($file->filepath));
      $suffix .= ' ( ' . l(t('Delete'), "node/{$webform_nid}/submission/{$submission_id}/multifile_delete/{$component_id}/{$file->fid}") . ' )';
      $suffix .= ' </div>';
    }
    $firstchild = array_shift(array_keys($element));
    $element[$firstchild]['#suffix'] = $suffix;
    $element[$firstchild]['#suffix'] .= isset($element['#suffix']) ? $element['#suffix'] : '';
  }

  // Add the required asterisk.
  if ($element['#webform_required']) {
    $element[$element['#webform_form_key']]['#required'] = TRUE;
  }
  $output = '';
  foreach (element_children($element) as $key) {
    $output .= drupal_render($element[$key]);
  }
  return $output;
}