/**
  * Export a list of recipient and all their data
  *
  * @param int $uidRecipientList
  * @param string $authCode
  */
 public function exportAction($uidRecipientList, $authCode)
 {
     // Assert we are using supported formats
     $availableFormats = ['csv', 'xml'];
     $format = $this->request->getFormat();
     if (!in_array($format, $availableFormats)) {
         $format = reset($availableFormats);
         $this->request->setFormat($format);
     }
     $recipientList = $this->recipientListRepository->findByUidInitialized($uidRecipientList);
     if (\TYPO3\CMS\Core\Utility\GeneralUtility::stdAuthCode($recipientList->_getCleanProperties()) != $authCode) {
         $this->response->setStatus(401);
         return 'not authorized !';
     }
     $title = $recipientList->getTitle() . '-' . $recipientList->getUid();
     $this->response->setHeader('Content-Type', 'text/' . $format, true);
     $this->response->setHeader('Content-Description', 'File transfer', true);
     $this->response->setHeader('Content-Disposition', 'attachment; filename="' . $title . '.' . $format . '"', true);
     $recipients = [];
     while ($recipient = $recipientList->getRecipient()) {
         $recipients[] = $recipient;
     }
     // If we have at least one recipient we can extract the field
     if ($recipients) {
         $fields = array_keys(reset($recipients));
     } else {
         $fields = [];
     }
     $this->view->assign('recipients', $recipients);
     $this->view->assign('title', $title);
     $this->view->assign('fields', $fields);
 }
 public function testFindByUidInitialized()
 {
     $recipientList = $this->recipientListRepository->findByUidInitialized(1000);
     $this->assertNotNull($recipientList);
     $this->assertSame(2, $recipientList->getCount(), 'should not have to call init() to get count');
 }