private function admin_createSepa($sepaRequests)
 {
     //F�r Sparkasse muss der Request kompatibel zu pain 008.002.02 (Sammellastschriften) sein
     // Erzeugen einer neuen Instanz
     $creatorSequenceFirst = new SepaXmlCreator();
     /*
      * Mit den Account-Werten wird das eigene Konto beschrieben
      * erster Parameter = Name
      * zweiter Parameter = IBAN
      * dritter Paramenter = BIC
      */
     $creatorSequenceFirst->setAccountValues('Ringelsoeckchen e.V.', 'DE34370502990138274368', 'COKSDE33XXX');
     /*
      * Setzen Sie von der Bundesbank �bermittelte Gl�ubiger-ID 
      */
     $creatorSequenceFirst->setGlaeubigerId("DE90BEI00001201537");
     /*
      * Mit Hilfe eines Ausf�hrungs-Offsets k�nnen Sie definieren, wann die Lastchrift gezogen wird. Die Anzahl 
      * der �bergebenen Tage wird auf den aktuellen Kalendertag addiert
      * 
      * Beispiel 1
      * heute = 1. Juni 2013
      * Offset nicht �bergeben
      * Ausf�hrung -> Heute bzw. n�chst m�glich
      * 
      * Beispiel 1
      * heute = 1. Juni 2013
      * Offset 3
      * Ausf�hrung -> 4. Juni 2013
      */
     $creatorSequenceFirst->setAusfuehrungOffset(8);
     $creatorSequenceRecurring = clone $creatorSequenceFirst;
     $creatorSequenceFirst->setSequenz(SepaXmlCreator::SEQUENZ_FIRST);
     $creatorSequenceRecurring->setSequenz(SepaXmlCreator::SEQUENZ_RECURRING);
     $this->Fee->Member->recursive = -3;
     if (!$sepaRequests) {
         throw new NotFoundException("Request empty");
     }
     foreach ($sepaRequests as $sepaRequest) {
         //Get member information
         $member = $this->Fee->Member->find('first', array('conditions' => array('id' => $sepaRequest['member_id'])));
         //Get yearly fee information
         $yearly_fee = $this->Fee->YearlyFee->find('first', array('conditions' => array('year' => $sepaRequest['year'])));
         $sepamandate = $this->Fee->Member->Sepamandate->find('first', array('conditions' => array('member_id' => $sepaRequest['member_id'], 'valid' => 1)));
         if (!$sepamandate) {
             throw new NotFoundException('Could not find Sepamandate for ' . $member['Member']['full_name']);
         }
         // Erzeugung einer neuen Buchungssatz
         $buchung = new SepaBuchung();
         // gew�nschter Einzugsbetrag
         $buchung->setBetrag($yearly_fee['YearlyFee']['fee']);
         // gew�nschte End2End Referenz (OPTIONAL)
         $buchung->setEnd2End('BEI' . $sepaRequest['year'] . '-' . $member['Member']['id']);
         // BIC des Zahlungspflichtigen Institutes
         $buchung->setBic($sepamandate['Sepamandate']['bic']);
         // Name des Zahlungspflichtigen
         $buchung->setName(htmlspecialchars($sepamandate['Sepamandate']['account_holder']));
         // IBAN des Zahlungspflichtigen
         $buchung->setIban($sepamandate['Sepamandate']['iban']);
         // gew�nschter Verwendungszweck (OPTIONAL)
         $buchung->setVerwendungszweck('Ringelsoeckche Beitrag ' . $sepaRequest['year'] . ' ' . $member['Member']['full_name']);
         // Referenz auf das vom Kunden erteilte Lastschriftmandat
         // ID = MANDAT0001
         // Erteilung durch Kunden am 20. Mai 2013
         // False = seit letzter Lastschrift wurde am Mandat nichts ge�ndert
         $buchung->setMandat($sepamandate['Sepamandate']['mandate_reference'], $sepamandate['Sepamandate']['mandate_date'], false);
         // Buchung zur entsprechenden Liste hinzufügen
         if ($sepamandate['Sepamandate']['sequence'] == "first") {
             $creatorSequenceFirst->addBuchung($buchung);
         } else {
             $creatorSequenceRecurring->addBuchung($buchung);
         }
     }
     $zip = new ZipArchive();
     $zip->open(TMP . 'sepa.zip', ZIPARCHIVE::OVERWRITE);
     if ($creatorSequenceFirst->hasBuchungen()) {
         $file = new File(TMP . 'sepa_erstlastschriften.xml', true);
         // Nun kann die XML-Datei über den Aufruf der entsprechenden Methode generiert werden
         $sepaOutput = $creatorSequenceFirst->generateBasislastschriftXml();
         $file->write($sepaOutput);
         $file->close();
         $zip->addFile(TMP . 'sepa_erstlastschriften.xml', 'sepa_erstlastschriften.xml');
     }
     if ($creatorSequenceRecurring->hasBuchungen()) {
         $file = new File(TMP . 'sepa_folgelastschriften.xml', true);
         // Nun kann die XML-Datei über den Aufruf der entsprechenden Methode generiert werden
         $sepaOutput = $creatorSequenceRecurring->generateBasislastschriftXml();
         $file->write($sepaOutput);
         $file->close();
         $zip->addFile(TMP . 'sepa_folgelastschriften.xml', 'sepa_folgelastschriften.xml');
     }
     $zip->close();
     $this->viewClass = 'Media';
     $params = array('id' => 'sepa.zip', 'name' => 'Sepa-Lastschrift-Mitgliedsbeitraege' . CakeTime::format('Y-m-d', time()), 'download' => true, 'extension' => 'zip', 'path' => TMP);
     $this->set($params);
 }
// gewünschter Einzugsbetrag
$buchung->setBetrag(10);
// gewünschte End2End Referenz (OPTIONAL)
$buchung->setEnd2End('ID-00002');
// BIC des Zahlungspflichtigen Institutes
$buchung->setBic('EMPFAENGERBIC');
// Name des Zahlungspflichtigen
$buchung->setName('Mustermann, Max');
// IBAN des Zahlungspflichtigen
$buchung->setIban('DE1234566..');
// gewünschter Verwendungszweck (OPTIONAL)
$buchung->setVerwendungszweck('Test Buchung');
// Referenz auf das vom Kunden erteilte Lastschriftmandat
// ID = MANDAT0001
// Erteilung durch Kunden am 20. Mai 2013
// False = seit letzter Lastschrift wurde am Mandat nichts geändert
$buchung->setMandat("MANDAT0001", "2013-05-20", false);
// Buchung zur Liste hinzufügen
$creator->addBuchung($buchung);
// Dies kann beliebig oft wiederholt werden ...
$buchung = new SepaBuchung();
$buchung->setBetrag(7);
$buchung->setBic('EMPFAENGERBIC');
$buchung->setName('Mustermann, Max');
$buchung->setIban('DE1234566..');
// weitere felder nicht übergeben = heutige erteilung
$buchung->setMandat("MANDAT0002");
$creator->addBuchung($buchung);
// Nun kann die XML-Datei über den Aufruf der entsprechenden Methode generiert werden
echo $creator->generateBasislastschriftXml();
                 // Buchung zur Liste hinzufügen
                 $creator->addBuchung($buchung);
             }
         }
     }
 }
 fclose($output_inkorrekt);
 fclose($output_newMember);
 fclose($output_student);
 fclose($output_payment);
 ob_end_clean();
 //=========================
 // SEPA XML Datei ausliefern
 //=========================
 //generiere die XML-Datei
 $sepaxml = $creator->generateBasislastschriftXml();
 file_put_contents($file, $sepaxml);
 ob_end_clean();
 //Datei an User zum Download ausliefern
 header('Content-Description: File Transfer');
 header('Content-Type: application/octet-stream');
 header('Content-Disposition: attachment; filename=' . basename($file));
 header('Content-Transfer-Encoding: binary');
 header('Expires: 0');
 header('Cache-Control: must-revalidate');
 header('Pragma: public');
 header('Content-Length: ' . filesize($file));
 ob_end_clean();
 flush();
 readfile($file);
 exit;