Open Preprint Systems  3.3.0
GalleyQueryBuilder.inc.php
1 <?php
16 
17 use Illuminate\Database\Capsule\Manager as Capsule;
19 
21 
23  protected $publicationIds = [];
24 
31  public function filterByPublicationIds($publicationIds) {
32  $this->publicationIds = is_array($publicationIds) ? $publicationIds : [$publicationIds];
33  return $this;
34  }
35 
39  public function getCount() {
40  return $this
41  ->getQuery()
42  ->select('g.galley_id')
43  ->get()
44  ->count();
45  }
46 
50  public function getIds() {
51  return $this
52  ->getQuery()
53  ->select('g.galley_id')
54  ->pluck('g.galley_id')
55  ->toArray();
56  }
57 
61  public function getQuery() {
62  $this->columns = ['*'];
63  $q = Capsule::table('publication_galleys as g');
64 
65  if (!empty($this->publicationIds)) {
66  $q->whereIn('g.publication_id', $this->publicationIds);
67  }
68 
69  // Add app-specific query statements
70  \HookRegistry::call('Galley::getMany::queryObject', array(&$q, $this));
71 
72  $q->select($this->columns);
73 
74  return $q;
75  }
76 }
APP\Services\QueryBuilders\GalleyQueryBuilder\getIds
getIds()
Definition: GalleyQueryBuilder.inc.php:53
APP\Services\QueryBuilders\GalleyQueryBuilder\filterByPublicationIds
filterByPublicationIds($publicationIds)
Definition: GalleyQueryBuilder.inc.php:34
APP\Services\QueryBuilders\GalleyQueryBuilder\$publicationIds
$publicationIds
Definition: GalleyQueryBuilder.inc.php:26
APP\Services\QueryBuilders\GalleyQueryBuilder\getCount
getCount()
Definition: GalleyQueryBuilder.inc.php:42
APP\Services\QueryBuilders
Definition: ContextQueryBuilder.inc.php:14
APP\Services\QueryBuilders\GalleyQueryBuilder\getQuery
getQuery()
Definition: GalleyQueryBuilder.inc.php:64
APP\Services\QueryBuilders\GalleyQueryBuilder
Definition: GalleyQueryBuilder.inc.php:20
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface
Definition: EntityQueryBuilderInterface.inc.php:19