You are here

function file_progress_implementation in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/file/file.module \file_progress_implementation()

Determines the preferred upload progress implementation.

Return value

string|FALSE A string indicating which upload progress system is available. Either "apc" or "uploadprogress". If neither are available, returns FALSE.

4 calls to file_progress_implementation()
FileWidget::settingsForm in core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
Returns a form to configure settings for the widget.
FileWidgetAjaxController::progress in core/modules/file/src/Controller/FileWidgetAjaxController.php
Returns the progress status for a file upload process.
file_requirements in core/modules/file/file.install
Implements hook_requirements().
ManagedFile::processManagedFile in core/modules/file/src/Element/ManagedFile.php
Render API callback: Expands the managed_file element type.

File

core/modules/file/file.module, line 910
Defines a "managed_file" Form API field and a "file" field for Field module.

Code

function file_progress_implementation() {
  static $implementation;
  if (!isset($implementation)) {
    $implementation = FALSE;

    // We prefer the PECL extension uploadprogress because it supports multiple
    // simultaneous uploads. APC only supports one at a time.
    if (extension_loaded('uploadprogress')) {
      $implementation = 'uploadprogress';
    }
    elseif (extension_loaded('apc') && ini_get('apc.rfc1867')) {
      $implementation = 'apc';
    }
  }
  return $implementation;
}