You are here

class PublishNow in Scheduler 2.x

Same name and namespace in other branches
  1. 8 scheduler_rules_integration/src/Plugin/RulesAction/PublishNow.php \Drupal\scheduler_rules_integration\Plugin\RulesAction\PublishNow

Provides a 'Publish immediately' action.

Plugin annotation


@RulesAction(
  id = "scheduler_publish_now",
  deriver = "Drupal\scheduler_rules_integration\Plugin\RulesAction\SchedulerRulesActionDeriver"
)

Hierarchy

  • class \Drupal\scheduler_rules_integration\Plugin\RulesAction\SchedulerRulesActionBase extends \Drupal\rules\Core\RulesActionBase
    • class \Drupal\scheduler_rules_integration\Plugin\RulesAction\PublishNow

Expanded class hierarchy of PublishNow

1 file declares its use of PublishNow
LegacyPublishNow.php in scheduler_rules_integration/src/Plugin/RulesAction/Legacy/LegacyPublishNow.php

File

scheduler_rules_integration/src/Plugin/RulesAction/PublishNow.php, line 15

Namespace

Drupal\scheduler_rules_integration\Plugin\RulesAction
View source
class PublishNow extends SchedulerRulesActionBase {

  /**
   * Set the entity status to Published.
   *
   * This action is provided by the Rules Module but only for node content, not
   * Media. There is also a problem with recursion in the Rules action due to
   * autoSaveContext(). Hence better for Scheduler to provide this action.
   *
   * @param \Drupal\Core\Entity\EntityInterface $entity
   *   The entity to be published.
   */
  public function doExecute(EntityInterface $entity) {
    $entity
      ->setPublished();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PublishNow::doExecute public function Set the entity status to Published.
SchedulerRulesActionBase::$entityTypeId protected property The entity type id.
SchedulerRulesActionBase::create public static function
SchedulerRulesActionBase::notEnabledWarning public function Gives a warning when an entity is not enabled for Scheduler.
SchedulerRulesActionBase::__construct public function Constructs a SchedulerRulesActionBase object.