2012-08-10 19:44:04 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2012 Facebook, Inc.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
final class PonderQuestionDetailView extends AphrontView {
|
|
|
|
|
|
|
|
private $question;
|
|
|
|
private $user;
|
|
|
|
private $handles;
|
|
|
|
|
|
|
|
public function setQuestion($question) {
|
|
|
|
$this->question = $question;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setUser($user) {
|
|
|
|
$this->user = $user;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setHandles($handles) {
|
|
|
|
$this->handles = $handles;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function render() {
|
|
|
|
require_celerity_resource('ponder-core-view-css');
|
|
|
|
|
|
|
|
$question = $this->question;
|
|
|
|
$handles = $this->handles;
|
|
|
|
$user = $this->user;
|
|
|
|
|
|
|
|
$panel = id(new AphrontPanelView())
|
|
|
|
->addClass("ponder-panel")
|
2012-09-13 21:18:52 +02:00
|
|
|
->setHeader(
|
|
|
|
$this->renderObjectLink().' '.
|
|
|
|
phutil_escape_html($question->getTitle()));
|
2012-08-10 19:44:04 +02:00
|
|
|
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
$contentview = new PonderPostBodyView();
|
2012-08-10 19:44:04 +02:00
|
|
|
$contentview
|
|
|
|
->setTarget($question)
|
|
|
|
->setQuestion($question)
|
|
|
|
->setUser($user)
|
|
|
|
->setHandles($handles)
|
|
|
|
->setAction(PonderConstants::ASKED_LITERAL);
|
|
|
|
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
$commentview = new PonderCommentListView();
|
|
|
|
$commentview
|
|
|
|
->setUser($user)
|
|
|
|
->setHandles($handles)
|
|
|
|
->setComments($question->getComments())
|
|
|
|
->setTarget($question->getPHID())
|
|
|
|
->setQuestionID($question->getID())
|
|
|
|
->setActionURI(new PhutilURI('/ponder/comment/add/'));
|
|
|
|
|
2012-08-10 19:44:04 +02:00
|
|
|
$panel->appendChild($contentview);
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
$panel->appendChild($commentview);
|
2012-08-10 19:44:04 +02:00
|
|
|
|
|
|
|
return $panel->render();
|
|
|
|
}
|
|
|
|
|
|
|
|
private function renderObjectLink() {
|
|
|
|
return phutil_render_tag(
|
|
|
|
'a',
|
|
|
|
array('href' => '/Q' . $this->question->getID()),
|
|
|
|
"Q". phutil_escape_html($this->question->getID())
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|