mirror of
https://git.checksum.fail/alec/erythros
synced 2025-12-10 13:09:55 +02:00
Applications/Internet/Cyberia: Handle INPUT type=hidden in forms
This commit is contained in:
@@ -269,19 +269,25 @@ U0 @cyberia_form_submit(@html_dom_node* form_node)
|
|||||||
U8* encoded_value = NULL;
|
U8* encoded_value = NULL;
|
||||||
I64 encoded_value_length = 0;
|
I64 encoded_value_length = 0;
|
||||||
Widget* element_gui_widget = element_node->attributes->@("cyberiaGuiWidget");
|
Widget* element_gui_widget = element_node->attributes->@("cyberiaGuiWidget");
|
||||||
switch (element_gui_widget->type) {
|
if (element_gui_widget) {
|
||||||
case WIDGET_TYPE_CHECKBOX:
|
switch (element_gui_widget->type) {
|
||||||
if (element_gui_widget(CheckBoxWidget*)->checked) {
|
case WIDGET_TYPE_CHECKBOX:
|
||||||
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "on");
|
if (element_gui_widget(CheckBoxWidget*)->checked) {
|
||||||
} else {
|
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "on");
|
||||||
raw_value = NULL;
|
} else {
|
||||||
|
raw_value = NULL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case WIDGET_TYPE_INPUT:
|
||||||
|
raw_value = &element_gui_widget(TextInputWidget*)->text;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (element_node->attributes->@("type") && !StrICmp(element_node->attributes->@("type"), "hidden")) {
|
||||||
|
raw_value = @t(element_node->attributes->@("value"), element_node->attributes->@("value"), "");
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case WIDGET_TYPE_INPUT:
|
|
||||||
raw_value = &element_gui_widget(TextInputWidget*)->text;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
encoded_value = @cyberia_urlencode_str(raw_value, &encoded_value_length);
|
encoded_value = @cyberia_urlencode_str(raw_value, &encoded_value_length);
|
||||||
|
|||||||
Reference in New Issue
Block a user