Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / comment / src / Plugin / Action / PublishComment.php
index 14f5605c74bacd48747cd68f3b74606ca643bb4d..9aa1e4aa6481b8dc444aad6aa28e095c5b923182 100644 (file)
@@ -2,37 +2,32 @@
 
 namespace Drupal\comment\Plugin\Action;
 
-use Drupal\Core\Action\ActionBase;
-use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Action\Plugin\Action\PublishAction;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
 
 /**
  * Publishes a comment.
  *
+ * @deprecated in Drupal 8.5.x, to be removed before Drupal 9.0.0.
+ *   Use \Drupal\Core\Action\Plugin\Action\PublishAction instead.
+ *
+ * @see \Drupal\Core\Action\Plugin\Action\PublishAction
+ * @see https://www.drupal.org/node/2919303
+ *
  * @Action(
  *   id = "comment_publish_action",
  *   label = @Translation("Publish comment"),
  *   type = "comment"
  * )
  */
-class PublishComment extends ActionBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function execute($comment = NULL) {
-    $comment->setPublished(TRUE);
-    $comment->save();
-  }
+class PublishComment extends PublishAction {
 
   /**
    * {@inheritdoc}
    */
-  public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) {
-    /** @var \Drupal\comment\CommentInterface $object */
-    $result = $object->status->access('edit', $account, TRUE)
-      ->andIf($object->access('update', $account, TRUE));
-
-    return $return_as_object ? $result : $result->isAllowed();
+  public function __construct($configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager);
+    @trigger_error(__NAMESPACE__ . '\PublishComment is deprecated in Drupal 8.5.x, will be removed before Drupal 9.0.0. Use \Drupal\Core\Action\Plugin\Action\PublishAction instead. See https://www.drupal.org/node/2919303.', E_USER_DEPRECATED);
   }
 
 }