diff options
author | Samuel Barney <samjbarney@gmail.com> | 2013-10-14 17:42:43 +0200 |
---|---|---|
committer | Samuel Barney <samjbarney@gmail.com> | 2013-10-14 17:42:43 +0200 |
commit | 5df5176f8d1793b44c7e2353cb46ca0966be1bdd (patch) | |
tree | 95343394cd9902ceaf885f379342c593392e9c16 /source/WebAdmin.cpp | |
parent | Mobs no longer spawn up in the air. (diff) | |
parent | APIDump: Documented HOOK_HANDSHAKE. (diff) | |
download | cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar.gz cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar.bz2 cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar.lz cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar.xz cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.tar.zst cuberite-5df5176f8d1793b44c7e2353cb46ca0966be1bdd.zip |
Diffstat (limited to 'source/WebAdmin.cpp')
-rw-r--r-- | source/WebAdmin.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/source/WebAdmin.cpp b/source/WebAdmin.cpp index 08817139a..316513f11 100644 --- a/source/WebAdmin.cpp +++ b/source/WebAdmin.cpp @@ -79,8 +79,14 @@ bool cWebAdmin::Init(void) return false; } - AString PortsIPv4 = m_IniFile.GetValue("WebAdmin", "Port", "8080"); - AString PortsIPv6 = m_IniFile.GetValue("WebAdmin", "PortsIPv6", ""); + if (!m_IniFile.GetValueSetB("WebAdmin", "Enabled", true)) + { + // WebAdmin is disabled, bail out faking a success + return true; + } + + AString PortsIPv4 = m_IniFile.GetValueSet("WebAdmin", "Port", "8080"); + AString PortsIPv6 = m_IniFile.GetValueSet("WebAdmin", "PortsIPv6", ""); if (!m_HTTPServer.Initialize(PortsIPv4, PortsIPv6)) { @@ -185,8 +191,19 @@ void cWebAdmin::HandleWebadminRequest(cHTTPConnection & a_Connection, cHTTPReque HTTPfd.Name = itr->first; TemplateRequest.Request.FormData[itr->first] = HTTPfd; TemplateRequest.Request.PostParams[itr->first] = itr->second; - TemplateRequest.Request.Params[itr->first] = itr->second; } // for itr - Data->m_Form[] + + // Parse the URL into individual params: + size_t idxQM = a_Request.GetURL().find('?'); + if (idxQM != AString::npos) + { + cHTTPFormParser URLParams(cHTTPFormParser::fpkURL, a_Request.GetURL().c_str() + idxQM + 1, a_Request.GetURL().length() - idxQM - 1, *Data); + URLParams.Finish(); + for (cHTTPFormParser::const_iterator itr = URLParams.begin(), end = URLParams.end(); itr != end; ++itr) + { + TemplateRequest.Request.Params[itr->first] = itr->second; + } // for itr - URLParams[] + } } // Try to get the template from the Lua template script |