public static function NodeRevisionDeleteBatch::deleteRevision in Node Revision Delete 8
Delete revision.
Once the revision is deleted the context is updated with the total number of revisions deleted and the node object.
Parameters
\Drupal\node\Entity\Node|int $revision: The revision to delete.
bool $dry_run: Indicate if we need to delete or not the revision. TRUE for test purpose FALSE to delete the revision.
mixed $context: The context of the current batch.
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
File
- src/
NodeRevisionDeleteBatch.php, line 29
Class
- NodeRevisionDeleteBatch
- Methods for delete revisions in a batch.
Namespace
Drupal\node_revision_deleteCode
public static function deleteRevision($revision, $dry_run, &$context) {
if (empty($context['results'])) {
$context['results']['revisions'] = 0;
if ($revision instanceof Node) {
// Update context of the current node.
$context['results']['node'] = $revision;
}
}
if ($revision instanceof Node) {
$revision = $revision
->getRevisionId();
}
// Checking if this is a dry run or we really need to delete the variable.
if (!$dry_run) {
// Delete the revision.
\Drupal::entityTypeManager()
->getStorage('node')
->deleteRevision($revision);
}
// Count the number of revisions deleted.
$context['results']['revisions']++;
// Adding a message for the actual revision being deleted.
$context['message'] = t('Processing revision: @id', [
'@id' => $revision,
]);
}