mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-11 08:06:13 +01:00
4b77bbd60c
Summary: Ref T9908. Test Plan: Careful reading. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9908 Differential Revision: https://secure.phabricator.com/D14746
89 lines
2.6 KiB
PHP
89 lines
2.6 KiB
PHP
<?php
|
|
|
|
final class PhabricatorPasteEditEngine
|
|
extends PhabricatorEditEngine {
|
|
|
|
const ENGINECONST = 'paste.paste';
|
|
|
|
public function getEngineName() {
|
|
return pht('Pastes');
|
|
}
|
|
|
|
public function getEngineApplicationClass() {
|
|
return 'PhabricatorPasteApplication';
|
|
}
|
|
|
|
protected function newEditableObject() {
|
|
return PhabricatorPaste::initializeNewPaste($this->getViewer());
|
|
}
|
|
|
|
protected function newObjectQuery() {
|
|
return id(new PhabricatorPasteQuery())
|
|
->needRawContent(true);
|
|
}
|
|
|
|
protected function getObjectCreateTitleText($object) {
|
|
return pht('Create New Paste');
|
|
}
|
|
|
|
protected function getObjectEditTitleText($object) {
|
|
return pht('Edit %s %s', $object->getMonogram(), $object->getTitle());
|
|
}
|
|
|
|
protected function getObjectEditShortText($object) {
|
|
return $object->getMonogram();
|
|
}
|
|
|
|
protected function getObjectCreateShortText() {
|
|
return pht('Create Paste');
|
|
}
|
|
|
|
protected function getCommentViewHeaderText($object) {
|
|
return pht('Eat Paste');
|
|
}
|
|
|
|
protected function getCommentViewButtonText($object) {
|
|
return pht('Nom Nom Nom Nom Nom');
|
|
}
|
|
|
|
protected function getObjectViewURI($object) {
|
|
return '/P'.$object->getID();
|
|
}
|
|
|
|
protected function buildCustomEditFields($object) {
|
|
$langs = array(
|
|
'' => pht('(Detect From Filename in Title)'),
|
|
) + PhabricatorEnv::getEnvConfig('pygments.dropdown-choices');
|
|
|
|
return array(
|
|
id(new PhabricatorTextEditField())
|
|
->setKey('title')
|
|
->setLabel(pht('Title'))
|
|
->setDescription(pht('Name of the paste.'))
|
|
->setTransactionType(PhabricatorPasteTransaction::TYPE_TITLE)
|
|
->setValue($object->getTitle()),
|
|
id(new PhabricatorSelectEditField())
|
|
->setKey('language')
|
|
->setLabel(pht('Language'))
|
|
->setDescription(
|
|
pht(
|
|
'Programming language to interpret the paste as for syntax '.
|
|
'highlighting. By default, the language is inferred from the '.
|
|
'title.'))
|
|
->setAliases(array('lang'))
|
|
->setTransactionType(PhabricatorPasteTransaction::TYPE_LANGUAGE)
|
|
->setIsCopyable(true)
|
|
->setValue($object->getLanguage())
|
|
->setOptions($langs),
|
|
id(new PhabricatorTextAreaEditField())
|
|
->setKey('text')
|
|
->setLabel(pht('Text'))
|
|
->setDescription(pht('The main body text of the paste.'))
|
|
->setTransactionType(PhabricatorPasteTransaction::TYPE_CONTENT)
|
|
->setMonospaced(true)
|
|
->setHeight(AphrontFormTextAreaControl::HEIGHT_VERY_TALL)
|
|
->setValue($object->getRawContent()),
|
|
);
|
|
}
|
|
|
|
}
|