You are here

function wf_crm_webform_base::getFileInfo in Webform CiviCRM Integration 7.4

Same name and namespace in other branches
  1. 7.5 includes/wf_crm_webform_base.inc \wf_crm_webform_base::getFileInfo()

Retrieve info needed for pre-filling a webform file field

Parameters

string $fieldName:

string|int $val: url or civi file id:

string|null $entity: entity name:

int|null $n: entity id:

Return value

array|null

2 calls to wf_crm_webform_base::getFileInfo()
wf_crm_webform_ajax::contactAjax in includes/wf_crm_webform_ajax.inc
Load one or more contacts via ajax
wf_crm_webform_preprocess::fillForm in includes/wf_crm_webform_preprocess.inc
Recursively walk through form array and set properties of CiviCRM fields

File

includes/wf_crm_webform_base.inc, line 934

Class

wf_crm_webform_base
Class wf_crm_webform_base

Code

function getFileInfo($fieldName, $val, $entity, $n) {
  if (!$val) {
    return NULL;
  }
  if ($fieldName === 'image_URL') {
    return array(
      'data_type' => 'File',
      'name' => NULL,
      'icon' => $val,
    );
  }
  $file = wf_crm_apivalues('file', 'get', $val);
  $entity_id = '';
  if ($entity && $n && (strpos($fieldName, 'custom_') === 0 || strpos($fieldName, 'file_') === 0)) {
    $entity_id = $this->ent[$entity][$n]['id'];
  }
  if (!empty($file[$val])) {
    $fileHash = is_callable(array(
      'CRM_Core_BAO_File',
      'generateFileHash',
    )) ? '&fcs=' . CRM_Core_BAO_File::generateFileHash($entity_id, $val) : '';
    return array(
      'data_type' => 'File',
      'name' => CRM_Utils_File::cleanFileName($file[$val]['uri']),
      'file_url' => CRM_Utils_System::url('civicrm/file', "reset=1&id={$val}&eid={$entity_id}{$fileHash}", TRUE),
      'icon' => file_icon_url((object) array(
        'filemime' => $file[$val]['mime_type'],
      )),
    );
  }
  return NULL;
}