mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-03 20:22:46 +01:00
f5537fdff6
Summary: Fixes T11555. Previously changing the extension of a paste wouldn't change the syntax highlight language. Now it does. Also, feed items involving autodetect weren't rendering in a readable way. Test Plan: Created a paste named `paste.php` and let it autodetect language. Then edited the paste to be named paste.rainbow. It should now be highlighted in raiinnboow Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley, yelirekim Maniphest Tasks: T11555 Differential Revision: https://secure.phabricator.com/D16474
41 lines
1 KiB
PHP
41 lines
1 KiB
PHP
<?php
|
|
|
|
final class PhabricatorPasteLanguageTransaction
|
|
extends PhabricatorPasteTransactionType {
|
|
|
|
const TRANSACTIONTYPE = 'paste.language';
|
|
|
|
public function generateOldValue($object) {
|
|
return $object->getLanguage();
|
|
}
|
|
|
|
public function applyInternalEffects($object, $value) {
|
|
$object->setLanguage($value);
|
|
}
|
|
|
|
private function renderLanguageValue($value) {
|
|
if (!strlen($value)) {
|
|
return $this->renderValue(pht('autodetect'));
|
|
} else {
|
|
return $this->renderValue($value);
|
|
}
|
|
}
|
|
|
|
public function getTitle() {
|
|
return pht(
|
|
"%s updated the paste's language from %s to %s.",
|
|
$this->renderAuthor(),
|
|
$this->renderLanguageValue($this->getOldValue()),
|
|
$this->renderLanguageValue($this->getNewValue()));
|
|
}
|
|
|
|
public function getTitleForFeed() {
|
|
return pht(
|
|
'%s updated the language for %s from %s to %s.',
|
|
$this->renderAuthor(),
|
|
$this->renderObject(),
|
|
$this->renderLanguageValue($this->getOldValue()),
|
|
$this->renderLanguageValue($this->getNewValue()));
|
|
}
|
|
|
|
}
|