aboutsummaryrefslogtreecommitdiffstats
path: root/core/functions.php
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2024-11-15 16:41:11 +0100
committerThomas Lange <code@nerdmind.de>2024-11-15 17:10:11 +0100
commit5e076b70b79ddf7bc6e07122b4646961db280be5 (patch)
tree33d2a85bac6252db35913e42bfd9879925aaef6c /core/functions.php
parenteb773b95f08dc79df1acad96296a92a9c71d48f1 (diff)
downloadblog-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.php10
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')) {