@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 94 lines 2.5 kB view raw
1<?php 2 3final class PhabricatorFileAltTextTransaction 4 extends PhabricatorFileTransactionType { 5 6 const TRANSACTIONTYPE = 'file:alt'; 7 8 public function generateOldValue($object) { 9 return $object->getCustomAltText(); 10 } 11 12 public function generateNewValue($object, $value) { 13 $value = phutil_string_cast($value); 14 15 if (!strlen($value)) { 16 $value = null; 17 } 18 19 return $value; 20 } 21 22 public function applyInternalEffects($object, $value) { 23 $object->setCustomAltText($value); 24 } 25 26 public function getTitle() { 27 $old_value = $this->getOldValue(); 28 $new_value = $this->getNewValue(); 29 30 if (!phutil_nonempty_string($old_value)) { 31 return pht( 32 '%s set the alternate text for this file to %s.', 33 $this->renderAuthor(), 34 $this->renderNewValue()); 35 } else if (!phutil_nonempty_string($new_value)) { 36 return pht( 37 '%s removed the alternate text for this file (was %s).', 38 $this->renderAuthor(), 39 $this->renderOldValue()); 40 } else { 41 return pht( 42 '%s changed the alternate text for this file from %s to %s.', 43 $this->renderAuthor(), 44 $this->renderOldValue(), 45 $this->renderNewValue()); 46 } 47 } 48 49 public function getTitleForFeed() { 50 $old_value = $this->getOldValue(); 51 $new_value = $this->getNewValue(); 52 53 if (!phutil_nonempty_string($old_value)) { 54 return pht( 55 '%s set the alternate text for %s to %s.', 56 $this->renderAuthor(), 57 $this->renderObject(), 58 $this->renderNewValue()); 59 } else if (!phutil_nonempty_string($new_value)) { 60 return pht( 61 '%s removed the alternate text for %s (was %s).', 62 $this->renderAuthor(), 63 $this->renderObject(), 64 $this->renderOldValue()); 65 } else { 66 return pht( 67 '%s changed the alternate text for %s from %s to %s.', 68 $this->renderAuthor(), 69 $this->renderObject(), 70 $this->renderOldValue(), 71 $this->renderNewValue()); 72 } 73 } 74 75 public function validateTransactions($object, array $xactions) { 76 $errors = array(); 77 78 $max_length = 1024; 79 foreach ($xactions as $xaction) { 80 $new_value = $xaction->getNewValue(); 81 82 $new_length = strlen($new_value); 83 if ($new_length > $max_length) { 84 $errors[] = $this->newInvalidError( 85 pht( 86 'File alternate text must not be longer than %s character(s).', 87 new PhutilNumber($max_length))); 88 } 89 } 90 91 return $errors; 92 } 93 94}