<?php $loader = (require_once __DIR__ . '/../../../vendor/autoload.php'); $campaign = (include_once __DIR__ . '/../assets/campaign0.php'); $domDoc = \Maileva\Element::getDomFromCampaign($campaign); if (!isset($_GET['xml'])) { libxml_use_internal_errors(true); $valide = $domDoc->schemaValidate(\Maileva\Element::getXmlSchema()); $error = libxml_get_last_error(); libxml_clear_errors(); echo '<br/>'; echo 'XML passed validation : ' . ($valide ? 'YES' : 'NO') . "<br/>\n"; if (!$valide) { echo "Erreur : <pre>" . $error->message . "</pre>"; } echo '<br/>'; echo '<a href="?xml=" >See XML</a>'; exit; } header('Content-Type: application/xml; charset=utf-8'); // Pretty output $domDoc->preserveWhiteSpace = false; $domDoc->formatOutput = true; echo $domDoc->saveXML();
public function generate(Element $campaign) { //Change the uri of the documents to a valid one for a ftp package /** @var \Maileva\Element\Request $request */ $i = 1; foreach ($campaign->getRequests() as $request) { /** @var \Maileva\Element\Document $document */ foreach ($request->getDocumentData() as $document) { if ($this->save_src) { file_put_contents($this->directory . '/src/' . $i . '.' . basename($document->getContent()->getUri()), file_get_contents($document->getContent()->getUri())); } $filename = $this->addFile($document->getContent()->getUri()); $document->getContent()->setUri($filename); $i++; } } //Creation de lelement root pour le xml $domDoc = Element::getDomFromCampaign($campaign); // Beautiful output $domDoc->preserveWhiteSpace = false; $domDoc->formatOutput = true; //sauvegarde dans un fichier $filename_pjs = ($this->save_src ? $this->directory . '/src/' : sys_get_temp_dir() . '/') . 'pjs.xml'; file_put_contents($filename_pjs, $domDoc->saveXML()); //ajout dans le fichier de command $this->addFile($filename_pjs); //generation du fichier de command $filename_command = $this->directory . ($this->save_src ? '/ftp/' : '') . '/' . $this->name . '.tmp'; $this->command->saveInFile($filename_command); if ($this->save_src) { $this->command->saveInFile($this->directory . '/src/' . $this->name . '.' . $this->command->getExtensionFile()); } $this->files_packages[] = $filename_command; }