diff options
Diffstat (limited to 'lib/Menu.cc')
-rw-r--r-- | lib/Menu.cc | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/Menu.cc b/lib/Menu.cc index 7488d1d..f804cef 100644 --- a/lib/Menu.cc +++ b/lib/Menu.cc @@ -1,24 +1,31 @@ #include "Menu.h" #include "HttpServ.h" +#include "CopyJob.h" +#include "Buffer.h" +#include "config.h" Menu::Menu(const String & t, const String & U, String * ts, Action ** as, int nb) : Action(U), tit(t), lt(ts), la(as), nba(nb) { } -void Menu::Do(Variables * v, Handle * h) { +Task * Menu::Do(Variables * v, Handle * h) { int i, f = 0; + Handle * b = new Buffer(); + Task * t = new CopyJob(b, h, -1, true); - SendHead(h); - (*h) << "<center><TABLE BORDER=0>" << endnl; + SendHead(b); + (*b) << "<center><TABLE BORDER=0>" << endnl; for (i = 0; i < nba; i++) { - (*h) << "<TR BGCOLOR=\"#" << (f ? "dddddd" : "cccccc") << "\"><TD ALIGN=\"center\">" << (i + 1) << "</TD><TD>" + (*b) << "<TR BGCOLOR=\"#" << (f ? "dddddd" : "cccccc") << "\"><TD ALIGN=\"center\">" << (i + 1) << "</TD><TD>" "<A HREF=\"/bin/" << (la[i] ? la[i]->GetURL() : "start") << "\">" << lt[i] << "</A></TD></TR>" << endnl; f = f ? 0 : 1; } - (*h) << "</TABLE></center>" << endnl; - SendFoot(h); + (*b) << "</TABLE></center>" << endnl; + SendFoot(b); Accessed(); + + return t; } String Menu::GetTitle(void) { |