#include <fmt/chrono.h>
#include "biawebstrings.hpp"
#include "biawebdocument.hpp"
+#include "biawebtemplate.hpp"
// to implement a list of items (documents) with creation/modified date/time display
namespace biaweb {
}
// output to HTML vide the template
- std::string to_html (std::string templatedir);
+ std::string to_html (Template *t);
};
// output to HTML vide the template
- std::string DocListItem::to_html (std::string templatedir) {
- std::ifstream templ (templatedir + "/doclistitem.tpl.html");
- std::string templstr ((std::istreambuf_iterator<char> (templ)),
- (std::istreambuf_iterator<char> ()) );
- templ.close ();
-
+ std::string DocListItem::to_html (Template *t) {
+ std::string templstr = t->get_doclistitem_tpl ();
std::tm c, m;
c = *std::localtime (&this->ctime);
m = *std::localtime (&this->mtime);
this->items.insert (this->items.cend(), docitem);
}
// render to HTML from a template
- std::string to_html (std::string templatedir);
+ std::string to_html (Template *t);
};
- std::string DocList::to_html (std::string templatedir) {
- std::ifstream templ (templatedir + "/doclist.tpl.html");
- std::string templstr ( (std::istreambuf_iterator<char> (templ) ),
- (std::istreambuf_iterator<char> ()));
-
- templ.close ();
+ std::string DocList::to_html (Template *t) {
+ std::string templstr = t->get_doclist_tpl ();
std::string outputhtml = "";
// if the number of elements is non zero
if (this->items.size () != 0) {
std::string docitems = "";
for (DocListItem item : this->items)
- docitems += item.to_html (templatedir);
+ docitems += item.to_html (t);
outputhtml = fmt::format (templstr,
fmt::arg ("title", this->title),