You are here

function scheduler_entity_base_field_info in Scheduler 8

Same name and namespace in other branches
  1. 2.x scheduler.module \scheduler_entity_base_field_info()

Implements hook_entity_base_field_info().

File

./scheduler.module, line 359
Scheduler publishes and unpublishes nodes on dates specified by the user.

Code

function scheduler_entity_base_field_info(EntityTypeInterface $entity_type) {
  $fields = [];
  if ($entity_type
    ->id() === 'node') {
    $fields['publish_on'] = BaseFieldDefinition::create('timestamp')
      ->setLabel(t('Publish on'))
      ->setDisplayOptions('form', [
      'type' => 'datetime_timestamp_no_default',
      'weight' => 30,
    ])
      ->setDisplayConfigurable('form', TRUE)
      ->setTranslatable(TRUE)
      ->setRevisionable(TRUE)
      ->addConstraint('SchedulerPublishOn');
    $fields['unpublish_on'] = BaseFieldDefinition::create('timestamp')
      ->setLabel(t('Unpublish on'))
      ->setDisplayOptions('form', [
      'type' => 'datetime_timestamp_no_default',
      'weight' => 30,
    ])
      ->setDisplayConfigurable('form', TRUE)
      ->setTranslatable(TRUE)
      ->setRevisionable(TRUE)
      ->addConstraint('SchedulerUnpublishOn');
    return $fields;
  }
}