summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
Diffstat (limited to 'framework')
-rw-r--r--framework/Exceptions/messages.txt1
-rw-r--r--framework/Web/UI/TTemplateManager.php4
2 files changed, 5 insertions, 0 deletions
diff --git a/framework/Exceptions/messages.txt b/framework/Exceptions/messages.txt
index d0c1a7be..d258a70d 100644
--- a/framework/Exceptions/messages.txt
+++ b/framework/Exceptions/messages.txt
@@ -105,6 +105,7 @@ template_component_required = '%s' is not a component. Only components can ap
template_format_invalid = Error in %s (line %d) : %s
template_format_invalid2 = Error at line %d of the following template: %s %s
template_eventhandler_invalid = An invalid event handler is attached to %s's event '%s'.
+template_property_duplicated = Property %s is configured twice or more.
xmldocument_file_read_failed = TXmlDocument is unable to read file '%s'.
xmldocument_file_write_failed = TXmlDocument is unable to write file '%s'.
diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php
index 59d15698..4c71de51 100644
--- a/framework/Web/UI/TTemplateManager.php
+++ b/framework/Web/UI/TTemplateManager.php
@@ -568,6 +568,8 @@ class TTemplate extends TComponent implements ITemplate
$value=$this->parseAttribute($value);
$type=$tpl[$container][1];
$this->validateAttributes($type,array($prop=>$value));
+ if(isset($tpl[$container][2][$prop]))
+ throw new TConfigurationException('template_property_duplicated',$prop);
$tpl[$container][2][$prop]=$value;
$textStart=$matchEnd+1;
}
@@ -630,6 +632,8 @@ class TTemplate extends TComponent implements ITemplate
{
$match=&$matches[$i];
$name=strtolower($match[1][0]);
+ if(isset($attributes[$name]))
+ throw new TConfigurationException('template_property_duplicated',$name);
$value=$match[2][0];
if(strrpos($name,'template')===strlen($name)-8)
{