getIcon(); } public function applyInternalEffects($object, $value) { $object->setIcon($value); } public function getTitle() { $set = new PhabricatorProjectIconSet(); $new = $this->getNewValue(); return pht( "%s set this project's icon to %s.", $this->renderAuthor(), $this->renderValue($set->getIconLabel($new))); } public function getTitleForFeed() { $set = new PhabricatorProjectIconSet(); $new = $this->getNewValue(); return pht( '%s set the icon for %s to %s.', $this->renderAuthor(), $this->renderObject(), $this->renderValue($set->getIconLabel($new))); } public function getIcon() { $new = $this->getNewValue(); return PhabricatorProjectIconSet::getIconIcon($new); } public function validateTransactions($object, array $xactions) { $errors = array(); if (!$xactions) { return $errors; } foreach ($xactions as $xaction) { $new_icon = $xaction->getNewValue(); if (!PhabricatorProjectIconSet::getIconName($new_icon)) { $errors[] = new PhabricatorApplicationTransactionValidationError( self::TRANSACTIONTYPE, pht('Invalid'), pht( 'Value for "%s" is invalid: "%s".', self::TRANSACTIONTYPE, $new_icon)); break; } } return $errors; } }