diff --git a/.phpunit.result.cache b/.phpunit.result.cache
index 2ab45d3..c6f42cc 100644
--- a/.phpunit.result.cache
+++ b/.phpunit.result.cache
@@ -1 +1 @@
-{"version":1,"defects":[],"times":{"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.025,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.021,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.022,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.019,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.095,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.141,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.088,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.191,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.176,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.012,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\LL\\CalcTest::testChangeDefault":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.057,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.049,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.083,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.091,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.004,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.008,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.01,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.336,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testDefault":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testCalcValue":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.021,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.023,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.005,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.006,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testRowColumn":0.007,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testTextOption":0.006,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testInputOption":0.006,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testSubRowsOption":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcTest::testPrice":0.276,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":1.781,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":1.291,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\HeadlineTest::testHeadLine1Option":0.006,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\HeadlineTest::testHeadLine5Option":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.014,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.024,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":0.005,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":0.063,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":0.061,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":1.354,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.785,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.776,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\TextTest::testTextOption":0.007,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\TextTest::testText2Option":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.341,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.326,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.31,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.314,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testText":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.036,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":0.123,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcDefault":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig20":0.013,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.008,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.009,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.007,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.006,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.003,"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.121,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.056,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.06,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.067,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.006,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.007,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.004,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.118,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcFasterTest::testPrice":0.26,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":1.497,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.007,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":2.289,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":1.349,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":1.198,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.032,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.316,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.325,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.318,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.006,"PSC\\Library\\Calc\\Tests\\Json\\FromJsonTest::testFromJson":0.021,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.007,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.012,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.012,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.013,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":0.021,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":0.009,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.176,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.17,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.294,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.02,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":0.978}}
\ No newline at end of file
+{"version":1,"defects":[],"times":{"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.018,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.024,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.022,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.025,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial160":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\AA\\CalcTest::testAuflageBelow100AndMaterial250":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":1.273,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.655,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.663,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.007,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.042,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.058,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.062,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.055,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.018,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.015,"PSC\\Library\\Calc\\Tests\\Customer\\V\\CalcTest::testIfDefaultPriceIsOk":0.985,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.007,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.046,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.13,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPrice":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\EE\\CalcTest::testPriceAuflage2":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\II\\CalcTest::testPrice":0.121,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcDefault":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxCalcTest::testCalcZweiseitig20":0.012,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.008,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.009,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.004,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.007,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testRowColumn":0.007,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testTextOption":0.009,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testInputOption":0.007,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Container\\ColumnTest::testSubRowsOption":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceDefault":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice1":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPriceAccountNotExists":0.008,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice123":0.007,"PSC\\Library\\Calc\\Tests\\Contact\\Account\\CalcTest::testPrice334":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\LL\\CalcTest::testChangeDefault":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.039,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.042,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.082,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.087,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testText":0.005,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\HeadlineTest::testHeadLine1Option":0.006,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\HeadlineTest::testHeadLine5Option":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.403,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.011,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\Y\\CalcTest::testPrice":1.394,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\TextTest::testTextOption":0.012,"PSC\\Library\\Calc\\Tests\\CMS\\Type\\Text\\TextTest::testText2Option":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.339,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.299,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.312,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPrice":1.649,"PSC\\Library\\Calc\\Tests\\Customer\\Z\\CalcTest::testPriceProductArt":1.204,"PSC\\Library\\Calc\\Tests\\Calc\\ColorDBTest::testIfOptionsNotValid":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.013,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.013,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceWithout":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPrice":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceCompany":0.006,"PSC\\Library\\Calc\\Tests\\Contact\\AccountType\\CalcTest::testPriceAsso":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testPrice":0.071,"PSC\\Library\\Calc\\Tests\\Customer\\GG\\CalcTest::testColorSelect":0.059,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.095,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.13,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.088,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.186,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.157,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.011,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPrice":2.235,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper":1.187,"PSC\\Library\\Calc\\Tests\\Customer\\DD\\CalcTest::testPricePaper1":1.201,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.133,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPattern":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testPlaceHolder":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat1":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat2":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\BB\\CalcTest::testFormat3":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcFasterTest::testPrice":0.248,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\U\\CalcTest::testIfDefaultPriceIsOk":0.005,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.007,"PSC\\Library\\Calc\\Tests\\Json\\FromJsonTest::testFromJson":0.023,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.007,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.008,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.039,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.316,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.314,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.31,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.304,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzen":0.005,"PSC\\Library\\Calc\\Tests\\Type\\Text\\CalcTest::testTextGrenzenChanges":0.005,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.005,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.388,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPrice":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceExpress":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\FF\\CalcTest::testPriceFlexo":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testDefault":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\KK\\CalcTest::testCalcValue":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.019,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenze":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\X\\CalcTest::testIfPaperDbGrenzeVal3":0.005,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.006,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.003,"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.002,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.171,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.189,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectFalse":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectBinden":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\CC\\CalcTest::testContainerSelectIgnoreDefaultBinden":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testPrice":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\HH\\CalcTest::testDefaultSelectValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\JJ\\CalcTest::testPrice":0.25,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\W\\CalcTest::testMvWestpomPriceIsOk":0.014,"PSC\\Library\\Calc\\Tests\\Json\\FromXmlToJsonAndBackTest::testConvertComplexCalcBackAndForth":0.011,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.011,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.011,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.005,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.012,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModePantoneReturnsCorrectOpt":0.018,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithColorModeReturnsCorrectOpt":0.008}}
\ No newline at end of file
diff --git a/src/Engine.php b/src/Engine.php
index cf07b35..7b57673 100644
--- a/src/Engine.php
+++ b/src/Engine.php
@@ -488,9 +488,9 @@ class Engine
/**
* @return Article
*/
- public function getArticle()
+ public function getArticle($shouldCalc = true)
{
- if($this->dirty) {
+ if($this->dirty && $shouldCalc) {
$this->calc();
}
return $this->article;
@@ -670,10 +670,10 @@ class Engine
{
$tmp = ['artikel' => array_merge([
- 'name' => $this->getArticle()->getName(),
- 'uuid' => $this->getArticle()->getUUID(),
+ 'name' => $this->getArticleByName()->getName(),
+ 'uuid' => $this->getArticleByName()->getUUID(),
'kommentar' => ''
- ], $this->getArticle()->generateXML())];
+ ], $this->getArticleByName()->generateXML())];
return ArrayToXml::convert($tmp, 'kalkulation');
}
@@ -682,9 +682,9 @@ class Engine
{
$obj = new \stdClass();
- $obj->uuid = $this->getArticle()->getUUID();
- $obj->name = $this->getArticle()->getName();
- $obj->options = $this->getArticle()->generateJson();
+ $obj->uuid = $this->getArticleByName(false)->getUUID();
+ $obj->name = $this->getArticleByName(false)->getName();
+ $obj->options = $this->getArticleByName(false)->generateJson();
return json_encode([$obj]);
}
diff --git a/src/General/Parser/Edge.php b/src/General/Parser/Edge.php
index e3a5e39..e5d7dbe 100644
--- a/src/General/Parser/Edge.php
+++ b/src/General/Parser/Edge.php
@@ -37,8 +37,45 @@ class Edge
if (isset($this->json['calcValue'])) {
$edge->setCalcValue((string)$this->json['calcValue']);
}
+ if (isset($this->json['calcValue1'])) {
+ $edge->setCalcValue1((string)$this->json['calcValue1']);
+ }
+ if (isset($this->json['calcValue2'])) {
+ $edge->setCalcValue2((string)$this->json['calcValue2']);
+ }
+ if (isset($this->json['calcValue3'])) {
+ $edge->setCalcValue3((string)$this->json['calcValue3']);
+ }
+ if (isset($this->json['calcValue4'])) {
+ $edge->setCalcValue4((string)$this->json['calcValue4']);
+ }
+ if (isset($this->json['calcValue5'])) {
+ $edge->setCalcValue5((string)$this->json['calcValue5']);
+ }
+ if (isset($this->json['calcValue6'])) {
+ $edge->setCalcValue6((string)$this->json['calcValue6']);
+ }
+ if (isset($this->json['calcValue7'])) {
+ $edge->setCalcValue7((string)$this->json['calcValue7']);
+ }
+ if (isset($this->json['calcValue8'])) {
+ $edge->setCalcValue8((string)$this->json['calcValue8']);
+ }
+ if (isset($this->json['calcValue9'])) {
+ $edge->setCalcValue9((string)$this->json['calcValue9']);
+ }
+ if (isset($this->json['calcValue10'])) {
+ $edge->setCalcValue10((string)$this->json['calcValue10']);
+ }
+ if (isset($this->json['flatRate']) && $this->json['flatRate'] != "") {
+ $edge->setPauschale((float)$this->json['flatRate']);
+ }
+ if (isset($this->json['price']) && $this->json['price'] != "") {
+ $edge->setPreis((float)$this->json['price']);
+ }
$this->parseCondition($edge, trim($this->json['value']));
+
if (isset($this->json['dependencys']) && count($this->json['dependencys']) > 0) {
$edgeCollectionContainerParser = new EdgeCollectionContainer();
$edgeCollectionContainerParser->fromJson($this->json['dependencys']);
diff --git a/src/General/Type/Edge.php b/src/General/Type/Edge.php
index c7e9280..e84eea8 100644
--- a/src/General/Type/Edge.php
+++ b/src/General/Type/Edge.php
@@ -394,15 +394,47 @@ class Edge
if($this->pauschale != 0) {
$tmp['pauschale'] = $this->pauschale;
}
-
+ if($this->preis != 0) {
+ $tmp['preis'] = $this->preis;
+ }
if($this->calcValue != "") {
$tmp['calc_value'] = $this->calcValue;
}
+ if($this->calcValue1 != "") {
+ $tmp['calc_value_1'] = $this->calcValue1;
+ }
+ if($this->calcValue2 != "") {
+ $tmp['calc_value_2'] = $this->calcValue2;
+ }
+ if($this->calcValue3 != "") {
+ $tmp['calc_value_3'] = $this->calcValue3;
+ }
+ if($this->calcValue4 != "") {
+ $tmp['calc_value_4'] = $this->calcValue4;
+ }
+ if($this->calcValue5 != "") {
+ $tmp['calc_value_5'] = $this->calcValue5;
+ }
+ if($this->calcValue6 != "") {
+ $tmp['calc_value_6'] = $this->calcValue6;
+ }
+ if($this->calcValue7 != "") {
+ $tmp['calc_value_7'] = $this->calcValue7;
+ }
+ if($this->calcValue8 != "") {
+ $tmp['calc_value_8'] = $this->calcValue8;
+ }
+ if($this->calcValue9 != "") {
+ $tmp['calc_value_9'] = $this->calcValue9;
+ }
+ if($this->calcValue10 != "") {
+ $tmp['calc_value_10'] = $this->calcValue10;
+ }
if($this->edgesCollectionContainer->count() > 0) {
$tmp = [
'_attributes' => array_merge([
- 'value' => $this->from . '-' . ($this->to != 0 ? $this->to : '')
+ 'value' => $this->generateXMLValue()
], $tmp),
];
@@ -415,17 +447,41 @@ class Edge
return [
'_attributes' => $tmp,
- '_value' => $this->from . '-' . ($this->to != 0 ? $this->to : '')
+ '_value' => $this->generateXMLValue()
];
}
+ public function generateXMLValue(): string
+ {
+ if($this->region) {
+ return $this->from . '-' . ($this->to != 0 ? $this->to : '');
+ }elseif(is_array($this->values) && count($this->values) > 1) {
+ return implode(",", $this->values);
+ }elseif(is_array($this->values) && count($this->values) == 1){
+ return $this->values[0];
+ }
+
+ return '';
+ }
+
public function generateJson(): object
{
$obj = new \stdClass();
$obj->calcValue = $this->calcValue;
+ $obj->calcValue1 = $this->calcValue1;
+ $obj->calcValue2 = $this->calcValue2;
+ $obj->calcValue3 = $this->calcValue3;
+ $obj->calcValue4 = $this->calcValue4;
+ $obj->calcValue5 = $this->calcValue5;
+ $obj->calcValue6 = $this->calcValue6;
+ $obj->calcValue7 = $this->calcValue7;
+ $obj->calcValue8 = $this->calcValue8;
+ $obj->calcValue9 = $this->calcValue9;
+ $obj->calcValue10 = $this->calcValue10;
$obj->flatRate = $this->pauschale!=0 ? $this->pauschale : "";
$obj->formula = $this->formel;
+ $obj->price = $this->preis;
if($this->region) {
$obj->value = $this->from . '-' . ($this->to != 0 ? $this->to : '');
}else{
diff --git a/src/General/Type/EdgeCollection.php b/src/General/Type/EdgeCollection.php
index 7339a24..1c44186 100644
--- a/src/General/Type/EdgeCollection.php
+++ b/src/General/Type/EdgeCollection.php
@@ -66,6 +66,12 @@ class EdgeCollection extends \ArrayIterator
return $xml_options;
}];
+ if($this->formel != "") {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'formel' => $this->formel
+ ]]);
+ }
+
return $tmp;
}
}
diff --git a/src/Option/Parser.php b/src/Option/Parser.php
index 32257a1..ebc5e1c 100644
--- a/src/Option/Parser.php
+++ b/src/Option/Parser.php
@@ -28,7 +28,7 @@ class Parser
$obj = new Input();
break;
case 3:
- $obj = new Select();
+ $obj = new Select($mode);
break;
case 4:
$obj = new Text();
diff --git a/src/Option/Parser/Base.php b/src/Option/Parser/Base.php
index 7eaff45..05bd529 100644
--- a/src/Option/Parser/Base.php
+++ b/src/Option/Parser/Base.php
@@ -48,6 +48,12 @@ class Base
if(isset($this->json['required'])) {
$this->element->setRequire($this->json['required']);
}
+ if(isset($this->json['exportAjax'])) {
+ $this->element->setIsAjaxExport($this->json['exportAjax']);
+ }
+ if(isset($this->json['displayOnly'])) {
+ $this->element->setIsDisplayOnly($this->json['displayOnly']);
+ }
return $this->element;
}
diff --git a/src/Option/Parser/Checkbox.php b/src/Option/Parser/Checkbox.php
index 1c2c76b..f0b2767 100644
--- a/src/Option/Parser/Checkbox.php
+++ b/src/Option/Parser/Checkbox.php
@@ -17,6 +17,26 @@ class Checkbox extends Base
$this->element = new \PSC\Library\Calc\Option\Type\Checkbox();
}
+ public function parseJson(): PSCCheckbox
+ {
+ parent::parseJson();
+
+ if(isset($this->json['dependencys']) && count($this->json['dependencys']) > 0) {
+ $edgeCollectionContainerParser = new EdgeCollectionContainer();
+ $edgeCollectionContainerParser->fromJson($this->json['dependencys']);
+ $this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parseJson());
+ }
+
+ foreach ($this->json['options'] as $opt) {
+ $optParser = new Opt();
+ $optParser->fromJson($opt);
+ $this->element->addOption($optParser->parseJson());
+ }
+
+ return $this->element;
+ }
+
+
public function parseXML(): PSCCheckbox
{
parent::parseXML();
@@ -35,8 +55,9 @@ class Checkbox extends Base
private function parseModeNormal()
{
foreach ($this->node->opt as $opt) {
- $optParser = new Opt($opt);
- $this->element->addOption($optParser->parse());
+ $optParser = new Opt();
+ $optParser->fromXML($opt);
+ $this->element->addOption($optParser->parseXML());
}
}
diff --git a/src/Option/Parser/Checkbox/Opt.php b/src/Option/Parser/Checkbox/Opt.php
index f641df1..cdec993 100644
--- a/src/Option/Parser/Checkbox/Opt.php
+++ b/src/Option/Parser/Checkbox/Opt.php
@@ -8,14 +8,40 @@ class Opt
{
protected $element;
private \SimpleXMLElement $node;
+ private array $json;
- public function __construct(\SimpleXMLElement $node)
+ public function __construct()
{
$this->element = new \PSC\Library\Calc\Option\Type\Checkbox\Opt();
+ }
+
+ public function fromJson(array $json): void
+ {
+ $this->json = $json;
+ }
+
+ public function fromXML(\SimpleXMLElement $node): void
+ {
$this->node = $node;
}
- public function parse()
+ public function parseJson()
+ {
+ $this->element->setId((string)$this->json['id']);
+ $this->element->setLabel((string)$this->json['name']);
+
+ if(isset($this->json['dependencys']) && count($this->json['dependencys']) > 0) {
+ $edgeCollectionContainerParser = new EdgeCollectionContainer();
+ $edgeCollectionContainerParser->fromJson($this->json['dependencys']);
+ $this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parseJson());
+ }
+
+ return $this->element;
+ }
+
+
+
+ public function parseXML()
{
$this->element->setId((string)$this->node['id']);
$this->element->setLabel((string)$this->node['name']);
diff --git a/src/Option/Parser/Input.php b/src/Option/Parser/Input.php
index 08efcf1..ce34188 100644
--- a/src/Option/Parser/Input.php
+++ b/src/Option/Parser/Input.php
@@ -19,7 +19,13 @@ class Input extends Base
if(isset($this->json['placeHolder'])) {
$this->element->setPlaceHolder((string)$this->json['placeHolder']);
}
+ if(isset($this->json['minValue'])) {
+ $this->element->setMinValue((int)$this->json['minValue']);
+ }
+ if(isset($this->json['maxValue'])) {
+ $this->element->setMaxValue((int)$this->json['maxValue']);
+ }
if(isset($this->json['dependencys']) && count($this->json['dependencys']) > 0) {
$edgeCollectionContainerParser = new EdgeCollectionContainer();
diff --git a/src/Option/Parser/Select.php b/src/Option/Parser/Select.php
index d7abf45..a3be365 100644
--- a/src/Option/Parser/Select.php
+++ b/src/Option/Parser/Select.php
@@ -135,10 +135,18 @@ class Select extends Base
}
}
+ private function parseModePapierDbJson()
+ {
+ $this->element->setContainer((string)$this->json['container']);
+ }
+
+
private function parseModeColorDbXML(): void
{
$colorSystem = (string)$this->node['container'];
+ $this->element->setContainer($colorSystem);
+
$value = $this->cache->get($colorSystem, function (ItemInterface $item) use ($colorSystem): array {
$item->expiresAfter(3600);
@@ -175,6 +183,11 @@ class Select extends Base
$this->element->addOptions($value);
}
+ private function parseModeColorDbJson(): void
+ {
+ $this->element->setContainer((string)$this->json['container']);
+ }
+
private function parseModeNormalXML()
{
foreach ($this->node->opt as $opt) {
diff --git a/src/Option/Type/Base.php b/src/Option/Type/Base.php
index 3e5e9d6..1b43d6a 100644
--- a/src/Option/Type/Base.php
+++ b/src/Option/Type/Base.php
@@ -345,8 +345,16 @@ class Base
$obj = new \stdClass();
$obj->id = $this->getId();
$obj->name = $this->getName();
- $obj->default = $this->getDefault()?? "";
+ if($this->default !== null) {
+ $obj->default = $this->default;
+ }
$obj->dependencys = [];
+ if($this->isAjaxExport()) {
+ $obj->exportAjax = $this->isAjaxExport();
+ }
+ if($this->isDisplayOnly()) {
+ $obj->displayOnly = $this->isDisplayOnly();
+ }
foreach($this->edgesCollectionContainer as $col) {
$obj->dependencys[] = $col->generateJson();
@@ -360,11 +368,24 @@ class Base
$tmp = [
'_attributes' => [
'id' => $this->getId(),
- 'name' => $this->getName(),
'type' => ucfirst($this->getType()),
]
];
-
+ if($this->name != "") {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'name' => $this->name
+ ]]);
+ }
+ if($this->isDisplayOnly()) {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'displayOnly' => $this->isDisplayOnly()?'1':'0'
+ ]]);
+ }
+ if($this->isAjaxExport()) {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'exportAjax' => $this->isAjaxExport()?'1':'0'
+ ]]);
+ }
foreach($this->edgesCollectionContainer as $col) {
$tmp[$col->getName()] = $col->generateXML();
}
diff --git a/src/Option/Type/Checkbox.php b/src/Option/Type/Checkbox.php
index 081eb99..f1b506a 100644
--- a/src/Option/Type/Checkbox.php
+++ b/src/Option/Type/Checkbox.php
@@ -82,4 +82,20 @@ class Checkbox extends Base
return implode(", ", $tmp);
}
+ public function generateJson(): \stdClass
+ {
+ $obj = parent::generateJson();
+ if($this->isRequire()) {
+ $obj->required = $this->isRequire();
+ }
+ $obj->type = 7;
+ $obj->options = [];
+
+ foreach($this->options as $opt) {
+ $obj->options[] = $opt->generateJson();
+ }
+
+ return $obj;
+ }
+
}
diff --git a/src/Option/Type/ColorDBSelect.php b/src/Option/Type/ColorDBSelect.php
index 431c18c..bd4b4cc 100644
--- a/src/Option/Type/ColorDBSelect.php
+++ b/src/Option/Type/ColorDBSelect.php
@@ -28,5 +28,13 @@ class ColorDBSelect extends Select
return $obj;
}
+ public function generateXML(): array
+ {
+ return array_merge_recursive(
+ parent::generateXML(),
+ ['_attributes' => ['mode' => 'colordb', 'container' => $this->container]]);
+ }
+
+
}
diff --git a/src/Option/Type/Hidden.php b/src/Option/Type/Hidden.php
index 0e32f80..f00d92d 100644
--- a/src/Option/Type/Hidden.php
+++ b/src/Option/Type/Hidden.php
@@ -11,4 +11,20 @@ class Hidden extends Base
$obj->type = 1;
return $obj;
}
+
+ public function generateXML(): array
+ {
+ if($this->getDefault() == "") {
+ return parent::generateXML();
+ }
+
+ return array_merge_recursive([
+ '_attributes' => [
+ 'default' => $this->getDefault(),
+ ]
+ ]
+ , parent::generateXML());
+ }
+
+
}
diff --git a/src/Option/Type/Input.php b/src/Option/Type/Input.php
index 419468b..36a034e 100644
--- a/src/Option/Type/Input.php
+++ b/src/Option/Type/Input.php
@@ -55,14 +55,33 @@ class Input extends Base
public function generateXML(): array
{
- return array_merge_recursive([
- '_attributes' => [
- 'placeholder' => $this->getPlaceHolder(),
- 'default' => $this->getDefault(),
- 'require' => $this->isRequire()?'true':'false',
- ]
- ]
- , parent::generateXML());
+ $tmp = [];
+
+ if($this->getPlaceHolder() != "") {
+ $tmp['_attributes'] = [
+ 'placeholder' => $this->getPlaceHolder()
+ ];
+ }
+ if($this->getMinValue() !== null) {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'min' => $this->getMinValue()
+ ]]);
+ }
+ if($this->getMaxValue() !== null) {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'max' => $this->getMaxValue()
+ ]]);
+ }
+
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'default' => $this->getDefault()
+ ]]);
+ if($this->isRequire()) {
+ $tmp = array_merge_recursive($tmp, ['_attributes' => [
+ 'require' => 'true'
+ ]]);
+ }
+ return array_merge_recursive($tmp, parent::generateXML());
}
public function generateJson(): \stdClass
@@ -70,6 +89,12 @@ class Input extends Base
$obj = parent::generateJson();
$obj->placeHolder = $this->placeHolder;
$obj->required = $this->isRequire();
+ if($this->getMinValue() !== NULL) {
+ $obj->minValue = $this->getMinValue();
+ }
+ if($this->getMaxValue() !== null) {
+ $obj->maxValue = $this->getMaxValue();
+ }
$obj->type = 2;
return $obj;
}
diff --git a/src/Option/Type/PaperDbSelect.php b/src/Option/Type/PaperDbSelect.php
index dc731a8..ad09efc 100644
--- a/src/Option/Type/PaperDbSelect.php
+++ b/src/Option/Type/PaperDbSelect.php
@@ -174,10 +174,18 @@ class PaperDbSelect extends Select
$this->newPaperObject = $newPaperObject;
}
+ public function generateXML(): array
+ {
+ return array_merge_recursive(
+ parent::generateXML(),
+ ['_attributes' => ['mode' => 'papierdb', 'container' => $this->container]]);
+ }
+
+
public function generateJson(): \stdClass
{
$obj = parent::generateJson();
- $obj->mode = 'paperdb';
+ $obj->mode = 'papierdb';
$obj->container = $this->container;
return $obj;
diff --git a/src/Option/Type/Textarea.php b/src/Option/Type/Textarea.php
index d4c6844..0422e80 100644
--- a/src/Option/Type/Textarea.php
+++ b/src/Option/Type/Textarea.php
@@ -6,4 +6,12 @@ class Textarea extends Base
public $type = 'textarea';
-}
\ No newline at end of file
+ public function generateJson(): \stdClass
+ {
+ $obj = parent::generateJson();
+ $obj->type = 5;
+ return $obj;
+ }
+
+
+}
diff --git a/src/Parser.php b/src/Parser.php
index 7936b79..115ae0b 100644
--- a/src/Parser.php
+++ b/src/Parser.php
@@ -29,7 +29,7 @@ class Parser
{
$optionParser = new \PSC\Library\Calc\Option\Parser($this->paperContainer, $this->paperRepository, $this->templates);
$this->article = new Article($json['name'], $json['uuid']?? null);
-
+
foreach ($json['options'] as $option) {
$obj = $optionParser->getOptByJsonType($option['type'], $option['mode']?? null);
if($obj) {
diff --git a/test.json b/test.json
deleted file mode 100644
index 91a7cf7..0000000
--- a/test.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"uuid":"","name":"Plakate","options":[{"id":"ecoprint","name":"","default":"","dependencys":[],"type":4},{"id":"auflage","name":"Auflage","default":"100","dependencys":[],"type":3,"options":[{"id":"5","name":"5 Exemplare","dependencys":[]},{"id":"10","name":"10 Exemplare","dependencys":[]},{"id":"25","name":"25 Exemplare","dependencys":[]},{"id":"50","name":"50 Exemplare","dependencys":[]},{"id":"100","name":"100 Exemplare","dependencys":[]},{"id":"200","name":"200 Exemplare","dependencys":[]},{"id":"300","name":"300 Exemplare","dependencys":[]},{"id":"400","name":"400 Exemplare","dependencys":[]},{"id":"500","name":"500 Exemplare","dependencys":[]},{"id":"750","name":"750 Exemplare","dependencys":[]},{"id":"1000","name":"1.000 Exemplare","dependencys":[]},{"id":"1500","name":"1.500 Exemplare","dependencys":[]},{"id":"2000","name":"2.000 Exemplare","dependencys":[]},{"id":"3000","name":"3.000 Exemplare","dependencys":[]},{"id":"5000","name":"5.000 Exemplare","dependencys":[]},{"id":"7500","name":"7.500 Exemplare","dependencys":[]},{"id":"10000","name":"10.000 Exemplare","dependencys":[]},{"id":"12500","name":"12.500 Exemplare","dependencys":[]},{"id":"15000","name":"15.000 Exemplare","dependencys":[]},{"id":"20000","name":"20.000 Exemplare","dependencys":[]},{"id":"30000","name":"30.000 Exemplare","dependencys":[]},{"id":"40000","name":"40.000 Exemplare","dependencys":[]},{"id":"50000","name":"50.000 Exemplare","dependencys":[]},{"id":"100000","name":"100.000 Exemplare","dependencys":[]}],"mode":"normal"},{"id":"format1","name":"Format","default":"11","dependencys":[],"type":3,"options":[{"id":"9","name":"DIN A3 Hochformat (297 x 420 mm)","dependencys":[]},{"id":"10","name":"DIN A3 Querformat (420 x 297 mm)","dependencys":[]},{"id":"11","name":"DIN A2 Hochformat (420 x 594 mm)","dependencys":[]},{"id":"12","name":"DIN A2 Querformat (594 x 420 mm)","dependencys":[]},{"id":"13","name":"DIN A1 Hochformat (594 x 840 mm)","dependencys":[]},{"id":"14","name":"DIN A1 Querformat (840 x 594 mm)","dependencys":[]},{"id":"15","name":"Hochformat 700 x 1000 mm","dependencys":[]},{"id":"16","name":"Querformat 1000 x 700 mm)","dependencys":[]}],"mode":"normal"},{"id":"seitenzahl","name":"Seitenzahl","default":"2","dependencys":[],"type":1},{"id":"druckfarben_inhalt","name":"Farbigkeit","default":"1","dependencys":[],"type":3,"options":[{"id":"1","name":"4\/0 Euroskala (einseitig)","dependencys":[]},{"id":"2","name":"4\/4 Euroskala (beidseitig)","dependencys":[]}],"mode":"normal"},{"id":"papier","name":"Papiersorte","default":"grasnatur85","dependencys":[],"type":3,"options":[],"mode":"paperdb","container":"grasbriefbogen"},{"id":"dateiformat_geliefert","name":"Druckdaten","default":"1","dependencys":[],"type":3,"options":[{"id":"1","name":"PDF-Datei (Standard)","dependencys":[]}],"mode":"normal"},{"id":"korrekturabzug","name":"Korrekturabzug","default":"1","dependencys":[],"type":3,"options":[{"id":"1","name":"per PDF (Standard)","dependencys":[]},{"id":"2","name":"per Laserproof","dependencys":[]},{"id":"3","name":"kein Korrekturabzug","dependencys":[]}],"mode":"normal"},{"id":"absender","name":"Absenderadresse","default":"1","dependencys":[],"type":3,"options":[{"id":"1","name":"Die Grasdruckerei","dependencys":[]},{"id":"2","name":"Neutralversand","dependencys":[]}],"mode":"normal"},{"id":"belegexemplar","name":"Belegexemplar","default":"1","dependencys":[],"type":3,"options":[{"id":"1","name":"Nein","dependencys":[]},{"id":"2","name":"Ja","dependencys":[]}],"mode":"normal"},{"id":"produktionszeit","name":"Produktionszeit","default":"2","dependencys":[],"type":3,"options":[{"id":"1","name":"Green (14 Tage)","dependencys":[]},{"id":"2","name":"Normal (7 Tage)","dependencys":[]},{"id":"3","name":"Express nach R\u00fccksprache","dependencys":[]}],"mode":"normal"},{"id":"breite","name":"Seitenbreite Einzelseite","default":"1","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"105","flatRate":"","formula":"","value":"1,3","dependencys":[]},{"calcValue":"148","flatRate":"","formula":"","value":"4,5","dependencys":[]},{"calcValue":"210","flatRate":"","formula":"","value":"2,6,7","dependencys":[]},{"calcValue":"297","flatRate":"","formula":"","value":"8,9","dependencys":[]},{"calcValue":"420","flatRate":"","formula":"","value":"10,11,12","dependencys":[]},{"calcValue":"594","flatRate":"","formula":"","value":"13","dependencys":[]},{"calcValue":"840","flatRate":"","formula":"","value":"14","dependencys":[]},{"calcValue":"700","flatRate":"","formula":"","value":"15,16","dependencys":[]}]}],"type":1},{"id":"breite_offen","name":"Breite offenes Format","default":"1","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"105","flatRate":"","formula":"","value":"1,3","dependencys":[]},{"calcValue":"148","flatRate":"","formula":"","value":"4,5","dependencys":[]},{"calcValue":"210","flatRate":"","formula":"","value":"2,6,7","dependencys":[]},{"calcValue":"297","flatRate":"","formula":"","value":"8,9","dependencys":[]},{"calcValue":"420","flatRate":"","formula":"","value":"10","dependencys":[]},{"calcValue":"594","flatRate":"","formula":"","value":"11,12,13","dependencys":[]},{"calcValue":"840","flatRate":"","formula":"","value":"14","dependencys":[]},{"calcValue":"700","flatRate":"","formula":"","value":"15,16","dependencys":[]}]}],"type":1},{"id":"hoehe_offen","name":"seitenhoehe","default":"1","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"105","flatRate":"","formula":"","value":"2,4","dependencys":[]},{"calcValue":"148","flatRate":"","formula":"","value":"3,6","dependencys":[]},{"calcValue":"210","flatRate":"","formula":"","value":"1,5,8","dependencys":[]},{"calcValue":"297","flatRate":"","formula":"","value":"7,10","dependencys":[]},{"calcValue":"420","flatRate":"","formula":"","value":"9,11,12","dependencys":[]},{"calcValue":"594","flatRate":"","formula":"","value":"14","dependencys":[]},{"calcValue":"840","flatRate":"","formula":"","value":"13","dependencys":[]},{"calcValue":"1000","flatRate":"","formula":"","value":"15,16","dependencys":[]}]}],"type":1},{"id":"nutzen_sm52","name":"Nutzen SM52","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"(max((floor(320\/($CVbreite_offen_format1$CV)))*(floor(470\/$CVhoehe_offen_format1$CV)),(floor(470\/($CVbreite_offen_format1$CV)))*(floor(320\/$CVhoehe_offen_format1$CV))))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"nutzen_sm102","name":"Nutzen SM102","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"(max((floor(720\/($CVbreite_offen_format1$CV)))*(floor(1020\/$CVhoehe_offen_format1$CV)),(floor(1020\/($CVbreite_offen_format1$CV)))*(floor(720\/$CVhoehe_offen_format1$CV))))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"nutzen_final","name":"Nutzen final","default":"1","dependencys":[{"relation":"auflage","formula":"$CVnutzen_sm52_auflage$CV","borders":[{"calcValue":"$CVnutzen_sm102_auflage$CV","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$CVnutzen_sm52_auflage$CV","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_av","name":"Arbeitsvorbereitung","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"$Pav_stundensatz$P*$Pav_flyer_zeit$P","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_dtp","name":"DTP","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"$Pdtp_stundensatz$P*$Pdtp_flyer_zeit$P","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_farbe","name":"farbe","default":"1","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"$Ffarbe_a4$F","flatRate":"","formula":"","value":"7,8","dependencys":[]},{"calcValue":"$Ffarbe_a5$F","flatRate":"","formula":"","value":"5,6","dependencys":[]},{"calcValue":"$Ffarbe_a6$F","flatRate":"","formula":"","value":"3,4","dependencys":[]},{"calcValue":"$Ffarbe_dl$F","flatRate":"","formula":"","value":"1,2","dependencys":[]},{"calcValue":"$Ffarbe_a3$F","flatRate":"","formula":"","value":"9,10","dependencys":[]},{"calcValue":"$Ffarbe_a2$F","flatRate":"","formula":"","value":"11,12","dependencys":[]},{"calcValue":"$Ffarbe_a1$F","flatRate":"","formula":"","value":"13,14","dependencys":[]},{"calcValue":"$Ffarbe_3b$F","flatRate":"","formula":"","value":"15,16","dependencys":[]}]}],"type":1},{"id":"fixkosten_falzen","name":"Fixkosten Falzen","default":"1","dependencys":[{"relation":"seitenzahl","formula":"","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"2","dependencys":[]},{"calcValue":"($Pfalzen_ruesten$P*$Pfalzen_horizon$P\/60)","flatRate":"","formula":"","value":"4","dependencys":[]},{"calcValue":"($Pfalzen_ruesten$P*$Pfalzen_horizon$P\/60)+($Pzus_falzbrueche$P)","flatRate":"","formula":"","value":"6","dependencys":[]},{"calcValue":"($Pfalzen_ruesten$P*$Pfalzen_horizon$P\/60)+(2*$Pzus_falzbrueche$P)","flatRate":"","formula":"","value":"8","dependencys":[]},{"calcValue":"($Pfalzen_ruesten$P*$Pfalzen_horizon$P\/60)+(3*$Pzus_falzbrueche$P)","flatRate":"","formula":"","value":"10","dependencys":[]}]}],"type":1},{"id":"fortlaufgeschwindigkeit_falzen","name":"fortlaufgeschwindigkeit_falzen","default":"1","dependencys":[{"relation":"papier_grammatur","formula":"","borders":[{"calcValue":"$Pfalzen_speed$P","flatRate":"","formula":"","value":"1-169","dependencys":[]},{"calcValue":"$Pfalzen_speed_mit_nuten$P","flatRate":"","formula":"","value":"170-500","dependencys":[]}]}],"type":1},{"id":"kosten_fortlauf_falzen","name":"kosten_fortlauf_falzen","default":"1","dependencys":[{"relation":"auflage","formula":"$Vseitenzahl$V > 2","borders":[{"calcValue":"($Pfalzen_horizon$P\/60)*(60\/$CVfortlaufgeschwindigkeit_falzen_papier_grammatur$CV*$Vauflage$V)","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"($Pfalzen_horizon$P\/60)*(60\/$CVfortlaufgeschwindigkeit_falzen_papier_grammatur$CV*$Vauflage$V)","flatRate":"","formula":"","value":"1","dependencys":[]}]}],"type":1},{"id":"fixkosten_nuten_seitenzahl","name":"Fixkosten Nuten \u00fcber Seitenzahl","default":"1","dependencys":[{"relation":"seitenzahl","formula":"","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"2","dependencys":[]},{"calcValue":"($Pnuten_ruesten$P*$Pfalzen_horizon$P\/60)","flatRate":"","formula":"","value":"4","dependencys":[]},{"calcValue":"($Pnuten_ruesten$P*$Pfalzen_horizon$P\/60)+($Pzus_nutlinien$P)","flatRate":"","formula":"","value":"6","dependencys":[]},{"calcValue":"($Pnuten_ruesten$P*$Pfalzen_horizon$P\/60)+(2*$Pzus_nutlinien$P)","flatRate":"","formula":"","value":"8","dependencys":[]},{"calcValue":"($Pnuten_ruesten$P*$Pfalzen_horizon$P\/60)+(3*$Pzus_nutlinien$P)","flatRate":"","formula":"","value":"10","dependencys":[]}]}],"type":1},{"id":"fixkosten_nuten","name":"Fixkosten Nuten","default":"1","dependencys":[{"relation":"papier_grammatur","formula":"","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"1-169","dependencys":[]},{"calcValue":"($CVfixkosten_nuten_seitenzahl_seitenzahl$CV)","flatRate":"","formula":"","value":"170-","dependencys":[]}]}],"type":1},{"id":"kosten_ruesten_schneiden","name":"kosten_ruesten_schneiden","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"$Pschneidemaschine$P\/60*$Pschneiden_ruesten$P","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"stapelhoehe","name":"stapelhoehe","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"$CVanzahl_druckbogen_auflage$CV*$Vpapier_grammatur$V*$Vpapier_volume$V\/1000","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"anzahl_huebe","name":"Anzahl H\u00fcbe","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"(ceil($CVstapelhoehe_auflage$CV\/$Phubhoehe$P))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"schndeiden_fortlauf_a3","name":"Anzahl Schnitte","default":"1","dependencys":[{"relation":"nutzen_final","formula":"$CVnutzen_sm52_auflage$CV","borders":[{"calcValue":"round(($Pschneidemaschine$P\/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+4),2)","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"round(($Pschneidemaschine$P\/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+5),2)","flatRate":"","formula":"","value":"1","dependencys":[]},{"calcValue":"round(($Pschneidemaschine$P\/$Pschnitte_pro_stunde$P)*($CVnutzen_final_auflage$CV+4),2)","flatRate":"","formula":"","value":"2-","dependencys":[]}]}],"type":1},{"id":"anzahl_druckbogen","name":"anzahl_druckbogen","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"($Vauflage$V\/$CVnutzen_final_auflage$CV)","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_papier","name":"kosten_papier","default":"1","dependencys":[{"relation":"breite_offen","formula":"($CVbreite_offen_format1$CV > 465)","borders":[{"calcValue":"round((($Ppapierbreite_a3$P*$Ppapierhoehe_a3$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a3$P)*$Vpapier_grammatur$V)\/1000000000)*($Vpapier_value$V+$Pzuschlag_vorschneiden$P)\/100,2)","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"round((($Ppapierbreite_a2$P*$Ppapierhoehe_a2$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a2$P)*$Vpapier_grammatur$V)\/1000000000)*($Vpapier_value$V)\/100,2)","flatRate":"","formula":"","value":"1","dependencys":[]}]}],"type":1},{"id":"anzahl_platten","name":"Anzahl Platten","default":"1","dependencys":[{"relation":"druckfarben_inhalt","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"","value":"1","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"4","flatRate":"","formula":"","value":"9-16","dependencys":[]}]}]},{"calcValue":"","flatRate":"","formula":"","value":"2","dependencys":[{"relation":"format1","formula":"","borders":[{"calcValue":"8","flatRate":"","formula":"","value":"9,10","dependencys":[]},{"calcValue":"4","flatRate":"","formula":"","value":"11,12","dependencys":[]},{"calcValue":"8","flatRate":"","formula":"","value":"13,14","dependencys":[]},{"calcValue":"8","flatRate":"","formula":"","value":"15,16","dependencys":[]}]}]}]}],"type":1},{"id":"kosten_platten_sm52","name":"Kosten Druckplatten 52","default":"1","dependencys":[{"relation":"auflage","formula":"$CVanzahl_druckbogen_auflage$CV > 500 && $CVbreite_offen_format1$CV < 465","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm52$P+$Pruesten_sm52$P)","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_platten_sm102","name":"Kosten Druckplatten 102","default":"1","dependencys":[{"relation":"auflage","formula":"$CVbreite_offen_format1$CV > 465","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"($CVanzahl_platten_druckfarben_inhalt$CV*($Pplatten_sm102$P+$Pruesten_sm102$P))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_fortdruck_sm52","name":"kosten_fortdruck_sm52","default":"1","dependencys":[{"relation":"auflage","formula":"$CVanzahl_druckbogen_auflage$CV > 500 && $CVbreite_offen_format1$CV < 465","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$Pstundensatz_sm52$P\/60*(60\/$Psm52_speed$P*(($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a3$P)*$Vdruckfarben_inhalt$V))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_fortdruck_sm102","name":"kosten_fortdruck_sm102","default":"1","dependencys":[{"relation":"auflage","formula":"$CVbreite_offen_format1$CV > 465","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$Pstundensatz_sm102_extern$P\/60*(60\/$Psm102_fremd_speed$P*(($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_a2$P)*$Vdruckfarben_inhalt$V))","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"klickkosten_digitaldruck","name":"Kosten Druckplatten","default":"1","dependencys":[{"relation":"auflage","formula":"$CVanzahl_druckbogen_auflage$CV < 501 && $CVbreite_offen_format1$CV < 465","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$Pklickkosten_4c$P*($CVanzahl_druckbogen_auflage$CV+$Pzuschuss_digital$P)*$Vdruckfarben_inhalt$V","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_trockenzeit_auflage","name":"kosten_trockenzeit_auflage","default":"1","dependencys":[{"relation":"druckverfahren","formula":"$CVanzahl_druckbogen_auflage$CV > 500 && $CVanzahl_druckbogen_auflage$CV < 1001","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$Pstundensatz_sm52$P*$Ptrockenzeit_flyer$P\/60","flatRate":"","formula":"","value":"1","dependencys":[]}]}],"type":1},{"id":"kosten_trockenzeit_format","name":"kosten_trockenzeit_format","default":"1","dependencys":[{"relation":"druckverfahren","formula":"$CVbreite_offen_format1$CV > 465 && $CVanzahl_druckbogen_auflage$CV < 1001","borders":[{"calcValue":"0","flatRate":"","formula":"","value":"0","dependencys":[]},{"calcValue":"$Pstundensatz_sm102_extern$P*$Ptrockenzeit_flyer$P\/60","flatRate":"","formula":"","value":"1","dependencys":[]}]}],"type":1},{"id":"kosten_korrekturabzug","name":"kosten_korrekturabzug","default":"1","dependencys":[{"relation":"korrekturabzug","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"0","value":"1,3","dependencys":[]},{"calcValue":"","flatRate":"","formula":"$Plaserproof$P","value":"2","dependencys":[]}]}],"type":1},{"id":"kosten_belegexemplar","name":"kosten_belegexemplar","default":"1","dependencys":[{"relation":"belegexemplar","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"0","value":"1","dependencys":[]},{"calcValue":"","flatRate":"","formula":"$Pbelegexemplar$P","value":"2","dependencys":[]}]}],"type":1},{"id":"produktionszeit_faktor","name":"produktionszeit_faktor","default":"1","dependencys":[{"relation":"produktionszeit","formula":"","borders":[{"calcValue":"$Poeko_faktor$P","flatRate":"","formula":"","value":"1","dependencys":[]},{"calcValue":"1","flatRate":"","formula":"","value":"2","dependencys":[]},{"calcValue":"$Pexpress_faktor$P","flatRate":"","formula":"","value":"3","dependencys":[]}]}],"type":1},{"id":"kosten_produktion_material","name":"kosten_produktion_material","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"($CVkosten_farbe_format1$CV)+($CVkosten_papier_breite_offen$CV)+($CVkosten_platten_sm52_auflage$CV)+($CVkosten_platten_sm102_auflage$CV)+($CVklickkosten_digitaldruck_auflage$CV)","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_produktion_wertschoepfung","name":"kosten_produktion_wertschoepfung","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"(($CVfixkosten_falzen_seitenzahl$CV)+($CVkosten_fortlauf_falzen_auflage$CV)+($CVfixkosten_nuten_papier_grammatur$CV)+($CVkosten_ruesten_schneiden_auflage$CV)+($CVschndeiden_fortlauf_a3_nutzen_final$CV)+($CVkosten_fortdruck_sm52_auflage$CV)+($CVkosten_fortdruck_sm102_auflage$CV)+($CVkosten_trockenzeit_auflage_druckverfahren$CV)+($CVkosten_trockenzeit_format_druckverfahren$CV))*($CVproduktionszeit_faktor_produktionszeit$CV)","value":"1-","dependencys":[]}]}],"type":1},{"id":"weight_produkte","name":"weight","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"$CVbreite_format1$CV*$CVhoehe_offen_format1$CV\/1000000*$Vauflage$V*$Vpapier_grammatur$V","flatRate":"","formula":"","value":"1-","dependencys":[]}]}],"type":1},{"id":"kosten_und_anzahl_verpackungen","name":"kosten_und_anzahl_verpackungen","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"(ceil($CVweight_produkte_auflage$CV\/$Pverpackungsgewichtsbasis$P\/1000))*$Pverpackungsmaterial$P","value":"1-","dependencys":[]}]}],"type":1},{"id":"weight","name":"weight","default":"1","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","flatRate":"","formula":"$CVbreite_offen_format1$CV*$CVhoehe_offen_format1$CV\/$Vdruckfarben_inhalt$V\/1000000*$Vauflage$V*$Vpapier_grammatur$V","value":"1-","dependencys":[]}]}],"type":1}]}]
\ No newline at end of file
diff --git a/test.xml b/test.xml
deleted file mode 100644
index 38a9e9e..0000000
--- a/test.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/Customer/JJ/calc.xml b/tests/Customer/JJ/calc.xml
index 0300975..04163aa 100644
--- a/tests/Customer/JJ/calc.xml
+++ b/tests/Customer/JJ/calc.xml
@@ -96,7 +96,7 @@
-
+
-
+
diff --git a/tests/Json/FromXmlToJsonAndBackTest.php b/tests/Json/FromXmlToJsonAndBackTest.php
new file mode 100644
index 0000000..723b2a3
--- /dev/null
+++ b/tests/Json/FromXmlToJsonAndBackTest.php
@@ -0,0 +1,31 @@
+loadString(file_get_contents(__DIR__.'/from1.xml')));
+
+ $tempXML = tempnam(sys_get_temp_dir(), 'calc');
+ $tempJson = tempnam(sys_get_temp_dir(), 'calc');
+
+ file_put_contents($tempJson, $engine1->generateJson());
+ $engine2 = new Engine();
+ self::assertTrue($engine2->loadJson(file_get_contents($tempJson)));
+
+ file_put_contents($tempXML, $engine2->generateXML());
+
+ self::assertXmlFileEqualsXmlFile(__DIR__ .'/from1.xml', $tempXML);
+
+ @unlink($tempXML);
+ @unlink($tempJson);
+ }
+}
diff --git a/tests/Json/from.json b/tests/Json/from.json
index 61edaaa..7a80898 100644
--- a/tests/Json/from.json
+++ b/tests/Json/from.json
@@ -1 +1 @@
-[{"uuid":"df2df718-b28e-482d-bf0c-67d246f05d32","name":"Test Artikel","options":[{"id":"auflage","type":2,"dependencys":[],"placeHolder":"Placeholder","default":"100","name":"Auflage","required":false},{"id":"seiten_umschlag","type":2,"dependencys":[],"placeHolder":"Placeholder","default":"2","name":"Seiten Umschlag","required":false},{"id":"seiten_anzahl_inhalt","type":2,"dependencys":[{"formula":"","relation":"auflage","borders":[{"formula":"$Vauflage$V*0.12","calcValue":"","flatRate":"","value":"1-10","dependencys":[{"formula":"","relation":"seiten_umschlag","borders":[{"formula":"$Vseiten_umschlag$V*0.24","calcValue":"","flatRate":"","value":"1-2","dependencys":[]},{"formula":"$Vseiten_umschlag$V*0.23","calcValue":"","flatRate":"","value":"3-","dependencys":[]}]}]},{"formula":"$Vauflage$V*0.11","calcValue":"","flatRate":"","value":"11-","dependencys":[{"formula":"","relation":"seiten_umschlag","borders":[{"formula":"$Vseiten_umschlag$V*0.21","calcValue":"","flatRate":"","value":"1-2","dependencys":[]},{"formula":"$Vseiten_umschlag$V*0.20","calcValue":"","flatRate":"","value":"3-","dependencys":[]}]}]}]}],"placeHolder":"Placeholder","default":"10","name":"Seiten Anzahl Inhalt","required":true},{"id":"farbigkeit","mode":"normal","type":3,"dependencys":[],"default":"10","options":[{"id":"10","name":"1/0 farbig","dependencys":[{"formula":"","relation":"auflage","borders":[{"formula":"","calcValue":"","flatRate":"","value":"1-101","dependencys":[]}]}]},{"id":"11","name":"1/1 farbig","dependencys":[]},{"id":"20","name":"2/0 farbig","dependencys":[]},{"id":"21","name":"2/1 farbig","dependencys":[]},{"id":"22","name":"2/2 farbig","dependencys":[{"formula":"","relation":"auflage","borders":[{"formula":"","calcValue":"","flatRate":"","value":"11-50","dependencys":[]}]}]}],"name":"Farbigkeit"},{"id":"calc","type":1,"dependencys":[{"formula":"","relation":"auflage","borders":[{"formula":"$Vauflage$V*$Vseiten_anzahl_inhalt$V","calcValue":"","flatRate":"","value":"1-","dependencys":[]}]}],"default":"","name":"calc"}]}]
+[{"uuid":"df2df718-b28e-482d-bf0c-67d246f05d32","name":"Test Artikel","options":[{"id":"auflage","name":"Auflage","default":"100","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_umschlag","name":"Seiten Umschlag","default":"2","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_anzahl_inhalt","name":"Seiten Anzahl Inhalt","default":"10","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.12","price":0,"value":"1-10","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.24","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.23","price":0,"value":"3-","dependencys":[]}]}]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.11","price":0,"value":"11-","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.21","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.20","price":0,"value":"3-","dependencys":[]}]}]}]}],"placeHolder":"Placeholder","required":true,"type":2},{"id":"farbigkeit","name":"Farbigkeit","default":"10","dependencys":[],"type":3,"options":[{"id":"10","name":"1\/0 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"1-101","dependencys":[]}]}]},{"id":"11","name":"1\/1 farbig","dependencys":[]},{"id":"20","name":"2\/0 farbig","dependencys":[]},{"id":"21","name":"2\/1 farbig","dependencys":[]},{"id":"22","name":"2\/2 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"11-50","dependencys":[]}]}]}],"mode":"normal"},{"id":"calc","name":"calc","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*$Vseiten_anzahl_inhalt$V","price":0,"value":"1-","dependencys":[]}]}],"type":1}]}]
\ No newline at end of file
diff --git a/tests/Json/from.xml b/tests/Json/from.xml
index 953289d..24ca40f 100644
--- a/tests/Json/from.xml
+++ b/tests/Json/from.xml
@@ -5,9 +5,10 @@
df2df718-b28e-482d-bf0c-67d246f05d32
-
+
+
+
-
diff --git a/tests/Json/from1.xml b/tests/Json/from1.xml
new file mode 100644
index 0000000..27ce7b9
--- /dev/null
+++ b/tests/Json/from1.xml
@@ -0,0 +1,68 @@
+
+
+
+ Test Artikel
+ df2df718-b28e-482d-bf0c-67d246f05d32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 80
+ 96
+ 112
+ 128
+ 144
+ 160
+ 176
+ 192
+ 208
+ 224
+ 240
+ 256
+ 272
+ 288
+ 304
+ 320
+ 336
+ 352
+ 368
+ 384
+ 400
+ 416
+ 432
+ 448
+ 464
+ 480
+ 496
+ 512
+ 528
+ 544
+ 560
+ 576
+ 592
+ 608
+ 624
+ 640
+
+
+
+
+
+
+
+
+
+
+
+