};
+void edit_node(void) {
+
+ if (strcmp(bstr("sc"), "OK")) {
+ /* FIXME do something */
+ }
+
+ display_netconf();
+}
+
+
+
void display_edit_node(void)
{
char buf[SIZ];
char node[SIZ];
- char sroom[SIZ];
+ char cnode[SIZ];
+ char csecret[SIZ];
+ char chost[SIZ];
+ char cport[SIZ];
strcpy(node, bstr("node"));
output_headers(1);
wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=000077><TR><TD>");
wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
- wprintf("<B>Edit share list for ");
+ wprintf("<B>Edit node configuration for ");
escputs(node);
wprintf("</B>\n");
wprintf("</FONT></TD></TR></TABLE>\n");
- wprintf("<CENTER>\n");
- wprintf("<A HREF=\"/display_share&node=");
- urlescputs(node);
- wprintf("\">Add a shared room</A><BR>\n");
-
- wprintf("<A HREF=\"/display_netconf");
- wprintf("\">Return to network configuration screen</A><BR>\n");
-
- serv_printf("NSET roomlist|%s", node);
+ serv_puts("CONF getsys|application/x-citadel-ignet-config");
serv_gets(buf);
if (buf[0] == '1') {
- wprintf("<TABLE border=0>\n");
while (serv_gets(buf), strcmp(buf, "000")) {
- extract(sroom, buf, 0);
- wprintf("<TR><TD><FONT SIZE=+1>");
- escputs(sroom);
- wprintf("</FONT></TD>");
- wprintf("<TD><A HREF=\"/display_confirm_unshare&sroom=");
- urlescputs(sroom);
- wprintf("&node=");
- urlescputs(node);
- wprintf("\">(UnShare)</A></TD>");
- wprintf("</TR>\n");
+ extract(cnode, buf, 0);
+ extract(csecret, buf, 1);
+ extract(chost, buf, 2);
+ extract(cport, buf, 3);
+
+ if (!strcasecmp(node, cnode)) {
+ wprintf("<FORM METHOD=\"POST\" ACTION=\"/edit_node\">\n");
+ wprintf("<CENTER><TABLE border=0>\n");
+ wprintf("<TR><TD>Node name</TD>");
+ wprintf("<TD><INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"8\" VALUE=\"%s\"></TD></TR>\n", cnode);
+ wprintf("<TR><TD>Shared secret</TD>");
+ wprintf("<TD><INPUT TYPE=\"password\" NAME=\"secret\" MAXLENGTH=\"8\" VALUE=\"%s\"></TD></TR>\n", csecret);
+ wprintf("<TR><TD>Host or IP</TD>");
+ wprintf("<TD><INPUT TYPE=\"text\" NAME=\"host\" MAXLENGTH=\"32\" VALUE=\"%s\"></TD></TR>\n", chost);
+ wprintf("<TR><TD>Port</TD>");
+ wprintf("<TD><INPUT TYPE=\"text\" NAME=\"port\" MAXLENGTH=\"8\" VALUE=\"%s\"></TD></TR>\n", cport);
+ wprintf("</TABLE><BR>");
+ wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
+ wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
+ wprintf("</CENTER></FORM>\n");
+ }
+
}
- wprintf("</TABLE></CENTER>\n");
}
+
+ else { /* command error getting configuration */
+ wprintf("%s<BR>\n", &buf[4]);
+ }
+
wDumpContent(1);
}
}
-void display_confirm_unshare(void)
-{
- char node[SIZ];
- char sroom[SIZ];
-
- output_headers(1);
- wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=770000><TR><TD>");
- wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
- wprintf("<B>Confirm unshare</B>\n");
- wprintf("</FONT></TD></TR></TABLE>\n");
-
- strcpy(node, bstr("node"));
- strcpy(sroom, bstr("sroom"));
- wprintf("<CENTER>Are you sure you want to unshare <FONT SIZE=+1>");
- escputs(sroom);
- wprintf("</FONT>?<BR>\n");
- wprintf("<A HREF=\"/unshare&node=");
- urlescputs(node);
- wprintf("&sroom=");
- urlescputs(sroom);
- wprintf("\">Yes</A> ");
- wprintf("<A HREF=\"/display_edit_node&node=");
- urlescputs(node);
- wprintf("\">No</A><BR>\n");
- wDumpContent(1);
-}
-
-
void display_confirm_delete_node(void)
{
char node[SIZ];
}
-void unshare(void)
-{
- char node[SIZ];
- char sroom[SIZ];
- char buf[SIZ];
-
- strcpy(node, bstr("node"));
- strcpy(sroom, bstr("sroom"));
- sprintf(buf, "NSET unshare|%s|%s", node, sroom);
- serv_puts(buf);
- serv_gets(buf);
- if (buf[0] == '1') {
- output_headers(1);
- server_to_text();
- wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
- wDumpContent(1);
- } else {
- display_error(&buf[4]);
- }
-}
-
-
-
void display_add_node(void)
{
}
-
-void display_share(void)
-{
- char buf[SIZ];
- char node[SIZ];
- char sroom[SIZ];
- struct sharelist *shlist = NULL;
- struct sharelist *shptr;
- int already_shared;
-
- strcpy(node, bstr("node"));
-
- output_headers(1);
- wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=007700><TR><TD>");
- wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
- wprintf("<B>Add a shared room</B>\n");
- wprintf("</FONT></TD></TR></TABLE>\n");
-
- wprintf("<CENTER>");
- wprintf("<FORM METHOD=\"POST\" ACTION=\"/share\">\n");
- wprintf("<INPUT TYPE=\"hidden\" NAME=\"node\" VALUE=\"");
- urlescputs(node);
- wprintf("\">\n");
-
- sprintf(buf, "NSET roomlist|%s", node);
- serv_puts(buf);
- serv_gets(buf);
- if (buf[0] == '1') {
- while (serv_gets(buf), strcmp(buf, "000")) {
- shptr = (struct sharelist *)
- malloc(sizeof(struct sharelist));
- shptr->next = shlist;
- extract(shptr->shname, buf, 0);
- shlist = shptr;
- }
- }
- wprintf("<SELECT NAME=\"sroom\" SIZE=5 WIDTH=30>\n");
- serv_puts("LKRA");
- serv_gets(buf);
- if (buf[0] == '1') {
- while (serv_gets(buf), strcmp(buf, "000")) {
- extract(sroom, buf, 0);
- already_shared = 0;
- for (shptr = shlist; shptr != NULL; shptr = shptr->next) {
- if (!strcasecmp(sroom, shptr->shname))
- already_shared = 1;
- }
-
- if (already_shared == 0) {
- wprintf("<OPTION>");
- escputs(sroom);
- wprintf("\n");
- }
- }
- }
- wprintf("</SELECT>\n");
- wprintf("<BR>\n");
-
- wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Share\">");
- wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
-
- wprintf("</FORM></CENTER>\n");
- wDumpContent(1);
-
- /* free the list */
- while (shlist != NULL) {
- shptr = shlist->next;
- free(shlist);
- shlist = shptr;
- }
-
-}
-
-
-
-void share(void)
-{
- char node[SIZ];
- char buf[SIZ];
- char sc[SIZ];
- char sroom[SIZ];
-
- strcpy(node, bstr("node"));
- strcpy(sc, bstr("sc"));
- strcpy(sroom, bstr("sroom"));
-
- if (!strcmp(sc, "Share")) {
- sprintf(buf, "NSET share|%s|%s", node, sroom);
- serv_puts(buf);
- serv_gets(buf);
- if (buf[0] == '1') {
- output_headers(1);
- server_to_text();
- wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
- wDumpContent(1);
- } else {
- display_error(&buf[4]);
- }
-
- }
-}