void Database::writeToCategoryFile(const std::string& filename, const std::string& title, StoragePtr to_write) { std::ofstream out(filename.c_str()); if (out.is_open()) { out << ConfigurationFindscholarships::instance()->categoryPart1() << std::endl; out << "<title>Findscholarships: " << title << "</title>" << std::endl; out << ConfigurationFindscholarships::instance()->categoryPart2() << std::endl; out << "<div><center><h2>" << title << "</h2></center></div>" << std::endl; out << ConfigurationFindscholarships::instance()->categoryPart3() << std::endl; std::string list_new = ""; std::string list_old = ""; for (Storage::const_iterator it = to_write->begin(); it != to_write->end(); ++it) { const DatePtr deadline = it->first; const DataEntry& data = it->second; const Title& title = data.getTitle(); if (data.isNew()) { list_new = "<p>" + list_new + title.getHtmlLink(deadline) + "<img src=\"images/new_icon.gif\"></p>\n\n"; } else { list_old = "<p>" + list_old + title.getHtmlLink(deadline) + "</p>\n\n"; } } out << list_new << list_old << std::endl; out << ConfigurationFindscholarships::instance()->categoryPart4() << std::endl; out.close(); } else { DBGERR(__FUNCTION__ << ": Cannot write to category file \"" << filename << "\"!") } }