summaryrefslogtreecommitdiff
path: root/project2/cgi
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2012-02-17 19:44:04 +0000
committerrandomdan <randomdan@localhost>2012-02-17 19:44:04 +0000
commit2fef4cd9ce9ce3402ca78e49265f9bac61de9f0f (patch)
treebb21c00cb04fcb7cbb2e67aebf7c347f2dbb8e25 /project2/cgi
parentTurn script values inside out to avoid throwing internally (diff)
downloadproject2-2fef4cd9ce9ce3402ca78e49265f9bac61de9f0f.tar.bz2
project2-2fef4cd9ce9ce3402ca78e49265f9bac61de9f0f.tar.xz
project2-2fef4cd9ce9ce3402ca78e49265f9bac61de9f0f.zip
Finer control over output to presenters, addresses issues with JSON output and makes some other bits more sensible
Tweaks to XSLT as some things have moved
Diffstat (limited to 'project2/cgi')
-rw-r--r--project2/cgi/cgiAppEngine.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/project2/cgi/cgiAppEngine.cpp b/project2/cgi/cgiAppEngine.cpp
index d062d87..be42af9 100644
--- a/project2/cgi/cgiAppEngine.cpp
+++ b/project2/cgi/cgiAppEngine.cpp
@@ -196,11 +196,11 @@ CgiApplicationEngine::addEnvData(const MultiRowSetPresenter * p, OutputOptionsPt
// URL elements
p->addNewRowSet("uriElems", env()->scriptNamespacePrefix);
p->addAttribute("full", _env->getRedirectURL());
+ p->addNewArray("uriElem", true);
BOOST_FOREACH(std::string s, _env->elems) {
- p->addNewRow("uriElem");
- p->addAttribute("text", s);
- p->finishRow();
+ p->addNamedValue("uriElem", s);
}
+ p->finishArray(true);
p->finishRowSet();
}
@@ -208,10 +208,7 @@ CgiApplicationEngine::addEnvData(const MultiRowSetPresenter * p, OutputOptionsPt
// Parameters
p->addNewRowSet("params", env()->scriptNamespacePrefix);
BOOST_FOREACH(cgicc::FormEntry fe, _env->cgi->getElements()) {
- p->addNewRow("param");
- p->addAttribute("name", fe.getName());
- p->addAttribute("value", fe.getValue());
- p->finishRow();
+ p->addNamedValue(fe.getName(), fe.getValue());
}
p->finishRowSet();
}
@@ -220,10 +217,7 @@ CgiApplicationEngine::addEnvData(const MultiRowSetPresenter * p, OutputOptionsPt
void
CgiApplicationEngine::addVarToPresenter(const MultiRowSetPresenter * p, const Glib::ustring & name, const VariableType & value) const
{
- p->addNewRow("var");
- p->addAttribute("name", name);
- p->addAttribute("value", value);
- p->finishRow();
+ p->addNamedValue(name, value);
}
void