You are here

public static function WebformCivicrmBase::saveDrupalFileToCivi in Webform CiviCRM Integration 8.5

Copies a drupal file into the Civi file system

Parameters

int $id: drupal file id:

Return value

int|null Civi file id

1 call to WebformCivicrmBase::saveDrupalFileToCivi()
WebformCivicrmPostProcess::fillDataFromSubmission in src/WebformCivicrmPostProcess.php
Fill data array with submitted form values

File

src/WebformCivicrmBase.php, line 772
Front-end form handler base class.

Class

WebformCivicrmBase
Class WebformCivicrmBase

Namespace

Drupal\webform_civicrm

Code

public static function saveDrupalFileToCivi($id) {
  $file = File::load($id);
  if ($file) {
    $config = \CRM_Core_Config::singleton();
    $path = \Drupal::service('file_system')
      ->copy($file
      ->getFileUri(), $config->customFileUploadDir);
    if ($path) {
      $result = \Drupal::service('webform_civicrm.utils')
        ->wf_civicrm_api('file', 'create', [
        'uri' => str_replace($config->customFileUploadDir, '', $path),
        'mime_type' => $file
          ->getMimeType(),
      ]);
      return wf_crm_aval($result, 'id');
    }
  }
  return NULL;
}