13 #include <sys/types.h>
15 #include <sys/socket.h>
17 #include <netinet/in.h>
27 #include "webserver.h"
30 "January", "February", "March", "April", "May", "June", "July",
31 "August", "September", "October", "November", "December"
35 "Sunday", "Monday", "Tuesday", "Wednesday",
36 "Thursday", "Friday", "Saturday"
42 void display_icaltimetype_as_webform(struct icaltimetype *t, char *prefix) {
51 this_year = tm->tm_year + 1900;
53 if (t == NULL) return;
56 wprintf("<SELECT NAME=\"%s_month\" SIZE=\"1\">\n", prefix);
57 for (i=1; i<=12; ++i) {
58 wprintf("<OPTION %s VALUE=\"%d\">%s</OPTION>\n",
59 ((t->month == i) ? "SELECTED" : ""),
64 wprintf("</SELECT>\n");
67 wprintf("<SELECT NAME=\"%s_day\" SIZE=\"1\">\n", prefix);
68 for (i=1; i<=31; ++i) {
69 wprintf("<OPTION %s VALUE=\"%d\">%d</OPTION>\n",
70 ((t->day == i) ? "SELECTED" : ""),
74 wprintf("</SELECT>\n");
77 wprintf("<SELECT NAME=\"%s_year\" SIZE=\"1\">\n", prefix);
78 if ((this_year - t->year) > span) {
79 wprintf("<OPTION SELECTED VALUE=\"%d\">%d</OPTION>\n",
82 for (i=(this_year-span); i<=(this_year+span); ++i) {
83 wprintf("<OPTION %s VALUE=\"%d\">%d</OPTION>\n",
84 ((t->year == i) ? "SELECTED" : ""),
88 if ((t->year - this_year) > span) {
89 wprintf("<OPTION SELECTED VALUE=\"%d\">%d</OPTION>\n",
92 wprintf("</SELECT>\n");
95 wprintf("<SELECT NAME=\"%s_hour\" SIZE=\"1\">\n", prefix);
96 for (i=0; i<=23; ++i) {
97 wprintf("<OPTION %s VALUE=\"%d\">%d</OPTION>\n",
98 ((t->hour == i) ? "SELECTED" : ""),
102 wprintf("</SELECT>\n");
105 wprintf("<SELECT NAME=\"%s_minute\" SIZE=\"1\">\n", prefix);
106 for (i=0; i<=59; ++i) {
107 wprintf("<OPTION %s VALUE=\"%d\">%d</OPTION>\n",
108 ((t->minute == i) ? "SELECTED" : ""),
112 wprintf("</SELECT>\n");
114 wprintf("<INPUT TYPE=\"checkbox\" NAME=\"%s_alldayevent\" "
115 "VALUE=\"yes\" %s> All day event",
117 ((t->is_date) ? "CHECKED" : ""));
121 struct icaltimetype icaltime_from_webform(char *prefix) {
122 struct icaltimetype t;
127 t = icaltime_from_timet(now, 0);
129 sprintf(vname, "%s_month", prefix); t.month = atoi(bstr(vname));
130 sprintf(vname, "%s_day", prefix); t.day = atoi(bstr(vname));
131 sprintf(vname, "%s_year", prefix); t.year = atoi(bstr(vname));
132 sprintf(vname, "%s_hour", prefix); t.hour = atoi(bstr(vname));
133 sprintf(vname, "%s_minute", prefix); t.minute = atoi(bstr(vname));
135 sprintf(vname, "%s_alldayevent", prefix);
136 if (!strcasecmp(bstr(vname), "yes")) {
141 lprintf(9, "icaltime_from_webform() setting is_date\n");
144 t = icaltime_normalize(t);
150 * Generae a new, globally unique UID parameter for a calendar object.
152 void generate_new_uid(char *buf) {
155 sprintf(buf, "%ld-%d@%s",
158 serv_info.serv_fqdn);