10 #include <sys/types.h>
12 #include <sys/socket.h>
15 #include <netinet/in.h>
31 struct sharelist *next;
36 void display_edit_node(void)
42 strcpy(node, bstr("node"));
45 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=000077><TR><TD>");
46 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
47 wprintf("<B>Edit share list for ");
50 wprintf("</FONT></TD></TR></TABLE>\n");
52 wprintf("<CENTER>\n");
53 wprintf("<A HREF=\"/display_share&node=");
55 wprintf("\">Add a shared room</A><BR>\n");
57 wprintf("<A HREF=\"/display_netconf");
58 wprintf("\">Return to network configuration screen</A><BR>\n");
60 serv_printf("NSET roomlist|%s", node);
63 wprintf("<TABLE border=0>\n");
64 while (serv_gets(buf), strcmp(buf, "000")) {
65 extract(sroom, buf, 0);
66 wprintf("<TR><TD><FONT SIZE=+1>");
68 wprintf("</FONT></TD>");
69 wprintf("<TD><A HREF=\"/display_confirm_unshare&sroom=");
73 wprintf("\">(UnShare)</A></TD>");
76 wprintf("</TABLE></CENTER>\n");
83 void display_netconf(void)
89 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>");
90 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
91 wprintf("<B>Network configuration</B>\n");
92 wprintf("</FONT></TD></TR></TABLE>\n");
95 wprintf("<A HREF=\"/display_add_node\">");
96 wprintf("Add a new node</A><BR>\n");
99 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=000077><TR><TD>");
100 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
101 wprintf("<B>Currently configured nodes</B>\n");
102 wprintf("</FONT></TD></TR></TABLE>\n");
103 serv_puts("CONF getsys|application/x-citadel-ignet-config");
106 wprintf("<CENTER><TABLE border=0>\n");
107 while (serv_gets(buf), strcmp(buf, "000")) {
108 extract(node, buf, 0);
109 wprintf("<TR><TD><FONT SIZE=+1>");
111 wprintf("</FONT></TD>");
112 wprintf("<TD><A HREF=\"/display_edit_node&node=");
114 wprintf("\">(Edit)</A></TD>");
115 wprintf("<TD><A HREF=\"/display_confirm_delete_node&node=");
117 wprintf("\">(Delete)</A></TD>");
120 wprintf("</TABLE></CENTER>\n");
126 void display_confirm_unshare(void)
132 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>");
133 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
134 wprintf("<B>Confirm unshare</B>\n");
135 wprintf("</FONT></TD></TR></TABLE>\n");
137 strcpy(node, bstr("node"));
138 strcpy(sroom, bstr("sroom"));
139 wprintf("<CENTER>Are you sure you want to unshare <FONT SIZE=+1>");
141 wprintf("</FONT>?<BR>\n");
142 wprintf("<A HREF=\"/unshare&node=");
146 wprintf("\">Yes</A> ");
147 wprintf("<A HREF=\"/display_edit_node&node=");
149 wprintf("\">No</A><BR>\n");
154 void display_confirm_delete_node(void)
159 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>");
160 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
161 wprintf("<B>Confirm delete</B>\n");
162 wprintf("</FONT></TD></TR></TABLE>\n");
164 strcpy(node, bstr("node"));
165 wprintf("<CENTER>Are you sure you want to delete <FONT SIZE=+1>");
167 wprintf("</FONT>?<BR>\n");
168 wprintf("<A HREF=\"/delete_node&node=");
170 wprintf("\">Yes</A> ");
171 wprintf("<A HREF=\"/display_netconf\">No</A><BR>\n");
176 void delete_node(void)
181 strcpy(node, bstr("node"));
182 sprintf(buf, "NSET deletenode|%s", node);
188 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
191 display_error(&buf[4]);
202 strcpy(node, bstr("node"));
203 strcpy(sroom, bstr("sroom"));
204 sprintf(buf, "NSET unshare|%s|%s", node, sroom);
210 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
213 display_error(&buf[4]);
219 void display_add_node(void)
223 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=007700><TR><TD>");
224 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
225 wprintf("<B>Add a new node</B>\n");
226 wprintf("</FONT></TD></TR></TABLE>\n");
229 wprintf("<FORM METHOD=\"POST\" ACTION=\"/add_node\">\n");
231 wprintf("Enter name of new node: ");
232 wprintf("<INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"64\"><BR>\n");
234 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Add\">");
235 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
237 wprintf("</FORM></CENTER>\n");
249 strcpy(node, bstr("node"));
250 strcpy(sc, bstr("sc"));
252 if (!strcmp(sc, "Add")) {
253 sprintf(buf, "NSET addnode|%s", node);
259 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
262 display_error(&buf[4]);
269 void display_share(void)
274 struct sharelist *shlist = NULL;
275 struct sharelist *shptr;
278 strcpy(node, bstr("node"));
281 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=007700><TR><TD>");
282 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
283 wprintf("<B>Add a shared room</B>\n");
284 wprintf("</FONT></TD></TR></TABLE>\n");
287 wprintf("<FORM METHOD=\"POST\" ACTION=\"/share\">\n");
288 wprintf("<INPUT TYPE=\"hidden\" NAME=\"node\" VALUE=\"");
292 sprintf(buf, "NSET roomlist|%s", node);
296 while (serv_gets(buf), strcmp(buf, "000")) {
297 shptr = (struct sharelist *)
298 malloc(sizeof(struct sharelist));
299 shptr->next = shlist;
300 extract(shptr->shname, buf, 0);
304 wprintf("<SELECT NAME=\"sroom\" SIZE=5 WIDTH=30>\n");
308 while (serv_gets(buf), strcmp(buf, "000")) {
309 extract(sroom, buf, 0);
311 for (shptr = shlist; shptr != NULL; shptr = shptr->next) {
312 if (!strcasecmp(sroom, shptr->shname))
316 if (already_shared == 0) {
323 wprintf("</SELECT>\n");
326 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Share\">");
327 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
329 wprintf("</FORM></CENTER>\n");
333 while (shlist != NULL) {
334 shptr = shlist->next;
350 strcpy(node, bstr("node"));
351 strcpy(sc, bstr("sc"));
352 strcpy(sroom, bstr("sroom"));
354 if (!strcmp(sc, "Share")) {
355 sprintf(buf, "NSET share|%s|%s", node, sroom);
361 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
364 display_error(&buf[4]);