+#include "../../../include/http/pages/versioninfopage.h"\r
+#include "../../../include/global.h"\r
+#include "../../../include/stringfunctions.h"\r
+\r
+#include <string>\r
+\r
+const std::string VersionInfoPage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)\r
+{\r
+ std::string content="";\r
+\r
+ std::string major=VERSION_MAJOR;\r
+ std::string minor=VERSION_MINOR;\r
+ std::string release=VERSION_RELEASE;\r
+\r
+ if(queryvars.find("Major")!=queryvars.end())\r
+ {\r
+ major=(*queryvars.find("Major")).second;\r
+ }\r
+ if(queryvars.find("Minor")!=queryvars.end())\r
+ {\r
+ minor=(*queryvars.find("Minor")).second;\r
+ }\r
+ if(queryvars.find("Release")!=queryvars.end())\r
+ {\r
+ release=(*queryvars.find("Release")).second;\r
+ }\r
+\r
+ SQLite3DB::Statement st=m_db->Prepare("SELECT Notes, Changes FROM tblFMSVersion WHERE Major=? AND Minor=? AND Release=?;");\r
+ st.Bind(0,major);\r
+ st.Bind(1,minor);\r
+ st.Bind(2,release);\r
+ st.Step();\r
+\r
+ if(st.RowReturned())\r
+ {\r
+ std::string notes="";\r
+ std::string changes="";\r
+\r
+ st.ResultText(0,notes);\r
+ st.ResultText(1,changes);\r
+\r
+ content+="<h2>Release "+major+"."+minor+"."+release+"</h2>";\r
+ content+="<h3>Notes</h3>";\r
+ content+=StringFunctions::Replace(notes,"\n","<br>");\r
+ content+="<h3>Changes</h3>";\r
+ content+=StringFunctions::Replace(changes,"\n","<br>");\r
+ }\r
+\r
+ return StringFunctions::Replace(m_template,"[CONTENT]",content);\r
+}\r
+\r
+const bool VersionInfoPage::WillHandleURI(const std::string &uri)\r
+{\r
+ if(uri.find("versioninfo.")!=std::string::npos)\r
+ {\r
+ return true;\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+}\r