3 final class PhabricatorUserIconField
4 extends PhabricatorUserCustomField
{
8 public function getFieldKey() {
12 public function getModernFieldKey() {
16 public function getFieldKeyForConduit() {
17 return $this->getModernFieldKey();
20 public function getFieldName() {
24 public function getFieldDescription() {
25 return pht('User icon to accompany their title.');
28 public function canDisableField() {
32 public function shouldAppearInApplicationTransactions() {
36 public function shouldAppearInEditView() {
40 public function readValueFromObject(PhabricatorCustomFieldInterface
$object) {
41 $this->value
= $object->loadUserProfile()->getIcon();
44 public function getOldValueForApplicationTransactions() {
45 return $this->getObject()->loadUserProfile()->getIcon();
48 public function getNewValueForApplicationTransactions() {
52 public function applyApplicationTransactionInternalEffects(
53 PhabricatorApplicationTransaction
$xaction) {
54 $this->getObject()->loadUserProfile()->setIcon($xaction->getNewValue());
57 public function readValueFromRequest(AphrontRequest
$request) {
58 $this->value
= $request->getStr($this->getFieldKey());
61 public function setValueFromStorage($value) {
62 $this->value
= $value;
66 public function renderEditControl(array $handles) {
67 return id(new PHUIFormIconSetControl())
68 ->setName($this->getFieldKey())
69 ->setValue($this->value
)
70 ->setLabel($this->getFieldName())
71 ->setIconSet(new PhabricatorPeopleIconSet());
74 public function shouldAppearInConduitTransactions() {
78 protected function newConduitEditParameterType() {
79 return new ConduitStringParameterType();