mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
4a5d9b03f8
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@39001 467b73ca-7a2a-4603-9d3b-597d59a354a9
40 lines
925 B
PHP
Executable File
40 lines
925 B
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* Transformation that will make a form printable.
|
|
* Builds on readonly forms with different behaviour for tabsets.
|
|
*/
|
|
class PrintableTransformation extends ReadonlyTransformation {
|
|
function transformTabSet($field) {
|
|
$transformedField = new PrintableTransformation_TabSet($field->Tabs()->transform($this));
|
|
$transformedField->Title = $field->Title();
|
|
$transformedField->TabSet = $field->TabSet;
|
|
return $transformedField;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Class representing printable tabsets
|
|
*/
|
|
class PrintableTransformation_TabSet extends TabSet {
|
|
function __construct($tabs) {
|
|
$this->children = $tabs;
|
|
CompositeField::__construct($tabs);
|
|
}
|
|
|
|
function FieldHolder() {
|
|
// This gives us support for sub-tabs.
|
|
$tag = ($this->tabSet) ? "h2>" : "h1>";
|
|
|
|
foreach($this->children as $tab) {
|
|
$retVal .= "<$tag" . $tab->Title() . "</$tag\n";
|
|
$retVal .= $tab->FieldHolder();
|
|
}
|
|
return $retVal;
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
?>
|