<?php

require_once '../../sources/models/serializeRules/AncestorSerializeRules.php';
require_once '../../sources/models/serializeRules/SerializeRulesTaskSetting.php';
require_once '../../sources/models/CompareXml.php';
session_start();
$_SESSION["ARBuilder_domDataDescr"] = "../../XML/datadescription.xml";
$json = "{\"rule0\":[{\"name\":\"NEG\",\"type\":\"neg\"},{\"name\":\"statusAgregovane\",\"type\":\"attr\",\"category\":\"Interval\",\"fields\":[{\"name\":\"maxLength\",\"value\":\"\"}]},{\"name\":\"AND\",\"type\":\"and\"},{\"name\":\"duration\",\"type\":\"attr\",\"category\":\"Interval\",\"fields\":[{\"name\":\"maxLength\",\"value\":\"\"}]},{\"name\":\"Support\",\"type\":\"oper\",\"fields\":[{\"name\":\"min value\",\"value\":\"\"}]},{\"name\":\"NEG\",\"type\":\"neg\"},{\"name\":\"name3\",\"type\":\"attr\",\"category\":\"Interval\",\"fields\":[{\"name\":\"maxLength\",\"value\":\"\"}]},{\"name\":\"AND\",\"type\":\"and\"},{\"name\":\"statusAgregovane\",\"type\":\"attr\",\"category\":\"Interval\",\"fields\":[{\"name\":\"maxLength\",\"value\":\"\"}]},{\"name\":\"OR\",\"type\":\"or\"},{\"name\":\"name6\",\"type\":\"attr\",\"category\":\"Interval\",\"fields\":[{\"name\":\"maxLength\",\"value\":\"\"}]}],\"rules\":1}";
$sr = new SerializeRulesTaskSetting();
$xmlFileFinal = $sr->serializeRules($json);
libxml_use_internal_errors(true);
$correctXML = true;
/* creating a DomDocument object */
$objDom = new DomDocument();
/* loading the xml data */
$objDom->loadXML($xmlFileFinal);
/* tries to validade your data */
if (!$objDom->schemaValidate("../../XML/schemas/ARBuilder0_1.xsd")) {
    /* if anything goes wrong you can get all errors at once */
    $allErrors = libxml_get_errors();
    /* each element of the array $allErrors will be a LibXmlError Object */
    print "<h2>XML file is not correct</h2>";
    print_r($allErrors);
} else {
    print "<h2>XML file is correct</h2>";
}
$ret = $xmlFileFinal;
print "<textarea rows='10' cols='20'>{$ret}</textarea>";
$filePath = "resultTaskSetting1.xml";
$file = fopen($filePath, "r");
$expectedResult = fread($file, filesize($filePath));
Exemple #2
0
require_once '../config/Config.php';
require_once '../lib/Bootstrap.php';
// data encoding
function encodeData($array)
{
    $data = "";
    foreach ($array as $key => $value) {
        $data .= "{$key}=" . urlencode($value) . '&';
    }
    return $data;
}
// LM task
$data = isset($_POST['data']) ? $_POST['data'] : $_GET['data'];
$data = str_replace("\\\"", "\"", $data);
$serializer = new SerializeRulesTaskSetting();
if (!DEV_MODE) {
    // SewebarConnect
    $id = 'VdcuecAZZEa5MTVm6E7huA';
    $data = array('guid' => $id, 'content' => $serializer->serializeRules($data));
    // save LM task
    $LM_import_path = './temp/4ft_task_' . date('md_His') . '.pmml';
    $LM_import = new DOMDocument('1.0', 'UTF-8');
    $LM_import->loadXML($data['content'], LIBXML_NOBLANKS);
    $LM_import->save($LM_import_path);
    // run task
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://lmcloud.vse.cz/SewebarConnect/Task/Pool");
    curl_setopt($ch, CURLOPT_POSTFIELDS, encodeData($data));
    curl_setopt($ch, CURLOPT_VERBOSE, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);