2011-01-26 18:02:09 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright 2011 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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
class PhabricatorObjectHandle {
|
|
|
|
|
|
|
|
private $uri;
|
|
|
|
private $phid;
|
|
|
|
private $type;
|
|
|
|
private $name;
|
|
|
|
private $email;
|
2011-02-03 02:38:03 +01:00
|
|
|
private $fullName;
|
2011-02-01 01:00:42 +01:00
|
|
|
private $imageURI;
|
2011-04-23 00:10:42 +02:00
|
|
|
private $timestamp;
|
2011-05-10 01:31:26 +02:00
|
|
|
private $alternateID;
|
2011-01-26 18:02:09 +01:00
|
|
|
|
|
|
|
public function setURI($uri) {
|
|
|
|
$this->uri = $uri;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getURI() {
|
|
|
|
return $this->uri;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setPHID($phid) {
|
|
|
|
$this->phid = $phid;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getPHID() {
|
|
|
|
return $this->phid;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setName($name) {
|
|
|
|
$this->name = $name;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getName() {
|
|
|
|
return $this->name;
|
|
|
|
}
|
|
|
|
|
2011-02-03 02:38:03 +01:00
|
|
|
public function setFullName($full_name) {
|
|
|
|
$this->fullName = $full_name;
|
|
|
|
return $this;
|
|
|
|
}
|
2011-02-03 04:38:43 +01:00
|
|
|
|
2011-02-03 02:38:03 +01:00
|
|
|
public function getFullName() {
|
2011-02-21 05:08:16 +01:00
|
|
|
if ($this->fullName !== null) {
|
|
|
|
return $this->fullName;
|
|
|
|
}
|
|
|
|
return $this->getName();
|
2011-02-03 02:38:03 +01:00
|
|
|
}
|
|
|
|
|
2011-01-26 18:02:09 +01:00
|
|
|
public function setType($type) {
|
|
|
|
$this->type = $type;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getType() {
|
|
|
|
return $this->type;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setEmail($email) {
|
|
|
|
$this->email = $email;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getEmail() {
|
|
|
|
return $this->email;
|
|
|
|
}
|
2011-02-02 22:59:52 +01:00
|
|
|
|
2011-02-01 01:00:42 +01:00
|
|
|
public function setImageURI($uri) {
|
|
|
|
$this->imageURI = $uri;
|
|
|
|
return $this;
|
|
|
|
}
|
2011-02-02 22:59:52 +01:00
|
|
|
|
2011-02-01 01:00:42 +01:00
|
|
|
public function getImageURI() {
|
|
|
|
return $this->imageURI;
|
|
|
|
}
|
2011-01-26 18:02:09 +01:00
|
|
|
|
2011-04-23 00:10:42 +02:00
|
|
|
public function setTimestamp($timestamp) {
|
|
|
|
$this->timestamp = $timestamp;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getTimestamp() {
|
|
|
|
return $this->timestamp;
|
|
|
|
}
|
|
|
|
|
2011-05-10 01:31:26 +02:00
|
|
|
public function setAlternateID($alternate_id) {
|
|
|
|
$this->alternateID = $alternate_id;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getAlternateID() {
|
|
|
|
return $this->alternateID;
|
|
|
|
}
|
|
|
|
|
Improve search result listing
Summary:
Make it prettier, paginate, add user pictures, show document types, clean some
stuff up a little. Plenty of room for improvement but this should make it a lot
more useful.
Test Plan:
Here's what the new one looks like:
https://secure.phabricator.com/file/view/PHID-FILE-edce2b83c2e3a121c2b7/
Reviewed By: jungejason
Reviewers: tomo, jungejason, aran, tuomaspelkonen, mroch
Commenters: tomo
CC: aran, tomo, jungejason, epriestley
Differential Revision: 545
2011-06-28 23:35:02 +02:00
|
|
|
public function getTypeName() {
|
|
|
|
static $map = array(
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_USER => 'User',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_TASK => 'Task',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_DREV => 'Revision',
|
|
|
|
PhabricatorPHIDConstants::PHID_TYPE_CMIT => 'Commit',
|
|
|
|
);
|
|
|
|
|
|
|
|
return idx($map, $this->getType());
|
|
|
|
}
|
|
|
|
|
2011-01-27 23:55:52 +01:00
|
|
|
public function renderLink() {
|
2011-02-17 23:32:01 +01:00
|
|
|
|
|
|
|
switch ($this->getType()) {
|
2011-03-03 03:58:21 +01:00
|
|
|
case PhabricatorPHIDConstants::PHID_TYPE_USER:
|
2011-02-17 23:32:01 +01:00
|
|
|
$name = $this->getName();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$name = $this->getFullName();
|
|
|
|
}
|
|
|
|
|
2011-01-27 23:55:52 +01:00
|
|
|
return phutil_render_tag(
|
|
|
|
'a',
|
|
|
|
array(
|
|
|
|
'href' => $this->getURI(),
|
|
|
|
),
|
2011-02-17 23:32:01 +01:00
|
|
|
phutil_escape_html($name));
|
2011-01-27 23:55:52 +01:00
|
|
|
}
|
2011-01-26 18:02:09 +01:00
|
|
|
|
|
|
|
}
|