public
Created

Cancel form action for SilverStripe

  • Download Gist
CancelFormAction.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
<?php
 
/**
* Action that takes the user back to a given link rather than submitting
* the form.
*
* @package cancelformaction
*/
class CancelFormAction extends FormAction {
/**
* @var string
*/
private $link;
function __construct($link = "", $title = "", $form = null, $extraData = null, $extraClass = '') {
if(!$title) $title = _t('CancelFormAction.CANCEL', 'Cancel');
$this->setLink($link);
parent::__construct('CancelFormAction', $title, $form, $extraData, $extraClass);
}
function setLink($link) {
$this->link = $link;
}
function getLink() {
return $this->link;
}
function Field() {
$attributes = array(
'class' => 'action cancel ' . ($this->extraClass() ? $this->extraClass() : ''),
'id' => $this->id(),
'name' => $this->action,
'tabindex' => $this->getTabIndex(),
'href' => $this->getLink()
);
if($this->isReadonly()) {
$attributes['disabled'] = 'disabled';
$attributes['class'] = $attributes['class'] . ' disabled';
}
return $this->createTag(
'a',
$attributes,
$this->buttonContent ? $this->buttonContent : $this->Title()
);
}
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.