private function ScheduledPublishCron::updateEntity in Scheduled Publish 8.3
Same name and namespace in other branches
- 8.2 src/Service/ScheduledPublishCron.php \Drupal\scheduled_publish\Service\ScheduledPublishCron::updateEntity()
Updates entity
Parameters
\Drupal\Core\Entity\ContentEntityBase $entity:
string $moderationState:
string $scheduledPublishField:
$scheduledValue:
Throws
\Drupal\Core\Entity\EntityStorageException
1 call to ScheduledPublishCron::updateEntity()
- ScheduledPublishCron::updateEntityField in src/
Service/ ScheduledPublishCron.php - Update scheduled publish fields
File
- src/
Service/ ScheduledPublishCron.php, line 209
Class
- ScheduledPublishCron
- Class ScheduledPublishCron
Namespace
Drupal\scheduled_publish\ServiceCode
private function updateEntity(ContentEntityBase $entity, string $moderationState, string $scheduledPublishField, $scheduledValue) : void {
$entity
->set($scheduledPublishField, $scheduledValue);
// Only make valid transitions.
if ($this
->isValidStateChange($entity, $moderationState)) {
$currentModerationState = $entity
->get('moderation_state')
->getValue()[0]['value'];
$entity
->set('moderation_state', $moderationState);
}
$entity
->save();
// Log valid transitions.
if (isset($currentModerationState)) {
$entity_info = $entity
->label() . ' (' . $entity
->id() . ')';
$this->logger
->get('scheduled_publish')
->info('The moderation state of @entity was changed from @orig_status to @current_status', [
'@entity' => $entity_info,
'@orig_status' => $currentModerationState,
'@current_status' => $moderationState,
]);
}
}