\r
#include <string>\r
\r
+#ifdef XMEM\r
+ #include <xmem.h>\r
+#endif\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
+ bool hascriteria=false;\r
std::string major=VERSION_MAJOR;\r
std::string minor=VERSION_MINOR;\r
std::string release=VERSION_RELEASE;\r
+ std::string sql="";\r
\r
if(queryvars.find("Major")!=queryvars.end())\r
{\r
major=(*queryvars.find("Major")).second;\r
+ hascriteria=true;\r
}\r
if(queryvars.find("Minor")!=queryvars.end())\r
{\r
minor=(*queryvars.find("Minor")).second;\r
+ hascriteria=true;\r
}\r
if(queryvars.find("Release")!=queryvars.end())\r
{\r
release=(*queryvars.find("Release")).second;\r
+ hascriteria=true;\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
+ sql="SELECT Notes, Changes, Major, Minor, Release FROM tblFMSVersion ";\r
+ if(hascriteria==true)\r
+ {\r
+ sql+="WHERE Major=? AND Minor=? AND Release=? ";\r
+ }\r
+ sql+="ORDER BY Major DESC, Minor DESC, Release DESC;";\r
+ SQLite3DB::Statement st=m_db->Prepare(sql);\r
+ if(hascriteria==true)\r
+ {\r
+ st.Bind(0,major);\r
+ st.Bind(1,minor);\r
+ st.Bind(2,release);\r
+ }\r
st.Step();\r
\r
- if(st.RowReturned())\r
+ while(st.RowReturned())\r
{\r
std::string notes="";\r
std::string changes="";\r
\r
st.ResultText(0,notes);\r
st.ResultText(1,changes);\r
+ st.ResultText(2,major);\r
+ st.ResultText(3,minor);\r
+ st.ResultText(4,release);\r
\r
+ content+="<div style=\"margin-bottom:20px;\">";\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
+ content+="</div>";\r
+ st.Step();\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