aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-04-29 01:09:30 +0200
committerThomas Lange <code@nerdmind.de>2017-04-29 01:13:32 +0200
commit9626fb5c6a4d7451e88aa7bd7fa91306d3f3f1ea (patch)
treefd3a488d2f910781ef172b5447f3a476cdf0379e /core
parent07eaab716f894b7668fd2aea6c3cbe81036efdf2 (diff)
downloadblog-9626fb5c6a4d7451e88aa7bd7fa91306d3f3f1ea.tar.gz
blog-9626fb5c6a4d7451e88aa7bd7fa91306d3f3f1ea.tar.xz
blog-9626fb5c6a4d7451e88aa7bd7fa91306d3f3f1ea.zip
Two changes have been made in this commit:
+ The method "Item::getArguments" has been optimized and checks now the syntax of the argument names (only A-Z, a-z, 0-9 and underscores are allowed). + The admin template has been changed and displays now the used arguments of an item within the list.
Diffstat (limited to 'core')
-rw-r--r--core/namespace/Item.php9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/namespace/Item.php b/core/namespace/Item.php
index 426dd2a..f1a0988 100644
--- a/core/namespace/Item.php
+++ b/core/namespace/Item.php
@@ -106,11 +106,14 @@ abstract class Item implements ItemInterface {
#===============================================================================
public function getArguments(): array {
if($argv = $this->Attribute->get('argv')) {
- foreach(explode('|', rtrim($argv, '|')) as $delimeter) {
+ foreach(explode('|', $argv) as $delimeter) {
$part = explode('=', $delimeter);
- if(!empty($part[0])) {
- $arguments[strtoupper($part[0])] = $part[1] ?? TRUE;
+ $argumentK = $part[0] ?? NULL;
+ $argumentV = $part[1] ?? TRUE;
+
+ if(preg_match('#^[[:word:]]+$#', $argumentK)) {
+ $arguments[strtoupper($argumentK)] = $argumentV;
}
}
}