// Preserve previous forms. $form1->preserve($vars); $r->_name = $form1->getName(); $r->beginInactive($form1->getTitle()); $r->renderFormInactive($form1, $vars); $r->end(); echo '<br />'; $form2->preserve($vars); $r->_name = $form2->getName(); $r->beginInactive($form2->getTitle()); $r->renderFormInactive($form2, $vars); $r->end(); echo '<br />'; $form3->preserve($vars); $r->_name = $form3->getName(); $r->beginInactive($form3->getTitle()); $r->renderFormInactive($form3, $vars); $r->end(); echo '<br />'; // Preserve an uploaded file if there was one. $form3->getInfo($vars, $info); if (!empty($info['newattachment']['name'])) { $file_name = $info['newattachment']['name']; $tmp_file_path = Horde::getTempFile('whups'); if (move_uploaded_file($info['newattachment']['tmp_name'], $tmp_file_path)) { $session->set('whups', 'deferred_attachment/' . $file_name, $tmp_file_path); $vars->set('deferred_attachment', $file_name); $form3->preserveVarByPost($vars, 'deferred_attachment'); } } // Render the 4th stage form.