Skip to content

Commit 788f923

Browse files
committed
FormMacros: added CompileException: Modifiers are not allowed here
1 parent b6e395c commit 788f923

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/Bridges/FormsLatte/FormMacros.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ public static function install(Latte\Compiler $compiler)
4848
*/
4949
public function macroForm(MacroNode $node, PhpWriter $writer)
5050
{
51+
if ($node->modifiers) {
52+
throw new CompileException('Modifiers are not allowed here.');
53+
}
5154
if ($node->prefix) {
5255
throw new CompileException('Did you mean <form n:name=...> ?');
5356
}
@@ -69,6 +72,9 @@ public function macroForm(MacroNode $node, PhpWriter $writer)
6972
*/
7073
public function macroFormContainer(MacroNode $node, PhpWriter $writer)
7174
{
75+
if ($node->modifiers) {
76+
throw new CompileException('Modifiers are not allowed here.');
77+
}
7278
$name = $node->tokenizer->fetchWord();
7379
if ($name === FALSE) {
7480
throw new CompileException("Missing name in {{$node->name}}.");
@@ -85,6 +91,9 @@ public function macroFormContainer(MacroNode $node, PhpWriter $writer)
8591
*/
8692
public function macroLabel(MacroNode $node, PhpWriter $writer)
8793
{
94+
if ($node->modifiers) {
95+
throw new CompileException('Modifiers are not allowed here.');
96+
}
8897
$words = $node->tokenizer->fetchWords();
8998
if (!$words) {
9099
throw new CompileException("Missing name in {{$node->name}}.");
@@ -117,6 +126,9 @@ public function macroLabelEnd(MacroNode $node, PhpWriter $writer)
117126
*/
118127
public function macroInput(MacroNode $node, PhpWriter $writer)
119128
{
129+
if ($node->modifiers) {
130+
throw new CompileException('Modifiers are not allowed here.');
131+
}
120132
$words = $node->tokenizer->fetchWords();
121133
if (!$words) {
122134
throw new CompileException("Missing name in {{$node->name}}.");
@@ -204,6 +216,9 @@ public function macroNameEnd(MacroNode $node, PhpWriter $writer)
204216
*/
205217
public function macroInputError(MacroNode $node, PhpWriter $writer)
206218
{
219+
if ($node->modifiers) {
220+
throw new CompileException('Modifiers are not allowed here.');
221+
}
207222
$name = $node->tokenizer->fetchWord();
208223
if (!$name) {
209224
return $writer->write('echo %escape($_input->getError())');

0 commit comments

Comments
 (0)