summaryrefslogtreecommitdiff
path: root/modules/extra/webcpanel/template_fileserver.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-12-12 01:30:50 -0500
committerAdam <Adam@anope.org>2012-12-12 01:30:50 -0500
commit04f96a54b8387c1362e6695a13dd0dd71ce0a347 (patch)
tree34174d64dbb161654252807fead2f82751cc00a0 /modules/extra/webcpanel/template_fileserver.cpp
parent5f72d1fda5e297990aee7e0be805df0a734ca87d (diff)
Some small improvements to last few commits, and fixed some problems with the template engine
Diffstat (limited to 'modules/extra/webcpanel/template_fileserver.cpp')
-rw-r--r--modules/extra/webcpanel/template_fileserver.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/extra/webcpanel/template_fileserver.cpp b/modules/extra/webcpanel/template_fileserver.cpp
index cf7094e39..ca2ff034f 100644
--- a/modules/extra/webcpanel/template_fileserver.cpp
+++ b/modules/extra/webcpanel/template_fileserver.cpp
@@ -137,10 +137,14 @@ void TemplateFileServer::Serve(HTTPProvider *server, const Anope::string &page_n
if (second.empty())
second = tokens[3];
- IfStack.push(first == second);
+ bool stackok = IfStack.empty() || IfStack.top();
+ IfStack.push(stackok && first == second);
}
else if (tokens.size() == 3 && tokens[1] == "EXISTS")
- IfStack.push(r.count(tokens[2]) > 0);
+ {
+ bool stackok = IfStack.empty() || IfStack.top();
+ IfStack.push(stackok && r.count(tokens[2]) > 0);
+ }
else
Log() << "Invalid IF in web template " << this->file_name;
}
@@ -152,7 +156,8 @@ void TemplateFileServer::Serve(HTTPProvider *server, const Anope::string &page_n
{
bool old = IfStack.top();
IfStack.pop(); // Pop off previous if()
- IfStack.push(!old); // Push back the opposite of what was popped
+ bool stackok = IfStack.empty() || IfStack.top();
+ IfStack.push(stackok && !old); // Push back the opposite of what was popped
}
}
else if (content == "END IF")