You are here

function _custom_shutdown in Entity Translation Unified Form 8

Helper function for doing stuff after shutdown function to ensure previous db transaction is committed. Make sure the moderation state is processed correctly.

1 string reference to '_custom_shutdown'
entity_translation_unified_form_node_form_submit in ./entity_translation_unified_form.module
Form submission handler for node_form().

File

./entity_translation_unified_form.module, line 1193

Code

function _custom_shutdown($entity, $langcode, $moderation_state, $interfacelang) {
  $vid = 0;
  $latest_revision = etuf_latest_revision($entity
    ->id(), $vid, $langcode, $entity
    ->getEntityTypeId());
  if (!empty($moderation_state)) {
    $latest_is_valid = TRUE;
    if ($latest_revision == FALSE) {
      $latest_is_valid = FALSE;
    }
    if ($latest_is_valid) {
      $latest_revision
        ->setSyncing(TRUE);
      $latest_revision
        ->setRevisionTranslationAffected(TRUE);
      $latest_revision
        ->set('moderation_state', $moderation_state);
      $latest_revision
        ->save();
    }
  }
  drupal_register_shutdown_function('\\Drupal\\entity_translation_unified_form\\EtufHelper::postCreateOrUpdateAutoTranslate', $entity
    ->id(), $langcode);
  if ($latest_revision == FALSE) {
    drupal_register_shutdown_function('_custom_shutdown_menu', $latest_revision, $langcode);
  }
  else {
    drupal_register_shutdown_function('_custom_shutdown_menu', $entity, $langcode);
  }
}