Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 21 |
| FileWidgetAjaxController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
56 | |
0.00% |
0 / 21 |
| progress | |
0.00% |
0 / 1 |
56 | |
0.00% |
0 / 21 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\file\Controller\FileWidgetAjaxController. | |
| */ | |
| namespace Drupal\file\Controller; | |
| use Symfony\Component\HttpFoundation\JsonResponse; | |
| /** | |
| * Defines a controller to respond to file widget AJAX requests. | |
| */ | |
| class FileWidgetAjaxController { | |
| /** | |
| * Returns the progress status for a file upload process. | |
| * | |
| * @param string $key | |
| * The unique key for this upload process. | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse | |
| * A JsonResponse object. | |
| */ | |
| public function progress($key) { | |
| $progress = array( | |
| 'message' => t('Starting upload...'), | |
| 'percentage' => -1, | |
| ); | |
| $implementation = file_progress_implementation(); | |
| if ($implementation == 'uploadprogress') { | |
| $status = uploadprogress_get_info($key); | |
| if (isset($status['bytes_uploaded']) && !empty($status['bytes_total'])) { | |
| $progress['message'] = t('Uploading... (@current of @total)', array('@current' => format_size($status['bytes_uploaded']), '@total' => format_size($status['bytes_total']))); | |
| $progress['percentage'] = round(100 * $status['bytes_uploaded'] / $status['bytes_total']); | |
| } | |
| } | |
| elseif ($implementation == 'apc') { | |
| $status = apcu_fetch('upload_' . $key); | |
| if (isset($status['current']) && !empty($status['total'])) { | |
| $progress['message'] = t('Uploading... (@current of @total)', array('@current' => format_size($status['current']), '@total' => format_size($status['total']))); | |
| $progress['percentage'] = round(100 * $status['current'] / $status['total']); | |
| } | |
| } | |
| return new JsonResponse($progress); | |
| } | |
| } |