request->getPost(); $question = $this->checkQuestion($id); $validator = new QuestionValidator(); $user = $this->getLoginUser(); $validator->checkOwner($user->id, $question->owner_id); $validator->checkIfAllowEdit($question); $data = $this->handlePostData($post); if ($question->published == QuestionModel::PUBLISH_REJECTED) { $data['published'] = QuestionModel::PUBLISH_PENDING; } $question->update($data); if (isset($post['xm_tag_ids'])) { $this->saveTags($question, $post['xm_tag_ids']); } $this->saveDynamicAttrs($question); $this->eventsManager->fire('Question:afterUpdate', $this, $question); return $question; } }