public static function AdminHelper::bulkPublishShutdown in moderated content bulk publish 2.0.x
Same name and namespace in other branches
- 1.0.x src/AdminHelper.php \Drupal\moderated_content_bulk_publish\AdminHelper::bulkPublishShutdown()
Helper function for doing stuff after shutdown function to ensure previous db transaction is committed. Make sure the moderation state is processed correctly.
File
- src/
AdminHelper.php, line 63
Class
Namespace
Drupal\moderated_content_bulk_publishCode
public static function bulkPublishShutdown($entity, $langcode, $moderation_state) {
if (!empty($moderation_state)) {
$vid = 0;
$latest_revision = self::bulkLatestRevision($entity
->id(), $vid, $langcode, $entity
->getEntityTypeId());
$latest_state = $moderation_state;
$latest_is_valid = TRUE;
if ($latest_revision == FALSE) {
$latest_is_valid = FALSE;
}
else {
$latest_state = $latest_revision
->get('moderation_state')
->getString();
}
if ($latest_is_valid) {
$latest_revision
->setSyncing(TRUE);
$latest_revision
->setRevisionTranslationAffected(TRUE);
$latest_revision
->set('moderation_state', $moderation_state);
$latest_revision
->save();
// Ensure the alias gets updated.
\Drupal::service('pathauto.generator')
->updateEntityAlias($latest_revision, 'insert', array(
'language' => $langcode,
));
\Drupal::service('pathauto.generator')
->updateEntityAlias($latest_revision, 'update', array(
'language' => $langcode,
));
}
else {
// Ensure the alias gets updated.
\Drupal::service('pathauto.generator')
->updateEntityAlias($entity, 'insert', array(
'language' => $langcode,
));
\Drupal::service('pathauto.generator')
->updateEntityAlias($entity, 'update', array(
'language' => $langcode,
));
}
}
else {
// Ensure the alias gets updated.
\Drupal::service('pathauto.generator')
->updateEntityAlias($entity, 'insert', array(
'language' => $langcode,
));
\Drupal::service('pathauto.generator')
->updateEntityAlias($entity, 'update', array(
'language' => $langcode,
));
}
}