Page MenuHomePhabricator
Paste P830

OrbitalQuackField.php
ActivePublic

Authored by epriestley on May 9 2013, 3:41 PM.
Tags
None
Referenced Files
F42875: OrbitalQuackField.php
Feb 24 2016, 1:31 AM
Subscribers
None
<?php
class OrbitalQuackField extends DifferentialFieldSpecification {
private $value;
public function getStorageKey() {
return 'orbital.quack';
}
public function getValueForStorage() {
return $this->value;
}
public function setValueFromStorage($value) {
$this->value = $value;
}
public function shouldAppearOnEdit() {
return true;
}
public function setValueFromRequest(AphrontRequest $request) {
$this->value = $request->getStr('aux:quack');
return $this;
}
public function renderEditControl() {
return id(new AphrontFormTextControl())
->setLabel('Quack')
->setName('aux:quack')
->setValue($this->value)
->setCaption('Quack quack quack.');
}
public function validateField() {
if ($this->value == 'moo') {
throw new DifferentialFieldValidationException(
"Ducks do not go 'moo'.");
}
}
public function shouldAppearOnRevisionView() {
return true;
}
public function renderLabelForRevisionView() {
return 'Quack:';
}
public function renderValueForRevisionView() {
return phutil_escape_html($this->value);
}
}

Event Timeline