aboutsummaryrefslogtreecommitdiffstats
path: root/core/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/functions.php')
-rw-r--r--core/functions.php90
1 files changed, 60 insertions, 30 deletions
diff --git a/core/functions.php b/core/functions.php
index 15a5318..2155d96 100644
--- a/core/functions.php
+++ b/core/functions.php
@@ -101,10 +101,6 @@ 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);
@@ -163,11 +159,7 @@ function generateCategoryDataTree(array $category_data, $root = 0): array {
function parseEntityContent(EntityInterface $Entity): string {
$text = $Entity->get('body');
- $FunctionParser = new FunctionParser;
- $FunctionParser->registerFromArray(
- Application::getContentFunctions()
- );
-
+ $FunctionParser = new FunctionParser();
$text = $FunctionParser->transform($text);
if(Application::get('WRAP_EMOTICONS')) {
@@ -379,33 +371,71 @@ function USER(int $id): array {
}
#===========================================================================
-# Register (BAS|FIL)E_URL content functions
+# Get base URL (optionally extended by $extend)
#===========================================================================
-Application::addContentFunction('BASE_URL',
-function($extend = '') {
+FunctionParser::register('BASE_URL', function($extend = '') {
return Application::getURL($extend);
});
-Application::addContentFunction('FILE_URL',
-function($extend = '') {
+#===========================================================================
+# Get file URL (optionally extended by $extend)
+#===========================================================================
+FunctionParser::register('FILE_URL', function($extend = '') {
return Application::getFileURL($extend);
});
#===========================================================================
-# Register (CATEGORY|PAGE|POST|USER)(_URL)? content functions
+# Get Markdown formatted *category* link
#===========================================================================
-foreach(['CATEGORY', 'PAGE', 'POST', 'USER'] as $function) {
- $entity = ucfirst(strtolower($function));
-
- // Get Markdown formatted entity link
- Application::addContentFunction($function,
- function($id, $text = NULL, $title = NULL) use($entity) {
- return getEntityMarkdownLink($entity, $id, $text, $title);
- });
-
- // Get URL to entity
- Application::addContentFunction(sprintf('%s_URL', $function),
- function($id) use($entity) {
- return getEntityURL($entity, $id);
- });
-}
+FunctionParser::register('CATEGORY', function($id, $text = NULL, $title = NULL) {
+ return getEntityMarkdownLink('Category', $id, $text, $title);
+});
+
+#===========================================================================
+# Get Markdown formatted *page* link
+#===========================================================================
+FunctionParser::register('PAGE', function($id, $text = NULL, $title = NULL) {
+ return getEntityMarkdownLink('Page', $id, $text, $title);
+});
+
+#===========================================================================
+# Get Markdown formatted *post* link
+#===========================================================================
+FunctionParser::register('POST', function($id, $text = NULL, $title = NULL) {
+ return getEntityMarkdownLink('Post', $id, $text, $title);
+});
+
+#===========================================================================
+# Get Markdown formatted *user* link
+#===========================================================================
+FunctionParser::register('USER', function($id, $text = NULL, $title = NULL) {
+ return getEntityMarkdownLink('User', $id, $text, $title);
+});
+
+#===========================================================================
+# Get URL to a category entity
+#===========================================================================
+FunctionParser::register('CATEGORY_URL', function($id) {
+ return getEntityURL('Category', $id);
+});
+
+#===========================================================================
+# Get URL to a page entity
+#===========================================================================
+FunctionParser::register('PAGE_URL', function($id) {
+ return getEntityURL('Page', $id);
+});
+
+#===========================================================================
+# Get URL to a post entity
+#===========================================================================
+FunctionParser::register('POST_URL', function($id) {
+ return getEntityURL('Post', $id);
+});
+
+#===========================================================================
+# Get URL to a user entity
+#===========================================================================
+FunctionParser::register('USER_URL', function($id) {
+ return getEntityURL('User', $id);
+});