You are here

function locale_translation_download_source in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/locale/locale.batch.inc \locale_translation_download_source()

Downloads a translation file from a remote server.

Parameters

object $source_file: Source file object with at least:

  • "uri": uri to download the file from.
  • "project": Project name.
  • "langcode": Translation language.
  • "version": Project version.
  • "filename": File name.

string $directory: Directory where the downloaded file will be saved. Defaults to the temporary file path.

Return value

object File object if download was successful. FALSE on failure.

1 call to locale_translation_download_source()
locale_translation_batch_fetch_download in core/modules/locale/locale.batch.inc
Implements callback_batch_operation().

File

core/modules/locale/locale.batch.inc, line 292
Batch process to check the availability of remote or local po files.

Code

function locale_translation_download_source($source_file, $directory = 'temporary://') {
  if ($uri = system_retrieve_file($source_file->uri, $directory)) {
    $file = clone $source_file;
    $file->type = LOCALE_TRANSLATION_LOCAL;
    $file->uri = $uri;
    $file->directory = $directory;
    $file->timestamp = filemtime($uri);
    return $file;
  }
  \Drupal::logger('locale')
    ->error('Unable to download translation file @uri.', array(
    '@uri' => $source_file->uri,
  ));
  return FALSE;
}