Browse Source

Handle widgets with empty values

Nathaniel van Diepen 6 years ago
parent
commit
2bc3d79722
1 changed files with 3 additions and 2 deletions
  1. 3 2
      Data/template.class.php

+ 3 - 2
Data/template.class.php

@@ -50,7 +50,7 @@
 			'eval'=>'/\{\?([\W\w\S\s]+)\?\}/i',
 			'include'=>'/{#include ([^}]+)}/i',
 			'define'=>'/\{#define ([^}]*)\}([\S\s]*)\{\/define \1\}/i',
-			'widget'=>'/{#widget ([^ }]+)(?: ((?:[^=}]+=[^}&]+)*))?}/i'
+			'widget'=>'/{#widget ([^ }]+)(?: ((?:[^=}]+=[^}&]*)*))?}/i'
 		];
 		protected static $parsers;
 		private $template;
@@ -104,7 +104,8 @@
 									foreach(explode('&', $matches[2]) as $chunk){
 										$param = explode('=', $chunk);
 										if($param){
-											$args[urldecode($param[0])] = urldecode($param[1]);
+											$val = $param[1] ?? "";
+											$args[urldecode($param[0])] = urldecode($val);
 										}
 									}
 									$widget = "<?php \$widget_parent[] = \$data; \$data = array_merge(json_decode(json_encode(\$data), true), json_decode(base64_decode(".var_export(base64_encode(json_encode($args)), true)."), true)); ?>";