From f35087e5ad6e5e04fe3a5fc45bbd7ea47fc090b5 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Sat, 20 May 2023 14:31:56 +0300 Subject: [PATCH 01/10] pkp/pkp-lib#8333 Added migration to create extra foreign keys --- .../v3_4_0/I8333_AddMissingForeignKeys.php | 33 +++++++++++++++++++ dbscripts/xml/upgrade.xml | 1 + 2 files changed, 34 insertions(+) create mode 100644 classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php diff --git a/classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php b/classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php new file mode 100644 index 00000000000..3803d640fca --- /dev/null +++ b/classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php @@ -0,0 +1,33 @@ + + From e1464873d8a89f354eea99b363ef9040ad98da0c Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Fri, 9 Jun 2023 23:09:09 +0300 Subject: [PATCH 02/10] pkp/pkp-lib#8333 Moved migration file --- .../{v3_4_0 => v3_5_0}/I8333_AddMissingForeignKeys.php | 6 +++--- dbscripts/xml/upgrade.xml | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) rename classes/migration/upgrade/{v3_4_0 => v3_5_0}/I8333_AddMissingForeignKeys.php (83%) diff --git a/classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php b/classes/migration/upgrade/v3_5_0/I8333_AddMissingForeignKeys.php similarity index 83% rename from classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php rename to classes/migration/upgrade/v3_5_0/I8333_AddMissingForeignKeys.php index 3803d640fca..8227fd4bee0 100644 --- a/classes/migration/upgrade/v3_4_0/I8333_AddMissingForeignKeys.php +++ b/classes/migration/upgrade/v3_5_0/I8333_AddMissingForeignKeys.php @@ -1,7 +1,7 @@ - @@ -138,7 +137,7 @@ - + From 1b22b899953cda631b81c48e6bf3513456d82ef3 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Mon, 10 Jun 2024 11:06:08 +0300 Subject: [PATCH 03/10] pkp/pkp-lib#8333 Moved migration to add foreign keys to the top --- dbscripts/xml/upgrade.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbscripts/xml/upgrade.xml b/dbscripts/xml/upgrade.xml index 2c9afed1ebb..c544a642915 100644 --- a/dbscripts/xml/upgrade.xml +++ b/dbscripts/xml/upgrade.xml @@ -123,6 +123,7 @@ + @@ -137,7 +138,6 @@ - From 22f22cf874f510dbe080774da14ca53f966b6078 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Sat, 15 Jun 2024 21:25:55 +0300 Subject: [PATCH 04/10] pkp/pkp-lib#8333 Dropped limitations --- classes/issue/Collector.php | 13 ++----------- classes/services/StatsIssueService.php | 5 +---- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/classes/issue/Collector.php b/classes/issue/Collector.php index e2c017fcea8..fa3af800d53 100644 --- a/classes/issue/Collector.php +++ b/classes/issue/Collector.php @@ -14,14 +14,12 @@ namespace APP\issue; use APP\facades\Repo; -use Exception; use Illuminate\Database\Query\Builder; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; use Illuminate\Support\LazyCollection; use InvalidArgumentException; use PKP\core\interfaces\CollectorInterface; -use PKP\core\PKPApplication; use PKP\plugins\Hook; class Collector implements CollectorInterface @@ -42,7 +40,7 @@ class Collector implements CollectorInterface public ?int $offset = null; - /** @var array|null Context ID or PKPApplication::CONTEXT_ID_ALL to get from all contexts */ + /** @var array|null Context ID */ public ?array $contextIds = null; /** @var array|null List of issue IDs to include */ @@ -328,14 +326,7 @@ public function getQueryBuilder(): Builder ); // Context - // Never permit a query without a context_id unless the PKPApplication::CONTEXT_ID_ALL wildcard - // has been set explicitly. - if (!isset($this->contextIds)) { - throw new Exception('Submissions can not be retrieved without a context id. Pass the Application::CONTEXT_ID_ALL wildcard to get submissions from any context.'); - } elseif (!in_array(PKPApplication::CONTEXT_ID_ALL, $this->contextIds)) { - $q->whereIn('i.journal_id', $this->contextIds); - } - + $q->when($this->contextIds !== null, fn (Builder $q) => $q->whereIn('i.journal_id', $this->contextIds)); // Issue IDs $q->when($this->issueIds !== null, fn (Builder $q) => $q->whereIn('i.issue_id', $this->issueIds)); // Published diff --git a/classes/services/StatsIssueService.php b/classes/services/StatsIssueService.php index b0295db93d3..184d689f889 100644 --- a/classes/services/StatsIssueService.php +++ b/classes/services/StatsIssueService.php @@ -131,10 +131,7 @@ public function getDefaultArgs(): array return [ 'dateStart' => StatisticsHelper::STATISTICS_EARLIEST_DATE, 'dateEnd' => date('Y-m-d', strtotime('yesterday')), - - // Require a context to be specified to prevent unwanted data leakage - // if someone forgets to specify the context. - 'contextIds' => [\PKP\core\PKPApplication::CONTEXT_ID_NONE], + 'contextIds' => [], ]; } From a4256f5195ff3c62f31a4cf03b5789fa95198048 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Tue, 18 Jun 2024 00:16:18 +0300 Subject: [PATCH 05/10] pkp/pkp-lib#8333 Typing --- .../upgrade/v3_4_0/PreflightCheckMigration.php | 2 +- classes/observers/events/UsageEvent.php | 10 +++++----- classes/section/Section.php | 6 +++--- pages/issue/IssueHandler.php | 2 +- tools/resolveAgencyDuplicates.php | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php index 751f048bedc..c9b685cf29d 100644 --- a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php +++ b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php @@ -234,7 +234,7 @@ protected function buildOrphanedEntityProcessor(): void $affectedRows = 0; $rows = DB::table('publications AS p') ->join('publication_settings AS ps', 'ps.publication_id', '=', 'p.publication_id') - ->leftJoin('issues AS i', DB::raw('CAST(i.issue_id AS CHAR(20))'), '=', 'ps.setting_value') + ->leftJoin('issues AS i', 'ps.setting_value', '=', DB::raw('CAST(i.issue_id AS CHAR(20))')) ->where('ps.setting_name', 'issueId') ->whereNull('i.issue_id') ->get(['p.submission_id', 'p.publication_id', 'ps.setting_value']); diff --git a/classes/observers/events/UsageEvent.php b/classes/observers/events/UsageEvent.php index 29199c8583d..4a3b5f39fce 100644 --- a/classes/observers/events/UsageEvent.php +++ b/classes/observers/events/UsageEvent.php @@ -34,11 +34,11 @@ class UsageEvent extends \PKP\observers\events\UsageEvent public function __construct( int $assocType, Context $context, - Submission $submission = null, - Representation $galley = null, - SubmissionFile $submissionFile = null, - Issue $issue = null, - IssueGalley $issueGalley = null + ?Submission $submission = null, + ?Representation $galley = null, + ?SubmissionFile $submissionFile = null, + ?Issue $issue = null, + ?IssueGalley $issueGalley = null ) { $this->issue = $issue; $this->issueGalley = $issueGalley; diff --git a/classes/section/Section.php b/classes/section/Section.php index d852ccaada3..5db69fe3487 100644 --- a/classes/section/Section.php +++ b/classes/section/Section.php @@ -36,7 +36,7 @@ public function getAbbrev(?string $locale): string|array|null return $this->getData('abbrev', $locale); } - public function setAbbrev(string|array $abbrev, string $locale = null): void + public function setAbbrev(string|array $abbrev, ?string $locale = null): void { $this->setData('abbrev', $abbrev, $locale); } @@ -51,7 +51,7 @@ public function getPolicy(?string $locale): string|array|null return $this->getData('policy', $locale); } - public function setPolicy(string|array $policy, string $locale = null): void + public function setPolicy(string|array $policy, ?string $locale = null): void { $this->setData('policy', $policy, $locale); } @@ -186,7 +186,7 @@ public function getIdentifyType(?string $locale): string|array|null /** * Set string identifying type of items in this section. */ - public function setIdentifyType(string|array $identifyType, string $locale = null): void + public function setIdentifyType(string|array $identifyType, ?string $locale = null): void { $this->setData('identifyType', $identifyType, $locale); } diff --git a/pages/issue/IssueHandler.php b/pages/issue/IssueHandler.php index 5192ee7bd06..98fc5ac767c 100644 --- a/pages/issue/IssueHandler.php +++ b/pages/issue/IssueHandler.php @@ -326,7 +326,7 @@ public function userCanViewGalley($request) * will be displayed. * @param bool $withSubscriptionDetails Should include the subscription related information into the template */ - public static function _setupIssueTemplate(Request $request, Issue $issue, Journal $journal = null, $showToc = false, $withSubscriptionDetails = true) + public static function _setupIssueTemplate(Request $request, Issue $issue, ?Journal $journal = null, $showToc = false, $withSubscriptionDetails = true) { $journal ??= $request->getJournal(); $templateMgr = TemplateManager::getManager($request); diff --git a/tools/resolveAgencyDuplicates.php b/tools/resolveAgencyDuplicates.php index 59d6f1473c7..f236356723a 100644 --- a/tools/resolveAgencyDuplicates.php +++ b/tools/resolveAgencyDuplicates.php @@ -8,8 +8,8 @@ class resolveAgencyDuplicates extends \PKP\cliTool\CommandLineTool { - private string|null $command = null; - private string|null $agency_name = null; + private ?string $command = null; + private ?string $agency_name = null; private bool $forceFlag = false; /** * List of potential agencies to choose from along with related fields for resolution. From 14eeace3f92e26c0d4b4f319454032d8a5f13075 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Tue, 18 Jun 2024 00:18:03 +0300 Subject: [PATCH 06/10] pkp/pkp-lib#8333 Replaced CONTEXT_SITE by SITE_CONTEXT_ID --- api/v1/issues/IssueController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/v1/issues/IssueController.php b/api/v1/issues/IssueController.php index 4a456eec4e7..593d3b45d4f 100644 --- a/api/v1/issues/IssueController.php +++ b/api/v1/issues/IssueController.php @@ -199,7 +199,7 @@ public function getMany(Request $illuminateRequest): JsonResponse Hook::call('API::issues::params', [&$collector, $illuminateRequest]); // You must be a manager or site admin to access unpublished Issues - $isAdmin = $currentUser->hasRole([Role::ROLE_ID_MANAGER], $context->getId()) || $currentUser->hasRole([Role::ROLE_ID_SITE_ADMIN], \PKP\core\PKPApplication::CONTEXT_SITE); + $isAdmin = $currentUser->hasRole([Role::ROLE_ID_MANAGER], $context->getId()) || $currentUser->hasRole([Role::ROLE_ID_SITE_ADMIN], \PKP\core\PKPApplication::SITE_CONTEXT_ID); if (isset($collector->isPublished) && !$collector->isPublished && !$isAdmin) { return response()->json([ 'error' => __('api.submissions.403.unpublishedIssues'), From d3eee15a22a67c024c528508d300f800f59afcfb Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Fri, 26 May 2023 00:04:58 +0300 Subject: [PATCH 07/10] pkp/pkp-lib#8333 Minor fixes --- classes/issue/DAO.php | 10 +++++----- classes/journal/JournalDAO.php | 6 ++---- classes/payment/ojs/OJSCompletedPaymentDAO.php | 17 ++++++++--------- classes/publication/Publication.php | 3 +-- classes/submission/DAO.php | 2 +- pages/oai/OAIHandler.php | 3 ++- 6 files changed, 19 insertions(+), 22 deletions(-) diff --git a/classes/issue/DAO.php b/classes/issue/DAO.php index d61f65418ad..c76f9e2b479 100644 --- a/classes/issue/DAO.php +++ b/classes/issue/DAO.php @@ -213,7 +213,7 @@ public function resequenceCustomIssueOrders(int $contextId) ], [ 'issue_id' => $item->issue_id, - 'journal_id' => (int) $contextId, + 'journal_id' => $contextId, 'seq' => $newSeq ], ); @@ -238,8 +238,8 @@ public function customIssueOrderingExists(int $contextId): bool public function getCustomIssueOrder(int $contextId, int $issueId): ?int { $results = DB::table('custom_issue_orders') - ->where('journal_id', '=', (int) $contextId) - ->where('issue_id', '=', (int) $issueId); + ->where('journal_id', '=', $contextId) + ->where('issue_id', '=', $issueId); $row = $results->first(); return $row ? (int) $row->seq : null; @@ -358,7 +358,7 @@ public function deleteAllPubIds(int $contextId, string $pubIdType): int * * From legacy IssueDAO * - * @param int $contextId optional + * @param int $contextId * @param string $pubIdType * @param string $pubIdSettingName optional * (e.g. crossref::registeredDoi) @@ -374,7 +374,7 @@ public function getExportable($contextId, $pubIdType = null, $pubIdSettingName = ->when($pubIdType != null, fn (Builder $q) => $q->leftJoin('issue_settings AS ist', 'i.issue_id', '=', 'ist.issue_id')) ->when($pubIdSettingName, fn (Builder $q) => $q->leftJoin('issue_settings AS iss', fn (JoinClause $j) => $j->on('i.issue_id', '=', 'iss.issue_id')->where('iss.setting_name', '=', $pubIdSettingName))) ->where('i.published', '=', 1) - ->where('i.journal_id', '=', $contextId) + ->where('i.journal_id', '=', (int) $contextId) ->when($pubIdType != null, fn (Builder $q) => $q->where('ist.setting_name', '=', "pub-id::{$pubIdType}")->whereNotNull('ist.setting_value')) ->when( $pubIdSettingName, diff --git a/classes/journal/JournalDAO.php b/classes/journal/JournalDAO.php index 0500b0b3322..95af63d8453 100644 --- a/classes/journal/JournalDAO.php +++ b/classes/journal/JournalDAO.php @@ -147,15 +147,13 @@ public function anyPubIdExists( * Sets current_issue_id for context to null. * This is necessary because current_issue_id should explicitly be set to null rather than unset. * - * @param int $contextId - * * @return int */ - public function removeCurrentIssue($contextId) + public function removeCurrentIssue(int $contextId) { return $this->update( "UPDATE {$this->tableName} SET current_issue_id = null WHERE {$this->primaryKeyColumn} = ?", - [(int) $contextId] + [$contextId] ); } } diff --git a/classes/payment/ojs/OJSCompletedPaymentDAO.php b/classes/payment/ojs/OJSCompletedPaymentDAO.php index eb65eb2c4d8..c620b6a3108 100644 --- a/classes/payment/ojs/OJSCompletedPaymentDAO.php +++ b/classes/payment/ojs/OJSCompletedPaymentDAO.php @@ -19,6 +19,7 @@ namespace APP\payment\ojs; +use APP\core\Application; use Illuminate\Support\Facades\DB; use PKP\core\Core; use PKP\db\DAOResultFactory; @@ -30,20 +31,19 @@ class OJSCompletedPaymentDAO extends \PKP\db\DAO /** * Retrieve a CompletedPayment by its ID. * - * @param int $completedPaymentId * @param int $contextId optional * * @return CompletedPayment */ - public function getById($completedPaymentId, $contextId = null) + public function getById(int $completedPaymentId, int $contextId = Application::SITE_CONTEXT_ID_ALL) { - $params = [(int) $completedPaymentId]; - if ($contextId) { - $params[] = (int) $contextId; + $params = [$completedPaymentId]; + if ($contextId !== Application::SITE_CONTEXT_ID_ALL) { + $params[] = $contextId; } $result = $this->retrieve( - 'SELECT * FROM completed_payments WHERE completed_payment_id = ?' . ($contextId ? ' AND context_id = ?' : ''), + 'SELECT * FROM completed_payments WHERE completed_payment_id = ?' . ($contextId !== Application::SITE_CONTEXT_ID_ALL ? ' AND context_id = ?' : ''), $params ); $row = $result->current(); @@ -192,16 +192,15 @@ public function hasPaidPublication($userId, $articleId) /** * Retrieve an array of payments for a particular context ID. * - * @param int $contextId * @param ?DBResultRange $rangeInfo * * @return array Matching payments */ - public function getByContextId($contextId, $rangeInfo = null) + public function getByContextId(int $contextId, $rangeInfo = null) { $result = $this->retrieveRange( 'SELECT * FROM completed_payments WHERE context_id = ? ORDER BY timestamp DESC', - [(int) $contextId], + [$contextId], $rangeInfo ); diff --git a/classes/publication/Publication.php b/classes/publication/Publication.php index 1b605249798..052018d9457 100644 --- a/classes/publication/Publication.php +++ b/classes/publication/Publication.php @@ -27,11 +27,10 @@ class Publication extends PKPPublication /** * Get the URL to a localized cover image * - * @param int $contextId * * @return string */ - public function getLocalizedCoverImageUrl($contextId) + public function getLocalizedCoverImageUrl(int $contextId) { $coverImage = $this->getLocalizedData('coverImage'); diff --git a/classes/submission/DAO.php b/classes/submission/DAO.php index 629f1a5e9b7..9655a9bc318 100644 --- a/classes/submission/DAO.php +++ b/classes/submission/DAO.php @@ -46,7 +46,7 @@ public function deleteById(int $id): int * * @return DAOResultFactory */ - public function getExportable($contextId, $pubIdType = null, $title = null, $author = null, $issueId = null, $pubIdSettingName = null, $pubIdSettingValue = null, $rangeInfo = null) + public function getExportable(int $contextId, $pubIdType = null, $title = null, $author = null, $issueId = null, $pubIdSettingName = null, $pubIdSettingValue = null, $rangeInfo = null) { $q = DB::table('submissions', 's') ->leftJoin('publications AS p', 's.current_publication_id', '=', 'p.publication_id') diff --git a/pages/oai/OAIHandler.php b/pages/oai/OAIHandler.php index 43745ac1393..a50cd56f7c5 100644 --- a/pages/oai/OAIHandler.php +++ b/pages/oai/OAIHandler.php @@ -16,6 +16,7 @@ namespace APP\pages\oai; +use APP\core\Application; use APP\handler\Handler; use APP\oai\ojs\JournalOAI; use Firebase\JWT\Key; @@ -42,7 +43,7 @@ public function index($args, $request) PluginRegistry::loadCategory('oaiMetadataFormats', true); $oai = new JournalOAI(new OAIConfig($request->url(null, 'oai'), Config::getVar('oai', 'repository_id'))); - if (!$request->getJournal() && $request->getRouter()->getRequestedContextPath($request) != 'index') { + if (!$request->getJournal() && $request->getRouter()->getRequestedContextPath($request) != Application::SITE_CONTEXT_PATH) { $dispatcher = $request->getDispatcher(); return $dispatcher->handle404(); } From fa0450a07da70662992d3053e15d7361062b75d3 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Tue, 18 Jun 2024 23:26:37 +0300 Subject: [PATCH 08/10] pkp/pkp-lib#8333 Recovered contextId protections --- classes/issue/Collector.php | 12 ++++++++++-- classes/services/StatsIssueService.php | 1 + .../queryBuilders/StatsIssueQueryBuilder.php | 7 ++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/classes/issue/Collector.php b/classes/issue/Collector.php index fa3af800d53..0985d633d5e 100644 --- a/classes/issue/Collector.php +++ b/classes/issue/Collector.php @@ -13,7 +13,9 @@ namespace APP\issue; +use APP\core\Application; use APP\facades\Repo; +use Exception; use Illuminate\Database\Query\Builder; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; @@ -325,8 +327,14 @@ public function getQueryBuilder(): Builder ) ); - // Context - $q->when($this->contextIds !== null, fn (Builder $q) => $q->whereIn('i.journal_id', $this->contextIds)); + // Context: Never permit a query without a context_id unless the Application::SITE_CONTEXT_ID_ALL wildcard has been set explicitly. + if (!isset($this->contextIds)) { + throw new Exception('Issues cannot be retrieved without a context id. Pass the Application::SITE_CONTEXT_ID_ALL wildcard to get issues from any context.'); + } + + if (!in_array(Application::CONTEXT_ID_ALL, $this->contextIds)) { + $q->whereIn('i.journal_id', $this->contextIds); + } // Issue IDs $q->when($this->issueIds !== null, fn (Builder $q) => $q->whereIn('i.issue_id', $this->issueIds)); // Published diff --git a/classes/services/StatsIssueService.php b/classes/services/StatsIssueService.php index 184d689f889..7c679293cd6 100644 --- a/classes/services/StatsIssueService.php +++ b/classes/services/StatsIssueService.php @@ -131,6 +131,7 @@ public function getDefaultArgs(): array return [ 'dateStart' => StatisticsHelper::STATISTICS_EARLIEST_DATE, 'dateEnd' => date('Y-m-d', strtotime('yesterday')), + // Require a context to be specified to prevent unwanted data leakage if someone forgets to specify the context. 'contextIds' => [], ]; } diff --git a/classes/services/queryBuilders/StatsIssueQueryBuilder.php b/classes/services/queryBuilders/StatsIssueQueryBuilder.php index 2fdc5880914..e8826a8241a 100644 --- a/classes/services/queryBuilders/StatsIssueQueryBuilder.php +++ b/classes/services/queryBuilders/StatsIssueQueryBuilder.php @@ -19,6 +19,7 @@ use APP\core\Application; use APP\statistics\StatisticsHelper; +use Exception; use Illuminate\Database\Query\Builder; use Illuminate\Support\Facades\DB; use PKP\plugins\Hook; @@ -103,7 +104,11 @@ protected function _getObject(): Builder { $q = DB::table('metrics_issue'); - if (!empty($this->contextIds)) { + if (empty($this->contextIds)) { + throw new Exception('Statistics cannot be retrieved without a context id. Pass the Application::SITE_CONTEXT_ID_ALL wildcard to get statistics from all contexts.'); + } + + if (!in_array(Application::SITE_CONTEXT_ID_ALL, $this->contextIds)) { $q->whereIn(StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID, $this->contextIds); } From fe30b1b2afc5cd820d1936d52227dbfab94a37b5 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Tue, 23 Jul 2024 18:20:59 +0300 Subject: [PATCH 09/10] pkp/pkp-lib#8333 Updated constant --- classes/issue/Collector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/issue/Collector.php b/classes/issue/Collector.php index 0985d633d5e..488688d2a96 100644 --- a/classes/issue/Collector.php +++ b/classes/issue/Collector.php @@ -332,7 +332,7 @@ public function getQueryBuilder(): Builder throw new Exception('Issues cannot be retrieved without a context id. Pass the Application::SITE_CONTEXT_ID_ALL wildcard to get issues from any context.'); } - if (!in_array(Application::CONTEXT_ID_ALL, $this->contextIds)) { + if (!in_array(Application::SITE_CONTEXT_ID_ALL, $this->contextIds)) { $q->whereIn('i.journal_id', $this->contextIds); } // Issue IDs From 46553cced671e2ff72d156297456829b4ab33584 Mon Sep 17 00:00:00 2001 From: Jonas Raoni Soares da Silva Date: Thu, 25 Jul 2024 01:46:27 +0300 Subject: [PATCH 10/10] pkp/pkp-lib#8333 Submodule update ##jonasraoni/feature-main-8333-add-remaining-fks## --- lib/pkp | 2 +- plugins/generic/acron | 2 +- plugins/generic/customBlockManager | 2 +- plugins/generic/staticPages | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pkp b/lib/pkp index 041cc4f5f0e..1d6663be9ca 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 041cc4f5f0e6b9b952ff5459064a995d53d2b0fc +Subproject commit 1d6663be9ca3f83ce27cd2078629fc1c3b30e003 diff --git a/plugins/generic/acron b/plugins/generic/acron index dede22d5d7d..a1545b0017a 160000 --- a/plugins/generic/acron +++ b/plugins/generic/acron @@ -1 +1 @@ -Subproject commit dede22d5d7d18fdd6fddf6b7dad6f034c8ae1fc3 +Subproject commit a1545b0017a57a6681ab727783ab870998e75361 diff --git a/plugins/generic/customBlockManager b/plugins/generic/customBlockManager index 07a20379a34..9d92d839c3c 160000 --- a/plugins/generic/customBlockManager +++ b/plugins/generic/customBlockManager @@ -1 +1 @@ -Subproject commit 07a20379a345083998f489533582886bfe3c4a27 +Subproject commit 9d92d839c3c7a8299eea2bc736f23c90bece1120 diff --git a/plugins/generic/staticPages b/plugins/generic/staticPages index 9ad23c8abc8..04fda9308ee 160000 --- a/plugins/generic/staticPages +++ b/plugins/generic/staticPages @@ -1 +1 @@ -Subproject commit 9ad23c8abc85eb1abf63df20b4ae65435f3e2435 +Subproject commit 04fda9308eeb2a7eb034fcd1076602cfadaff143