Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PublishAction.php

class PublishAction

Publishes an entity.

Hierarchy

  • class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
    • class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
      • class \Drupal\Core\Action\ActionBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Action\ActionInterface
        • class \Drupal\Core\Action\Plugin\Action\EntityActionBase extends \Drupal\Core\Action\ActionBase implements \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface
          • class \Drupal\Core\Action\Plugin\Action\PublishAction extends \Drupal\Core\Action\Plugin\Action\EntityActionBase

Expanded class hierarchy of PublishAction

2 files declare their use of PublishAction
ContentModerationHooks.php in core/modules/content_moderation/src/Hook/ContentModerationHooks.php
ModerationOptOutPublish.php in core/modules/content_moderation/src/Plugin/Action/ModerationOptOutPublish.php

File

core/lib/Drupal/Core/Action/Plugin/Action/PublishAction.php, line 13

Namespace

Drupal\Core\Action\Plugin\Action
View source
class PublishAction extends EntityActionBase {
    
    /**
     * {@inheritdoc}
     */
    public function execute($entity = NULL) {
        $entity->setPublished()
            ->save();
    }
    
    /**
     * {@inheritdoc}
     */
    public function access($object, ?AccountInterface $account = NULL, $return_as_object = FALSE) {
        $key = $object->getEntityType()
            ->getKey('published');
        
        /** @var \Drupal\Core\Entity\EntityInterface $object */
        $result = $object->access('update', $account, TRUE)
            ->andIf($object->{$key}
            ->access('edit', $account, TRUE));
        return $return_as_object ? $result : $result->isAllowed();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
ActionBase::executeMultiple public function Executes the plugin for an array of objects. Overrides ActionInterface::executeMultiple 2
EntityActionBase::$entityTypeManager protected property The entity type manager.
EntityActionBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
EntityActionBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create 4
EntityActionBase::__construct public function Constructs an EntityActionBase object. 4
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 5
PluginInspectionInterface::getPluginId public function Gets the plugin ID of the plugin instance. 2
PublishAction::access public function Checks object access. Overrides ActionInterface::access 1
PublishAction::execute public function Executes the plugin. Overrides ExecutableInterface::execute

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal