version 0.3.12
[fms.git] / src / http / pages / homepage.cpp
index 37d8dc6..d74a30e 100644 (file)
@@ -30,11 +30,54 @@ const std::string HomePage::GeneratePage(const std::string &method, const std::m
        content+="<b>FMS version ";\r
        content+=FMS_VERSION;\r
        content+="</b><br>";\r
-       content+="Check for new versions at the <a href=\"http://"+fcphost+":"+fproxyport+"/USK@0npnMrqZNKRCRoGojZV93UNHCMN-6UU3rRSAmP6jNLE,~BG-edFtdCC1cSH4O3BWdeIYa8Sw5DfyrSV-TKdO5ec,AQACAAE/fms/58/\">FMS Freesite</a><br>";\r
+\r
+       bool showgenericupdate=true;\r
+       SQLite3DB::Statement st=m_db->Prepare("SELECT Major, Minor, Release, PageKey FROM tblFMSVersion ORDER BY Major DESC, Minor DESC, Release DESC LIMIT 1;");\r
+       st.Step();\r
+       if(st.RowReturned())\r
+       {\r
+               int major=0;\r
+               int minor=0;\r
+               int release=0;\r
+               int currentmajor=0;\r
+               int currentminor=0;\r
+               int currentrelease=0;\r
+               std::string freesite="";\r
+               std::string majorstr="";\r
+               std::string minorstr="";\r
+               std::string releasestr="";\r
+\r
+               StringFunctions::Convert(VERSION_MAJOR,currentmajor);\r
+               StringFunctions::Convert(VERSION_MINOR,currentminor);\r
+               StringFunctions::Convert(VERSION_RELEASE,currentrelease);\r
+\r
+               st.ResultInt(0,major);\r
+               st.ResultInt(1,minor);\r
+               st.ResultInt(2,release);\r
+               st.ResultText(3,freesite);\r
+\r
+               StringFunctions::Convert(major,majorstr);\r
+               StringFunctions::Convert(minor,minorstr);\r
+               StringFunctions::Convert(release,releasestr);\r
+\r
+               if(currentmajor<major || (currentmajor==major && currentminor<minor) || (currentmajor==major && currentminor==minor && currentrelease<release))\r
+               {\r
+                       content+="<b>You are running an old version of FMS.  Please update here: <a href=\"http://"+fcphost+":"+fproxyport+"/"+freesite+"\">FMS "+majorstr+"."+minorstr+"."+releasestr+"</a></b><br>";\r
+                       content+="You can see the release info <a href=\"versioninfo.htm?Major="+majorstr+"&Minor="+minorstr+"&Release="+releasestr+"\">here</a><br>";\r
+                       showgenericupdate=false;\r
+               }\r
+\r
+       }\r
+\r
+       if(showgenericupdate)\r
+       {\r
+               content+="Check for new versions at the <a href=\"http://"+fcphost+":"+fproxyport+"/USK@0npnMrqZNKRCRoGojZV93UNHCMN-6UU3rRSAmP6jNLE,~BG-edFtdCC1cSH4O3BWdeIYa8Sw5DfyrSV-TKdO5ec,AQACAAE/fms/71/\">FMS Freesite</a><br>";\r
+       }\r
+\r
        content+="Use these pages to administer your FMS installation.";\r
        content+="</p>";\r
 \r
-       SQLite3DB::Statement st=m_db->Prepare("SELECT COUNT(*) FROM tblMessageInserts WHERE Inserted='false';");\r
+       st=m_db->Prepare("SELECT COUNT(*) FROM tblMessageInserts WHERE Inserted='false';");\r
        st.Step();\r
        if(st.RowReturned())\r
        {\r