/**
  * @param Context $context
  * @param Request $request
  */
 public function _execute($context, $request)
 {
     $forms = $this->getDocumentInstanceArrayFromRequest($request);
     $responseArchivedCount = 0;
     foreach ($forms as $form) {
         $responseArchivedCount += form_FormService::getInstance()->fileResponses($form);
     }
     if (Framework::isInfoEnabled()) {
         Framework::info('form/ArchiveResponse -> Filed responses : ' . $responseArchivedCount);
     }
     $request->setAttribute('message', $responseArchivedCount);
     return self::getSuccessView();
 }
 /**
  * @param form_persistentdocument_baseform $form
  * @param block_BlockRequest $request
  * @return void
  */
 public function saveFormData($form, $request)
 {
     $errors = new validation_Errors();
     $this->validate($form, $request, $errors);
     if (!$errors->isEmpty()) {
         throw new form_FormValidationException("Form does not validate", $errors);
     }
     $domDoc = new DOMDocument('1.0', 'utf-8');
     $domDoc->formatOutput = true;
     $rootElm = $domDoc->createElement('response');
     $rootElm->setAttribute('lang', RequestContext::getInstance()->getLang());
     $rootElm->setAttribute('date', date('Y-m-d H:i:s'));
     $domDoc->appendChild($rootElm);
     $fields = $this->getSortedFields($form);
     $replyTo = null;
     $acknowledgmentReceiver = null;
     $this->doMakeXmlResponse($domDoc, $rootElm, $request, $replyTo, $acknowledgmentReceiver, $form);
     $response = form_ResponseService::getInstance()->getNewDocumentInstance();
     $response->setContents($domDoc->saveXML());
     $response->setLabel(f_Locale::translate("&modules.form.bo.general.Form-response-title;", array('form' => $form->getLabel())));
     // Handle specific treatments.
     $result = $this->handleData($form, $fields, $response, $request, $replyTo);
     // Acknowledgment.
     if ($result['success'] && $form->getAcknowledgment() && $acknowledgmentReceiver !== null) {
         if (!$this->sendAcknowledgement($form, $response, $request, $result, $acknowledgmentReceiver, $replyTo)) {
             Framework::info(__METHOD__ . " An error occured during acknowledgment sending to " . $acknowledgmentReceiver);
         }
     }
     return $result;
 }