aboutsummaryrefslogtreecommitdiff
path: root/form_category.c
blob: 34d442bd13b1ebb242331c9d5ac81321a51f7a75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#define _POSIX_C_SOURCE 200809L

#include "form.h"
#include <libweb/html.h>
#include <stdio.h>

int form_category(struct html_node *const n)
{
    struct html_node *div, *form, *lname, *iname, *submit;

    if (!(div = html_node_add_child(n, "div"))
        || !(form = html_node_add_child(div, "form"))
        || !(lname = html_node_add_child(form, "label"))
        || !(iname = html_node_add_child(form, "input"))
        || !(submit = html_node_add_child(form, "input")))
    {
        fprintf(stderr, "%s: html_node_add_child failed\n", __func__);
        return -1;
    }
    else if (html_node_add_attr(form, "action", "/create/")
        || html_node_add_attr(form, "form", "categoryform")
        || html_node_add_attr(form, "method", "post")
        || html_node_add_attr(lname, "for", "name")
        || html_node_add_attr(iname, "type", "text")
        || html_node_add_attr(iname, "id", "name")
        || html_node_add_attr(iname, "name", "name")
        || html_node_add_attr(submit, "type", "submit")
        || html_node_add_attr(submit, "value", "Create"))
    {
        fprintf(stderr, "%s: html_node_add_attr failed\n", __func__);
        return -1;
    }
    else if (html_node_set_value(lname, "Create category"))
    {
        fprintf(stderr, "%s: html_node_set_value failed\n", __func__);
        return -1;
    }

    return 0;
}