mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-15 15:41:21 +10:00
moved all html strings out of code
This commit is contained in:
+37
-82
@@ -547,6 +547,17 @@ void WiFiManager::setBreakAfterConfig(boolean shouldBreak) {
|
||||
_shouldBreakAfterConfig = shouldBreak;
|
||||
}
|
||||
|
||||
String WiFiManager::getHTTPHead(String title){
|
||||
String page;
|
||||
page += FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", title);
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTPD CALLBACK root or redirect to captive portal
|
||||
*/
|
||||
@@ -556,26 +567,17 @@ void WiFiManager::handleRoot() {
|
||||
if (captivePortal()) { // If captive portal redirect instead of displaying the page.
|
||||
return;
|
||||
}
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Options");
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
page += "<h1>";
|
||||
page += configPortalActive ? _apName : WiFi.localIP().toString();
|
||||
page += "</h1>";
|
||||
page += F("<h3>WiFiManager</h3>");
|
||||
String page = getHTTPHead("options"); // @token options
|
||||
String str = FPSTR(HTTP_ROOT_MAIN);
|
||||
str.replace("{v}",configPortalActive ? _apName : WiFi.localIP().toString()); // use ip if ap is not active for heading
|
||||
page += str;
|
||||
page += FPSTR(HTTP_PORTAL_OPTIONS);
|
||||
reportStatus(page);
|
||||
page += FPSTR(HTTP_END);
|
||||
|
||||
|
||||
server->sendHeader("Content-Length", String(page.length()));
|
||||
server->send(200, "text/html", page);
|
||||
// server->close(); // testing reliability fix for content length mismatches during mutiple flood hits
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -584,18 +586,10 @@ void WiFiManager::handleRoot() {
|
||||
void WiFiManager::handleWifi(boolean scan) {
|
||||
|
||||
DEBUG_WM("<- HTTP Wifi");
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Config ESP"); // @token titlewifi
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
|
||||
String page = getHTTPHead("Config ESP"); // @token titlewifi
|
||||
if (scan) {
|
||||
page += getScanItemOut();
|
||||
}
|
||||
|
||||
String pitem = FPSTR(HTTP_FORM_START);
|
||||
pitem.replace("{v}", WiFi.SSID());
|
||||
page += pitem;
|
||||
@@ -883,12 +877,7 @@ void WiFiManager::handleWifiSave() {
|
||||
DEBUG_WM(F("static netmask:"),sn);
|
||||
}
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Credentials Saved"); // @token titlewifisaved
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
String page = getHTTPHead("Credentials Saved"); // @token titlewifisaved
|
||||
page += FPSTR(HTTP_SAVED);
|
||||
page += FPSTR(HTTP_END);
|
||||
|
||||
@@ -905,14 +894,7 @@ void WiFiManager::handleWifiSave() {
|
||||
*/
|
||||
void WiFiManager::handleInfo() {
|
||||
DEBUG_WM(F("<- HTTP Info"));
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Info"); // @token titleinfo
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
|
||||
String page = getHTTPHead("Info"); // @token titleinfo
|
||||
reportStatus(page);
|
||||
|
||||
// @todo add versioning here
|
||||
@@ -1033,13 +1015,8 @@ void WiFiManager::handleInfo() {
|
||||
page += WiFi.getAutoConnect() ? "Enabled" : "Disabled"; // @token enabled,disabled
|
||||
page += F("</dd>");
|
||||
page += F("</dl>");
|
||||
|
||||
page += "<br/><form action='/erase' method='get'><button>";
|
||||
page += "Erase WiFi Config"; // @token erasewifi
|
||||
page += "</button></form>";
|
||||
|
||||
page += FPSTR(HTTP_ERASEBTN);
|
||||
page += FPSTR(HTTP_HELP);
|
||||
|
||||
page += FPSTR(HTTP_END);
|
||||
|
||||
server->sendHeader("Content-Length", String(page.length()));
|
||||
@@ -1054,42 +1031,30 @@ void WiFiManager::handleInfo() {
|
||||
*/
|
||||
void WiFiManager::handleExit() {
|
||||
DEBUG_WM(F("<- HTTP Exit"));
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Exit");
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
|
||||
page += "Exiting";
|
||||
String page = getHTTPHead("Exit"); // @token exit
|
||||
page += "Exiting"; // @token exiting
|
||||
server->sendHeader("Content-Length", String(page.length()));
|
||||
server->send(200, "text/html", page);
|
||||
abort = true;
|
||||
}
|
||||
|
||||
void WiFiManager::reportStatus(String &page){
|
||||
|
||||
String str;
|
||||
if (WiFi.SSID() != ""){
|
||||
if (WiFi.status()==WL_CONNECTED){
|
||||
page += "<div class='msg P'>";
|
||||
page += F("<strong>Connected</strong> to ");
|
||||
page += WiFi.SSID();
|
||||
page += F("<br/><em><small>with IP <a href=\"http://");
|
||||
page += WiFi.localIP().toString();
|
||||
page += F("/\">");
|
||||
page += WiFi.localIP().toString();
|
||||
page += F("</a></small></em>");
|
||||
} else {
|
||||
page += "<div class='msg'>";
|
||||
page += "<strong>Not Connected</strong> to ";
|
||||
page += WiFi.SSID();
|
||||
}
|
||||
} else {
|
||||
page += "<div class='msg'>";
|
||||
page += "No AP set";
|
||||
str = FPSTR(HTTP_STATUS_ON);
|
||||
str.replace("{u}",WiFi.localIP().toString());
|
||||
str.replace("{s}",WiFi.SSID());
|
||||
}
|
||||
else {
|
||||
str = FPSTR(HTTP_STATUS_OFF);
|
||||
str.replace("{s}",WiFi.SSID());
|
||||
}
|
||||
}
|
||||
page += "</div>";
|
||||
else {
|
||||
str = FPSTR(HTTP_STATUS_NONE);
|
||||
}
|
||||
page += str;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1098,12 +1063,7 @@ void WiFiManager::reportStatus(String &page){
|
||||
void WiFiManager::handleReset() {
|
||||
DEBUG_WM(F("<- HTTP Reset"));
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Reset");
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
String page = getHTTPHead("Reset");
|
||||
page += F("Module will reset in a few seconds.");
|
||||
page += FPSTR(HTTP_END);
|
||||
|
||||
@@ -1121,15 +1081,10 @@ void WiFiManager::handleReset() {
|
||||
void WiFiManager::handleErase() {
|
||||
DEBUG_WM(F("<- HTTP Erase"));
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Erase");
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
String page = getHTTPHead("Erase");
|
||||
page += FPSTR(HTTP_HEAD_END);
|
||||
|
||||
bool ret = WiFi_eraseConfig();
|
||||
|
||||
|
||||
if(ret) page += F("Module will reset in a few seconds.");
|
||||
else {
|
||||
page += F("An Error Occured");
|
||||
|
||||
@@ -205,6 +205,7 @@ class WiFiManager
|
||||
String getParamOut();
|
||||
String getScanItemOut();
|
||||
String getStaticOut();
|
||||
String getHTTPHead(String title);
|
||||
|
||||
//helpers
|
||||
String getWLStatusString(uint8_t status);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang='en'><head><meta name='format-detection' content='telephone=no'><meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no'/><title>{v}</title>";
|
||||
const char HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>";
|
||||
const char HTTP_HEAD_END[] PROGMEM = "</head><body><div class='wrap'>";
|
||||
const char HTTP_ROOT_MAIN[] PROGMEM = "<h1>{v}</h1><h3>WiFiManager</h3>";
|
||||
const char HTTP_PORTAL_OPTIONS[] PROGMEM = "<form action='/wifi' method='GET'><button>Configure WiFi</button></form><br/><form action='/0wifi' method='GET'><button>Configure WiFi (No Scan)</button></form><br/><form action='/i' method='GET'><button>Info</button></form><br/><form action='/r' method='GET'><button>Restart</button></form><br/><form action='/exit' method='GET'><button>Quit</button></form>";
|
||||
const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a><div role='img' aria-label='{r}%' title='{r}%' class='q q-{q} {i}'></div></div>";
|
||||
// const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a> {R} {r}% {q} {e}</div>"; // test all tokens
|
||||
@@ -13,6 +14,11 @@ const char HTTP_FORM_PARAM_END[] PROGMEM = "<br/>";
|
||||
const char HTTP_SCAN_LINK[] PROGMEM = "<br/><form action='/wifi' method='get'><button>Refresh</button></form>";
|
||||
const char HTTP_SAVED[] PROGMEM = "<div class='msg'>Saving Credentials<br/>Trying to connect ESP to network.<br />If it fails reconnect to AP to try again</div>";
|
||||
const char HTTP_END[] PROGMEM = "</div></body></html>";
|
||||
const char HTTP_ERASEBTN[] PROGMEM = "<br/><form action='/erase' method='get'><button>Erase WiFi Config</button></form>";
|
||||
|
||||
const char HTTP_STATUS_ON[] PROGMEM = "<div class='msg P'><strong>Connected</strong> to {s}<br/><em><small>with IP {u}</small></em></div>";
|
||||
const char HTTP_STATUS_OFF[] PROGMEM = "<div class='msg'><strong>Not Connected</strong> to {s}</div>";
|
||||
const char HTTP_STATUS_NONE[] PROGMEM = "<div class='msg'>No AP set</div>";
|
||||
|
||||
const char HTTP_STYLE[] PROGMEM = "<style>"
|
||||
".c,body{text-align:center;font-family:verdana}div,input{padding:5px;font-size:1em}input{width:95%;margin:5px 0}button{cursor:pointer;border:0;border-radius:.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%}"
|
||||
|
||||
Reference in New Issue
Block a user