X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fhttp%2Fpages%2Fversioninfopage.cpp;h=13b88bab5e7fb2e4e0404f76d82ca51380c674e1;hp=670e9da1a8b4b325f9f4fb1bc1be04e5e0934e34;hb=221236a4d3aac4144529d418ce368db5c98facb0;hpb=d5c9f7e6c1dd263dfc85a3cb5941a378a5ddd923 diff --git a/src/http/pages/versioninfopage.cpp b/src/http/pages/versioninfopage.cpp index 670e9da..13b88ba 100644 --- a/src/http/pages/versioninfopage.cpp +++ b/src/http/pages/versioninfopage.cpp @@ -4,59 +4,71 @@ #include +#ifdef XMEM + #include +#endif + const std::string VersionInfoPage::GeneratePage(const std::string &method, const std::map &queryvars) { std::string content=""; + bool hascriteria=false; std::string major=VERSION_MAJOR; std::string minor=VERSION_MINOR; std::string release=VERSION_RELEASE; + std::string sql=""; if(queryvars.find("Major")!=queryvars.end()) { major=(*queryvars.find("Major")).second; + hascriteria=true; } if(queryvars.find("Minor")!=queryvars.end()) { minor=(*queryvars.find("Minor")).second; + hascriteria=true; } if(queryvars.find("Release")!=queryvars.end()) { release=(*queryvars.find("Release")).second; + hascriteria=true; } - SQLite3DB::Statement st=m_db->Prepare("SELECT Notes, Changes FROM tblFMSVersion WHERE Major=? AND Minor=? AND Release=?;"); - st.Bind(0,major); - st.Bind(1,minor); - st.Bind(2,release); + sql="SELECT Notes, Changes, Major, Minor, Release FROM tblFMSVersion "; + if(hascriteria==true) + { + sql+="WHERE Major=? AND Minor=? AND Release=? "; + } + sql+="ORDER BY Major DESC, Minor DESC, Release DESC;"; + SQLite3DB::Statement st=m_db->Prepare(sql); + if(hascriteria==true) + { + st.Bind(0,major); + st.Bind(1,minor); + st.Bind(2,release); + } st.Step(); - if(st.RowReturned()) + while(st.RowReturned()) { std::string notes=""; std::string changes=""; st.ResultText(0,notes); st.ResultText(1,changes); + st.ResultText(2,major); + st.ResultText(3,minor); + st.ResultText(4,release); + content+="
"; content+="

Release "+major+"."+minor+"."+release+"

"; content+="

Notes

"; content+=StringFunctions::Replace(notes,"\n","
"); content+="

Changes

"; content+=StringFunctions::Replace(changes,"\n","
"); + content+="
"; + st.Step(); } return StringFunctions::Replace(m_template,"[CONTENT]",content); } - -const bool VersionInfoPage::WillHandleURI(const std::string &uri) -{ - if(uri.find("versioninfo.")!=std::string::npos) - { - return true; - } - else - { - return false; - } -}