version 0.3.29
[fms.git] / src / http / pages / homepage.cpp
index fc60f78..15cf76e 100644 (file)
 const std::string HomePage::GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)\r
 {\r
 \r
+       Option option(m_db);\r
+\r
        std::string messagecountstr="";\r
        std::string filecountstr="";\r
        std::string fcphost="127.0.0.1";\r
        std::string fproxyport="8888";\r
 \r
-       Option::Instance()->Get("FCPHost",fcphost);\r
-       Option::Instance()->Get("FProxyPort",fproxyport);\r
+       option.Get("FCPHost",fcphost);\r
+       option.Get("FProxyPort",fproxyport);\r
 \r
-       if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="shutdown")\r
+       if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="shutdown" && ValidateFormPassword(queryvars))\r
        {\r
                m_log->trace("HomePage::GeneratePage requested shutdown");\r
                ((FMSApp *)&FMSApp::instance())->Terminate();\r
@@ -36,30 +38,46 @@ const std::string HomePage::GeneratePage(const std::string &method, const std::m
        st.Step();\r
        if(st.RowReturned())\r
        {\r
-               std::string currentmajor=VERSION_MAJOR;\r
-               std::string currentminor=VERSION_MINOR;\r
-               std::string currentrelease=VERSION_RELEASE;\r
-               std::string major="";\r
-               std::string minor="";\r
-               std::string release="";\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
-               st.ResultText(0,major);\r
-               st.ResultText(1,minor);\r
-               st.ResultText(2,release);\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 "+major+"."+minor+"."+release+"</a></b><br>";\r
-                       content+="You can see the release info <a href=\"versioninfo.htm?Major="+major+"&Minor="+minor+"&Release="+release+"\">here</a><br>";\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
+               else\r
+               {\r
+                       content+="<a href=\"versioninfo.htm\">Release info</a><br>";\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/69/\">FMS Freesite</a><br>";\r
+               content+="Check for new versions at the <a href=\"http://"+fcphost+":"+fproxyport+"/"+FMS_FREESITE_USK+"\">FMS Freesite</a><br>";\r
        }\r
 \r
        content+="Use these pages to administer your FMS installation.";\r
@@ -71,7 +89,12 @@ const std::string HomePage::GeneratePage(const std::string &method, const std::m
        {\r
                st.ResultText(0,messagecountstr);\r
        }\r
-       content+="Messages waiting to be inserted:"+messagecountstr+"<br>";\r
+       content+="Messages waiting to be inserted:"+messagecountstr;\r
+       if (messagecountstr!="0") //show link to message page\r
+       {\r
+               content+=" (<a href=\"showpendingmessage.htm\">show messages</a>)";\r
+       }\r
+       content+="<br>";\r
        st=m_db->Prepare("SELECT COUNT(*) FROM tblFileInserts WHERE Key IS NULL;");\r
        st.Step();\r
        if(st.RowReturned())\r
@@ -79,9 +102,9 @@ const std::string HomePage::GeneratePage(const std::string &method, const std::m
                st.ResultText(0,filecountstr);\r
        }\r
        content+="Files waiting to be inserted:"+filecountstr+"<br>";\r
-\r
        content+="<p class=\"paragraph\">";\r
        content+="<form name=\"frmshutdown\" method=\"POST\">";\r
+       content+=CreateFormPassword();\r
        content+="<input type=\"hidden\" name=\"formaction\" value=\"shutdown\">";\r
        content+="<input type=\"submit\" value=\"Shutdown FMS\">";\r
        content+="</form>";\r