getRequest(); if (!$request->isFormPost()) { return new Aphront400Response(); } $user = $request->getUser(); $question_id = $request->getInt('question_id'); $question = PonderQuestionQuery::loadSingle($user, $question_id); if (!$question) { return new Aphront404Response(); } $answer = $request->getStr('answer'); $content_source = PhabricatorContentSource::newForSource( PhabricatorContentSource::SOURCE_WEB, array( 'ip' => $request->getRemoteAddr(), )); $res = new PonderAnswer(); $res ->setContent($answer) ->setAuthorPHID($user->getPHID()) ->setVoteCount(0) ->setQuestionID($question_id) ->setContentSource($content_source); id(new PonderAnswerEditor()) ->setQuestion($question) ->setAnswer($res) ->saveAnswer(); PhabricatorSearchPonderIndexer::indexQuestion($question); return id(new AphrontRedirectResponse()) ->setURI(id(new PhutilURI('/Q'. $question->getID())) ->setFragment('A'.$res->getID())); } }