public static function BynderUpload::batchUploadFiles in Bynder 8.3
Same name and namespace in other branches
- 8 src/Plugin/EntityBrowser/Widget/BynderUpload.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderUpload::batchUploadFiles()
- 8.2 src/Plugin/EntityBrowser/Widget/BynderUpload.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderUpload::batchUploadFiles()
- 4.0.x src/Plugin/EntityBrowser/Widget/BynderUpload.php \Drupal\bynder\Plugin\EntityBrowser\Widget\BynderUpload::batchUploadFiles()
Upload batch operation callback which uploads assets to Bynder.
File
- src/
Plugin/ EntityBrowser/ Widget/ BynderUpload.php, line 312
Class
- BynderUpload
- Uses upload to create media entities.
Namespace
Drupal\bynder\Plugin\EntityBrowser\WidgetCode
public static function batchUploadFiles($file, $brand, $description, $tags, $metaproperty_options, &$context) {
try {
/** @var \Drupal\Core\File\FileSystemInterface $file_system */
$file_system = \Drupal::service('file_system');
$data = [
'filePath' => $file_system
->realpath($file['path']),
'brandId' => $brand,
'name' => $file['filename'],
];
if ($description) {
$data['description'] = $description;
}
if ($tags) {
$data['tags'] = implode(',', $tags);
}
if ($metaproperty_options) {
foreach ($metaproperty_options as $metaproperty => $options) {
$data['metaproperty.' . $metaproperty] = implode(',', $options);
}
}
if (isset($context['results']['accessRequestId'])) {
$data['accessRequestId'] = $context['results']['accessRequestId'];
}
$result = \Drupal::service('bynder_api')
->uploadFileAsync($data);
$context['results']['accessRequestId'] = $result['accessRequestId'];
$context['results'][$file['path']] = $result['mediaid'];
$file_system
->delete($file['path']);
$context['message'] = t('Uploaded @file to Bynder.', [
'@file' => $file['filename'],
]);
} catch (\Exception $e) {
// If fetching failed try few more times. If waiting doesn't help fail the
// batch eventually.
if (empty($context['sandbox']['fails'])) {
$context['sandbox']['fails'] = 0;
}
$context['sandbox']['fails']++;
$context['finished'] = 0;
$context['message'] = t('Uploading @file to Bynder.', [
'@file' => $file['filename'],
]);
if ($context['sandbox']['fails'] >= static::FAIL_LIMIT) {
throw $e;
}
}
}