2008-08-06 08:54:59 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* This is a form decorator that lets you place a form inside another form.
|
|
|
|
* The actions will be appropriately rewritten so that the nested form gets called, rather than the parent form.
|
2009-03-22 23:59:14 +01:00
|
|
|
*
|
|
|
|
* @package sapphire
|
|
|
|
* @subpackage forms
|
2008-08-06 08:54:59 +02:00
|
|
|
*/
|
|
|
|
class NestedForm extends ViewableData {
|
|
|
|
protected $form;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Represent the given form in a tabular style
|
|
|
|
* @param form The form to decorate.
|
|
|
|
*/
|
|
|
|
function __construct(Form $form) {
|
|
|
|
$this->form = $form;
|
|
|
|
$this->failover = $form;
|
|
|
|
parent::__construct();
|
|
|
|
}
|
|
|
|
|
|
|
|
function Actions() {
|
|
|
|
$actions = $this->form->Actions();
|
|
|
|
foreach($actions as $action) {
|
|
|
|
$action->setFullAction('action_' . $action->actionName()
|
|
|
|
.'?formController=' . str_replace(array('?','.'), array('&','%2e'), $this->form->FormAction()) );
|
|
|
|
}
|
|
|
|
return $actions;
|
|
|
|
}
|
|
|
|
}
|