diff options
author | Thomas Lange <code@nerdmind.de> | 2024-11-15 16:41:11 +0100 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2024-11-15 17:10:11 +0100 |
commit | 5e076b70b79ddf7bc6e07122b4646961db280be5 (patch) | |
tree | 33d2a85bac6252db35913e42bfd9879925aaef6c /core/functions.php | |
parent | eb773b95f08dc79df1acad96296a92a9c71d48f1 (diff) | |
download | blog-5e076b70b79ddf7bc6e07122b4646961db280be5.tar.gz blog-5e076b70b79ddf7bc6e07122b4646961db280be5.tar.xz blog-5e076b70b79ddf7bc6e07122b4646961db280be5.zip |
FunctionParser: No static property/methods anymore
Problem: When creating a new "FunctionParser" object, it should not know
the previously registered content functions which were saved in a static
class property and registered via static class method.
If one creates a new "FunctionParser" object, one would expect that the
array of registered content functions in that object is empty.
Changes:
- Make static property "functions" non-static
- Make static method "register" non-static
- Add new method "registerFromArray"
Diffstat (limited to 'core/functions.php')
-rw-r--r-- | core/functions.php | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/functions.php b/core/functions.php index d4337a4..9202bad 100644 --- a/core/functions.php +++ b/core/functions.php @@ -101,6 +101,10 @@ function generateItemTemplateData(EntityInterface $Entity): array { $FunctionParser = new FunctionParser; $MarkdownParser = new MarkdownParser; + $FunctionParser->registerFromArray( + Application::getContentFunctions() + ); + $attribute = $Entity->getAll(['password']); $attribute = array_change_key_case($attribute, CASE_UPPER); @@ -159,7 +163,11 @@ function generateCategoryDataTree(array $category_data, $root = 0): array { function parseEntityContent(EntityInterface $Entity): string { $text = $Entity->get('body'); - $FunctionParser = new FunctionParser(); + $FunctionParser = new FunctionParser; + $FunctionParser->registerFromArray( + Application::getContentFunctions() + ); + $text = $FunctionParser->transform($text); if(Application::get('WRAP_EMOTICONS')) { |