Open Journal Systems
3.3.0
SubmissionQueryBuilder.inc.php
1
<?php
2
16
namespace
APP\Services\QueryBuilders
;
17
18
use Illuminate\Database\Capsule\Manager as Capsule;
19
20
class
SubmissionQueryBuilder
extends
\PKP\Services\QueryBuilders\PKPSubmissionQueryBuilder
{
21
23
protected
$issueIds
=
null
;
24
26
protected
$sectionIds
=
null
;
27
35
public
function
filterByIssues
(
$issueIds
) {
36
if
(!is_null(
$issueIds
) && !is_array(
$issueIds
)) {
37
$issueIds
= [
$issueIds
];
38
}
39
$this->issueIds =
$issueIds
;
40
return
$this;
41
}
42
50
public
function
filterBySections
(
$sectionIds
) {
51
if
(!is_null(
$sectionIds
) && !is_array(
$sectionIds
)) {
52
$sectionIds
= [
$sectionIds
];
53
}
54
$this->sectionIds =
$sectionIds
;
55
return
$this;
56
}
57
62
public
function
appGet
($q) {
63
64
if
(!empty($this->issueIds)) {
65
$issueIds
=
$this->issueIds
;
66
$q->leftJoin(
'publications as issue_p'
,
'issue_p.submission_id'
,
'='
,
's.submission_id'
)
67
->leftJoin(
'publication_settings as issue_ps'
,
'issue_p.publication_id'
,
'='
,
'issue_ps.publication_id'
)
68
->where(
function
($q) use (
$issueIds
) {
69
$q->where(
'issue_ps.setting_name'
,
'='
,
'issueId'
);
70
$q->whereIn(
'issue_ps.setting_value'
,
$issueIds
);
71
});
72
}
73
74
if
(!empty($this->sectionIds)) {
75
$sectionIds
=
$this->sectionIds
;
76
$q->leftJoin(
'publications as section_p'
,
'section_p.submission_id'
,
'='
,
's.submission_id'
)
77
->whereIn(
'section_p.section_id'
,
$sectionIds
);
78
}
79
80
return
$q;
81
}
82
}
PKP\Services\QueryBuilders\PKPSubmissionQueryBuilder
Definition:
PKPSubmissionQueryBuilder.inc.php:21
APP\Services\QueryBuilders\SubmissionQueryBuilder\appGet
appGet($q)
Definition:
SubmissionQueryBuilder.inc.php:68
APP\Services\QueryBuilders\SubmissionQueryBuilder\$sectionIds
$sectionIds
Definition:
SubmissionQueryBuilder.inc.php:32
APP\Services\QueryBuilders
Definition:
ContextQueryBuilder.inc.php:14
APP\Services\QueryBuilders\SubmissionQueryBuilder\filterByIssues
filterByIssues($issueIds)
Definition:
SubmissionQueryBuilder.inc.php:41
APP\Services\QueryBuilders\SubmissionQueryBuilder\filterBySections
filterBySections($sectionIds)
Definition:
SubmissionQueryBuilder.inc.php:56
APP\Services\QueryBuilders\SubmissionQueryBuilder\$issueIds
$issueIds
Definition:
SubmissionQueryBuilder.inc.php:26
APP\Services\QueryBuilders\SubmissionQueryBuilder
Definition:
SubmissionQueryBuilder.inc.php:20
classes
services
queryBuilders
SubmissionQueryBuilder.inc.php
Generated on Fri Aug 28 2020 14:53:43 for Open Journal Systems by
1.8.17