+
+ $publicationStatus = (isset($this->parameters['data']['publicationStatus'])) ? $this->parameters['data']['publicationStatus'] : null;
+ if ($publicationStatus !== null) {
+ $usersToArticles = [];
+ /** @var ArticleEditor $articleEditor */
+ foreach ($this->objects as $articleEditor) {
+ if ($publicationStatus != $articleEditor->publicationStatus) {
+ // The article was published before or was now published.
+ if ($publicationStatus == Article::PUBLISHED || $articleEditor->publicationStatus == Article::PUBLISHED) {
+ if (!isset($usersToArticles[$articleEditor->userID])) {
+ $usersToArticles[$articleEditor->userID] = 0;
+ }
+
+ $usersToArticles[$articleEditor->userID] += ($publicationStatus == Article::PUBLISHED) ? 1 : -1;
+ }
+ }
+ }
+
+ if (!empty($usersToArticles)) {
+ ArticleEditor::updateArticleCounter($usersToArticles);
+ }
+ }