Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/ponder/view/PonderAnswerSummaryView.php b/src/applications/ponder/view/PonderAnswerSummaryView.php
deleted file mode 100644
index 5e7989e449..0000000000
--- a/src/applications/ponder/view/PonderAnswerSummaryView.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?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 PonderAnswerSummaryView extends AphrontView {
- private $user;
- private $answer;
- private $handles;
-
- public function setAnswer($answer) {
- $this->answer = $answer;
- return $this;
- }
-
- public function setHandles($handles) {
- $this->handles = $handles;
- return $this;
- }
-
- public function setUser(PhabricatorUser $user) {
- $this->user = $user;
- return $this;
- }
-
- private static function abbreviate($w) {
- return phutil_utf8_shorten($w, 60);
- }
-
- public function render() {
- require_celerity_resource('ponder-feed-view-css');
-
- $user = $this->user;
- $answer = $this->answer;
- $question = $answer->getQuestion();
- $author_phid = $question->getAuthorPHID();
- $handles = $this->handles;
-
- $votecount =
- '<div class="ponder-summary-votes">'.
- phutil_escape_html($answer->getVoteCount()).
- '<div class="ponder-question-label">'.
- 'votes'.
- '</div>'.
- '</div>';
-
- $title =
- '<h2 class="ponder-question-title">'.
- phutil_render_tag(
- 'a',
- array(
- "href" => id(new PhutilURI('/Q' . $question->getID()))
- ->setFragment('A' . $answer->getID())
- ),
- phutil_escape_html('A' . $answer->getID() . ' ' .
- self::abbreviate($answer->getContent())
- )
- ).
- '</h2>';
-
- $rhs =
- '<div class="ponder-metadata">'.
- $title.
- '<span class="ponder-small-metadata">'.
- phutil_escape_html(
- 'answer to "'. self::abbreviate($question->getTitle()). '" on ' .
- phabricator_datetime($answer->getDateCreated(), $user)
- ).
- '</span>'.
- '</div>';
-
- $summary =
- '<div class="ponder-answer-summary">'.
- $votecount.
- $rhs.
- '</div>';
-
- return $summary;
- }
-}
diff --git a/src/applications/ponder/view/PonderUserProfileView.php b/src/applications/ponder/view/PonderUserProfileView.php
index fac3b86871..8a611b36d4 100644
--- a/src/applications/ponder/view/PonderUserProfileView.php
+++ b/src/applications/ponder/view/PonderUserProfileView.php
@@ -1,109 +1,125 @@
<?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 PonderUserProfileView extends AphrontView {
private $user;
private $questionoffset;
private $answeroffset;
private $answers;
private $pagesize;
private $uri;
private $aparam;
public function setUser(PhabricatorUser $user) {
$this->user = $user;
return $this;
}
public function setQuestionOffset($offset) {
$this->questionoffset = $offset;
return $this;
}
public function setAnswerOffset($offset) {
$this->answeroffset = $offset;
return $this;
}
public function setAnswers($data) {
$this->answers = $data;
return $this;
}
public function setPageSize($pagesize) {
$this->pagesize = $pagesize;
return $this;
}
public function setHandles($handles) {
$this->handles = $handles;
return $this;
}
public function setURI($uri, $aparam) {
$this->uri = $uri;
$this->aparam = $aparam;
return $this;
}
public function render() {
require_celerity_resource('ponder-core-view-css');
require_celerity_resource('ponder-feed-view-css');
- $user = $this->user;
- $aoffset = $this->answeroffset;
- $answers = $this->answers;
- $handles = $this->handles;
- $uri = $this->uri;
- $aparam = $this->aparam;
+ $user = $this->user;
+ $aoffset = $this->answeroffset;
+ $answers = $this->answers;
+ $handles = $this->handles;
+ $uri = $this->uri;
+ $aparam = $this->aparam;
$pagesize = $this->pagesize;
- // display answers
- $answer_panel = id(new AphrontPanelView())
- ->setHeader("Your Answers")
- ->addClass("ponder-panel")
- ->appendChild(
- phutil_render_tag(
- 'a',
- array('id' => 'answers'),
- "")
- );
-
$apagebuttons = id(new AphrontPagerView())
->setPageSize($pagesize)
->setOffset($aoffset)
->setURI(
$uri
- ->setFragment("answers"),
+ ->setFragment('answers'),
$aparam);
-
$answers = $apagebuttons->sliceResults($answers);
+ $view = new PhabricatorObjectItemListView();
+ $view->setNoDataString(pht('No matching answers.'));
+
foreach ($answers as $answer) {
- $cur = id(new PonderAnswerSummaryView())
- ->setUser($user)
- ->setAnswer($answer)
- ->setHandles($handles);
- $answer_panel->appendChild($cur);
+ $question = $answer->getQuestion();
+ $author_phid = $question->getAuthorPHID();
+
+ $item = new PhabricatorObjectItemView();
+ $href = id(new PhutilURI('/Q' . $question->getID()))
+ ->setFragment('A' . $answer->getID());
+ $item->setHeader(
+ 'A'.$answer->getID().' '.self::abbreviate($answer->getContent())
+ );
+ $item->setHref($href);
+
+ $item->addDetail(
+ pht('Votes'),
+ $answer->getVoteCount()
+ );
+
+ $item->addDetail(
+ pht('Question'),
+ self::abbreviate($question->getTitle())
+ );
+
+ $item->addAttribute(
+ pht('Created %s', phabricator_date($answer->getDateCreated(), $user))
+ );
+
+ $view->addItem($item);
}
- $answer_panel->appendChild($apagebuttons);
+ $view->appendChild($apagebuttons);
+
+ return $view->render();
+ }
- return $answer_panel->render();
+ private function abbreviate($w) {
+ return phutil_utf8_shorten($w, 60);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Fri, Nov 14, 12:45 AM (22 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
336659
Default Alt Text
(6 KB)

Event Timeline