drupal/lib/Views/node/Plugin/views/argument/UidRevision.php

31 lines
781 B
PHP

<?php
/**
* @file
* Defintion of Views\node\Plugin\views\argument\UidRevision.
*/
namespace Views\node\Plugin\views\argument;
use Views\user\Plugin\views\argument\Uid;
use Drupal\Core\Annotation\Plugin;
/**
* Filter handler to accept a user id to check for nodes that
* user posted or created a revision on.
*
* @Plugin(
* id = "node_uid_revision",
* module = "node"
* )
*/
class UidRevision extends Uid {
function query($group_by = FALSE) {
$this->ensure_my_table();
$placeholder = $this->placeholder();
$this->query->add_where_expression(0, "$this->table_alias.uid = $placeholder OR ((SELECT COUNT(*) FROM {node_revision} nr WHERE nr.uid = $placeholder AND nr.nid = $this->table_alias.nid) > 0)", array($placeholder => $this->argument));
}
}