Ejemplo n.º 1
0
<?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();
Ejemplo n.º 2
0
 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;
 }