checkArticle($id); $user = $this->getLoginUser(); $validator = new ArticleValidator(); $validator->checkOwner($user->id, $article->owner_id); $article->deleted = 1; $article->update(); $this->decrUserArticleCount($user); $this->rebuildArticleIndex($article); $this->eventsManager->fire('Article:afterDelete', $this, $article); } protected function decrUserArticleCount(UserModel $user) { if ($user->article_count > 0) { $user->article_count -= 1; $user->update(); } } protected function rebuildArticleIndex(ArticleModel $article) { $sync = new ArticleIndexSync(); $sync->addItem($article->id); } }