Path: blob/master/src/applications/paste/xaction/PhabricatorPasteLanguageTransaction.php
12241 views
<?php12final class PhabricatorPasteLanguageTransaction3extends PhabricatorPasteTransactionType {45const TRANSACTIONTYPE = 'paste.language';67public function generateOldValue($object) {8return $object->getLanguage();9}1011public function applyInternalEffects($object, $value) {12$object->setLanguage($value);13}1415private function renderLanguageValue($value) {16if (!strlen($value)) {17return $this->renderValue(pht('autodetect'));18} else {19return $this->renderValue($value);20}21}2223public function getTitle() {24return pht(25"%s updated the paste's language from %s to %s.",26$this->renderAuthor(),27$this->renderLanguageValue($this->getOldValue()),28$this->renderLanguageValue($this->getNewValue()));29}3031public function getTitleForFeed() {32return pht(33'%s updated the language for %s from %s to %s.',34$this->renderAuthor(),35$this->renderObject(),36$this->renderLanguageValue($this->getOldValue()),37$this->renderLanguageValue($this->getNewValue()));38}3940public function validateTransactions($object, array $xactions) {41$errors = array();4243foreach ($xactions as $xaction) {44$new = $xaction->getNewValue();4546if ($new !== null && !strlen($new)) {47$errors[] = $this->newInvalidError(48pht('Paste language must be null or a nonempty string.'),49$xaction);50}51}5253return $errors;54}5556}575859