2007-07-19 12:40:28 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Transformation that will make a form printable.
|
|
|
|
* Builds on readonly forms with different behaviour for tabsets.
|
2008-01-09 05:18:36 +01:00
|
|
|
* @package forms
|
|
|
|
* @subpackage transformations
|
2007-07-19 12:40:28 +02:00
|
|
|
*/
|
|
|
|
class PrintableTransformation extends ReadonlyTransformation {
|
2012-09-19 12:07:39 +02:00
|
|
|
public function transformTabSet($field) {
|
2007-07-19 12:40:28 +02:00
|
|
|
$transformedField = new PrintableTransformation_TabSet($field->Tabs()->transform($this));
|
|
|
|
$transformedField->Title = $field->Title();
|
|
|
|
$transformedField->TabSet = $field->TabSet;
|
|
|
|
return $transformedField;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class representing printable tabsets
|
2008-01-09 05:18:36 +01:00
|
|
|
* @package forms
|
|
|
|
* @subpackage transformations
|
2007-07-19 12:40:28 +02:00
|
|
|
*/
|
|
|
|
class PrintableTransformation_TabSet extends TabSet {
|
2012-09-19 12:07:39 +02:00
|
|
|
public function __construct($tabs) {
|
2007-07-19 12:40:28 +02:00
|
|
|
$this->children = $tabs;
|
|
|
|
CompositeField::__construct($tabs);
|
|
|
|
}
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2012-09-19 12:07:39 +02:00
|
|
|
public function FieldHolder($properties = array()) {
|
2007-07-19 12:40:28 +02:00
|
|
|
// This gives us support for sub-tabs.
|
|
|
|
$tag = ($this->tabSet) ? "h2>" : "h1>";
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2007-07-19 12:40:28 +02:00
|
|
|
foreach($this->children as $tab) {
|
|
|
|
$retVal .= "<$tag" . $tab->Title() . "</$tag\n";
|
|
|
|
$retVal .= $tab->FieldHolder();
|
|
|
|
}
|
|
|
|
return $retVal;
|
2014-08-15 08:53:05 +02:00
|
|
|
|
2007-07-19 12:40:28 +02:00
|
|
|
}
|
2014-08-15 08:53:05 +02:00
|
|
|
|
|
|
|
|
2007-07-19 12:40:28 +02:00
|
|
|
}
|
|
|
|
|