Commit
commit 5d55cbb8f0efe95d9b34be88cde95662aa7a1a8a Author: Jan DankertDate: Wed May 25 22:47:17 2022 +0200 New: DSL (domain specific language) for code elements. The old way with PHP code ist not sandboxed and unsecure. This approach is a minimalistic, javascript-like, scripting engine. For now only simple function calls are possible, for example: alert("example"); .../action/element/ElementAdvancedAction.class.php | 8 + modules/cms/generator/ValueGenerator.class.php | 68 ++++--- modules/cms/generator/dsl/DslAlert.class.php | 14 ++ modules/cms/generator/dsl/DslConsole.class.php | 31 ++++ modules/cms/generator/dsl/DslDocument.class.php | 12 ++ modules/cms/model/Element.class.php | 2 +- modules/dsl/DslAstParser.class.php | 28 +++ modules/dsl/DslLexer.class.php | 196 +++++++++++++++++++++ modules/dsl/DslToken.class.php | 45 +++++ modules/dsl/ast/DslAssignment.class.php | 49 ++++++ modules/dsl/ast/DslElement.class.php | 8 + modules/dsl/ast/DslExpression.class.php | 48 +++++ modules/dsl/ast/DslFor.class.php | 16 ++ modules/dsl/ast/DslFunction.class.php | 26 +++ modules/dsl/ast/DslFunctionCall.class.php | 26 +++ modules/dsl/ast/DslIf.class.php | 16 ++ modules/dsl/ast/DslInitialisation.class.php | 16 ++ modules/dsl/ast/DslReturn.class.php | 16 ++ modules/dsl/ast/DslStatement.class.php | 13 ++ modules/dsl/ast/DslStatementList.class.php | 91 ++++++++++ modules/dsl/context/DslFunction.class.php | 7 + modules/dsl/context/DslObject.class.php | 8 + modules/dsl/executor/DslExecutor.class.php | 33 ++++ modules/language/Language_CN.class.php | 5 +- modules/language/Language_DE.class.php | 5 +- modules/language/Language_EN.class.php | 5 +- modules/language/Language_ES.class.php | 5 +- modules/language/Language_FR.class.php | 5 +- modules/language/Language_IT.class.php | 5 +- modules/language/Language_RU.class.php | 5 +- modules/language/Messages.class.php | 3 + modules/language/language.yml | 14 +- 32 files changed, 795 insertions(+), 34 deletions(-)