diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c index 03e84a23c..ec5a938da 100644 --- a/src/httpserver/http_fns.c +++ b/src/httpserver/http_fns.c @@ -124,6 +124,22 @@ void postFormAction(http_request_t* request, char* action, char* value) { hprintf255(request, "
", action, value); } +/// @brief Generate a pair of label and field elements for Name type entry. The field is limited to entry of a-zA-Z0-9_- characters. +/// @param request +/// @param label +/// @param fieldId This also gets used as the field name +/// @param value +/// @param preContent +void add_label_name_field(http_request_t* request, char* label, char* fieldId, const char* value, char* preContent) { + if (strlen(preContent) > 0) { + poststr(request, preContent); + } + + hprintf255(request, "
", fieldId, label); + hprintf255(request, ""); +} + /// @brief Generate a pair of label and field elements. /// @param request /// @param label @@ -135,11 +151,8 @@ void add_label_input(http_request_t* request, char* inputType, char* label, char poststr(request, preContent); } - //These individual strings should be less than 256 .. yes hprintf255 uses 256 char buffer hprintf255(request, "
", fieldId, label); - hprintf255(request, ""); + hprintf255(request, "", inputType, fieldId, fieldId, value); } /// @brief Generates a pair of label and text field elements. @@ -886,8 +899,8 @@ int http_fn_cfg_name(http_request_t* request) { CFG_Save_IfThereArePendingChanges(); poststr(request, "

Use this to change device names

"); - add_label_text_field(request, "ShortName", "shortName", CFG_GetShortDeviceName(), "
"); - add_label_text_field(request, "Full Name", "name", CFG_GetDeviceName(), "
"); + add_label_name_field(request, "ShortName", "shortName", CFG_GetShortDeviceName(), ""); + add_label_name_field(request, "Full Name", "name", CFG_GetDeviceName(), "
"); poststr(request, "

"); poststr(request, ""); - poststr_escaped(request, CFG_GetDeviceName()); - + poststr(request, CFG_GetDeviceName()); if (pagename) { hprintf255(request, " - %s", pagename); } @@ -245,7 +244,7 @@ void http_html_start(http_request_t* request, const char* pagename) { poststr(request, htmlHeadStyle); poststr(request, "</head>"); poststr(request, htmlBodyStart); - poststr_escaped(request, CFG_GetDeviceName()); + poststr(request, CFG_GetDeviceName()); poststr(request, htmlBodyStart2); } diff --git a/src/httpserver/rest_interface.c b/src/httpserver/rest_interface.c index 79a812d07..0f2869bc1 100644 --- a/src/httpserver/rest_interface.c +++ b/src/httpserver/rest_interface.c @@ -261,7 +261,7 @@ static int http_rest_app(http_request_t* request) { poststr(request, htmlDoctype); poststr(request, "<head><title>"); - poststr_escaped(request, CFG_GetDeviceName()); + poststr(request, CFG_GetDeviceName()); poststr(request, ""); poststr(request, htmlShortcutIcon);