<?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));
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); curl_setopt($ch, CURLOPT_POST, true); $response = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch);