aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2024-11-16 16:40:12 +0100
committerThomas Lange <code@nerdmind.de>2024-11-16 16:53:40 +0100
commit52cb2b8aef3ba86e4abe551a3df9831d347e948e (patch)
tree6b13c35f6e3c039f00be504452ee304638c59b5c /core
parent5e076b70b79ddf7bc6e07122b4646961db280be5 (diff)
downloadblog-52cb2b8aef3ba86e4abe551a3df9831d347e948e.tar.gz
blog-52cb2b8aef3ba86e4abe551a3df9831d347e948e.tar.xz
blog-52cb2b8aef3ba86e4abe551a3df9831d347e948e.zip
Use foreach to register entity content functions
Diffstat (limited to 'core')
-rw-r--r--core/functions.php82
1 files changed, 17 insertions, 65 deletions
diff --git a/core/functions.php b/core/functions.php
index 9202bad..15a5318 100644
--- a/core/functions.php
+++ b/core/functions.php
@@ -379,81 +379,33 @@ function USER(int $id): array {
}
#===========================================================================
-# Get base URL (optionally extended by $extend)
+# Register (BAS|FIL)E_URL content functions
#===========================================================================
Application::addContentFunction('BASE_URL',
function($extend = '') {
return Application::getURL($extend);
});
-#===========================================================================
-# Get file URL (optionally extended by $extend)
-#===========================================================================
Application::addContentFunction('FILE_URL',
function($extend = '') {
return Application::getFileURL($extend);
});
#===========================================================================
-# Get Markdown formatted *category* link
-#===========================================================================
-Application::addContentFunction('CATEGORY',
-function($id, $text = NULL, $title = NULL) {
- return getEntityMarkdownLink('Category', $id, $text, $title);
-});
-
-#===========================================================================
-# Get Markdown formatted *page* link
-#===========================================================================
-Application::addContentFunction('PAGE',
-function($id, $text = NULL, $title = NULL) {
- return getEntityMarkdownLink('Page', $id, $text, $title);
-});
-
-#===========================================================================
-# Get Markdown formatted *post* link
-#===========================================================================
-Application::addContentFunction('POST',
-function($id, $text = NULL, $title = NULL) {
- return getEntityMarkdownLink('Post', $id, $text, $title);
-});
-
-#===========================================================================
-# Get Markdown formatted *user* link
-#===========================================================================
-Application::addContentFunction('USER',
-function($id, $text = NULL, $title = NULL) {
- return getEntityMarkdownLink('User', $id, $text, $title);
-});
-
-#===========================================================================
-# Get URL to a category entity
-#===========================================================================
-Application::addContentFunction('CATEGORY_URL',
-function($id) {
- return getEntityURL('Category', $id);
-});
-
-#===========================================================================
-# Get URL to a page entity
-#===========================================================================
-Application::addContentFunction('PAGE_URL',
-function($id) {
- return getEntityURL('Page', $id);
-});
-
-#===========================================================================
-# Get URL to a post entity
-#===========================================================================
-Application::addContentFunction('POST_URL',
-function($id) {
- return getEntityURL('Post', $id);
-});
-
-#===========================================================================
-# Get URL to a user entity
+# Register (CATEGORY|PAGE|POST|USER)(_URL)? content functions
#===========================================================================
-Application::addContentFunction('USER_URL',
-function($id) {
- return getEntityURL('User', $id);
-});
+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);
+ });
+}