public static function BynderConfigurationForm::updateMetadataBatchWorker in Bynder 8.2
Same name and namespace in other branches
- 8.3 src/Form/BynderConfigurationForm.php \Drupal\bynder\Form\BynderConfigurationForm::updateMetadataBatchWorker()
- 4.0.x src/Form/BynderConfigurationForm.php \Drupal\bynder\Form\BynderConfigurationForm::updateMetadataBatchWorker()
Batch operation worker to update the metadata of Bynder media entities.
Parameters
array $context: The context array.
File
- src/
Form/ BynderConfigurationForm.php, line 499
Class
- BynderConfigurationForm
- Configure bynder to enable OAuth based access.
Namespace
Drupal\bynder\FormCode
public static function updateMetadataBatchWorker(array &$context) {
/** @var \Drupal\bynder\BynderService $bynder */
$bynder = \Drupal::service('bynder');
if (empty($context['sandbox']['total'])) {
$context['sandbox']['progress'] = 0;
$context['sandbox']['current_id'] = -1;
$context['sandbox']['total'] = $bynder
->getTotalCountOfMediaEntities();
$context['results']['updated'] = 0;
$context['results']['skipped'] = 0;
}
$minimum_id = $context['sandbox']['current_id'] > 0 ? $context['sandbox']['current_id'] : NULL;
$results = $bynder
->updateMetadataLastMediaEntities($minimum_id);
if (empty($results)) {
$context['finished'] = 1;
$context['sandbox']['progress'] = $context['sandbox']['total'];
$context['results'] = [];
return;
}
$context['sandbox']['current_id'] = $results['max_id'];
$context['sandbox']['progress'] = $context['sandbox']['progress'] + $results['total'];
$context['results']['updated'] = $context['results']['updated'] + count($results['updated']);
$context['results']['skipped'] = $context['results']['skipped'] + count($results['skipped']);
if ($context['sandbox']['progress'] < $context['sandbox']['total']) {
$context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['total'];
}
else {
$context['finished'] = 1;
}
$context['message'] = t('Updating local metadata @current of @total', [
'@current' => $context['sandbox']['progress'],
'@total' => $context['sandbox']['total'],
]);
}