5 * \defgroup NetShareConf Functions which handle network and sharing configuration.
12 * \brief edit a network node
14 void edit_node(void) {
20 if (strlen(bstr("ok_button")) > 0) {
21 strcpy(node, bstr("node") );
24 serv_puts("CONF getsys|application/x-citadel-ignet-config");
25 serv_getln(buf, sizeof buf);
27 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
28 extract_token(cnode, buf, 0, '|', sizeof cnode);
29 if (strcasecmp(node, cnode)) {
30 fprintf(fp, "%s\n", buf);
33 fprintf(fp, "%s|%s|%s|%s\n",
41 serv_puts("CONF putsys|application/x-citadel-ignet-config");
42 serv_getln(buf, sizeof buf);
44 while (fgets(buf, sizeof buf, fp) != NULL) {
45 buf[strlen(buf)-1] = 0;
61 void display_add_node(void)
63 output_headers(1, 1, 2, 0, 0, 0);
64 wprintf("<div id=\"banner\">\n");
65 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
66 wprintf("<SPAN CLASS=\"titlebar\">");
67 wprintf(_("Add a new node"));
69 wprintf("</TD></TR></TABLE>\n");
70 wprintf("</div>\n<div id=\"content\">\n");
72 wprintf("<FORM METHOD=\"POST\" action=\"edit_node\">\n");
73 wprintf("<CENTER><TABLE border=0>\n");
74 wprintf("<TR><TD>%s</TD>", _("Node name"));
75 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"16\"></TD></TR>\n");
76 wprintf("<TR><TD>%s</TD>", _("Shared secret"));
77 wprintf("<TD><INPUT TYPE=\"password\" NAME=\"secret\" MAXLENGTH=\"16\"></TD></TR>\n");
78 wprintf("<TR><TD>%s</TD>", _("Host or IP address"));
79 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"host\" MAXLENGTH=\"64\"></TD></TR>\n");
80 wprintf("<TR><TD>%s</TD>", _("Port number"));
81 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"port\" MAXLENGTH=\"8\"></TD></TR>\n");
82 wprintf("</TABLE><br />");
83 wprintf("<INPUT TYPE=\"submit\" NAME=\"ok_button\" VALUE=\"%s\">", _("Add node"));
85 wprintf("<INPUT TYPE=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\">", _("Cancel"));
86 wprintf("</CENTER></FORM>\n");
92 * \brief modify an existing node
94 void display_edit_node(void)
103 strcpy(node, bstr("node"));
105 output_headers(1, 1, 2, 0, 0, 0);
106 wprintf("<div id=\"banner\">\n");
107 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
108 wprintf("<SPAN CLASS=\"titlebar\">");
109 wprintf(_("Edit node configuration for "));
111 wprintf("</SPAN>\n");
112 wprintf("</TD></TR></TABLE>\n");
113 wprintf("</div>\n<div id=\"content\">\n");
115 serv_puts("CONF getsys|application/x-citadel-ignet-config");
116 serv_getln(buf, sizeof buf);
118 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
119 extract_token(cnode, buf, 0, '|', sizeof cnode);
120 extract_token(csecret, buf, 1, '|', sizeof csecret);
121 extract_token(chost, buf, 2, '|', sizeof chost);
122 extract_token(cport, buf, 3, '|', sizeof cport);
124 if (!strcasecmp(node, cnode)) {
125 wprintf("<FORM METHOD=\"POST\" action=\"edit_node\">\n");
126 wprintf("<CENTER><TABLE border=0>\n");
128 wprintf(_("Node name"));
130 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"16\" VALUE=\"%s\"></TD></TR>\n", cnode);
132 wprintf(_("Shared secret"));
134 wprintf("<TD><INPUT TYPE=\"password\" NAME=\"secret\" MAXLENGTH=\"16\" VALUE=\"%s\"></TD></TR>\n", csecret);
136 wprintf(_("Host or IP address"));
138 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"host\" MAXLENGTH=\"64\" VALUE=\"%s\"></TD></TR>\n", chost);
140 wprintf(_("Port number"));
142 wprintf("<TD><INPUT TYPE=\"text\" NAME=\"port\" MAXLENGTH=\"8\" VALUE=\"%s\"></TD></TR>\n", cport);
143 wprintf("</TABLE><br />");
144 wprintf("<INPUT TYPE=\"submit\" NAME=\"ok_button\" VALUE=\"%s\">",
147 wprintf("<INPUT TYPE=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\">",
149 wprintf("</CENTER></FORM>\n");
155 else { /** command error getting configuration */
156 wprintf("%s<br />\n", &buf[4]);
164 * \brief display all configured nodes
166 void display_netconf(void)
171 output_headers(1, 1, 2, 0, 0, 0);
172 wprintf("<div id=\"banner\">\n");
173 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
174 wprintf("<SPAN CLASS=\"titlebar\">");
175 wprintf(_("Network configuration"));
176 wprintf("</SPAN>\n");
177 wprintf("</TD></TR></TABLE>\n");
178 wprintf("</div>\n<div id=\"content\">\n");
181 wprintf("<a href=\"display_add_node\">");
182 wprintf(_("Add a new node"));
183 wprintf("</A><br />\n");
184 wprintf("</CENTER>");
186 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
187 wprintf("<SPAN CLASS=\"titlebar\">");
188 wprintf(_("Currently configured nodes"));
189 wprintf("</SPAN>\n");
190 wprintf("</TD></TR></TABLE>\n");
191 serv_puts("CONF getsys|application/x-citadel-ignet-config");
192 serv_getln(buf, sizeof buf);
194 wprintf("<CENTER><TABLE border=0>\n");
195 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
196 extract_token(node, buf, 0, '|', sizeof node);
197 wprintf("<TR><TD><FONT SIZE=+1>");
199 wprintf("</FONT></TD>");
200 wprintf("<TD><a href=\"display_edit_node&node=");
203 wprintf(_("(Edit)"));
204 wprintf("</A></TD>");
205 wprintf("<TD><a href=\"display_confirm_delete_node&node=");
208 wprintf(_("(Delete)"));
209 wprintf("</A></TD>");
212 wprintf("</TABLE></CENTER>\n");
218 * \brief display the dialog to verify the deletion
220 void display_confirm_delete_node(void)
224 output_headers(1, 1, 2, 0, 0, 0);
225 wprintf("<div id=\"banner\">\n");
226 wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
227 wprintf("<SPAN CLASS=\"titlebar\">");
228 wprintf(_("Confirm delete"));
229 wprintf("</SPAN>\n");
230 wprintf("</TD></TR></TABLE>\n");
231 wprintf("</div>\n<div id=\"content\">\n");
233 strcpy(node, bstr("node"));
235 wprintf(_("Are you sure you want to delete "));
236 wprintf("<FONT SIZE=+1>");
238 wprintf("</FONT>?<br />\n");
239 wprintf("<a href=\"delete_node&node=");
243 wprintf("</A> ");
244 wprintf("<a href=\"display_netconf\">");
246 wprintf("</A><br />\n");
251 * \brief actually delete the node
253 void delete_node(void)
260 strcpy(node, bstr("node") );
263 serv_puts("CONF getsys|application/x-citadel-ignet-config");
264 serv_getln(buf, sizeof buf);
266 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
267 extract_token(cnode, buf, 0, '|', sizeof cnode);
268 if (strcasecmp(node, cnode)) {
269 fprintf(fp, "%s\n", buf);
275 serv_puts("CONF putsys|application/x-citadel-ignet-config");
276 serv_getln(buf, sizeof buf);
278 while (fgets(buf, sizeof buf, fp) != NULL) {
279 buf[strlen(buf)-1] = 0;
291 * \brief add a new node
298 strcpy(node, bstr("node"));
300 if (strlen(bstr("add_button")) > 0) {
301 sprintf(buf, "NSET addnode|%s", node);
303 serv_getln(buf, sizeof buf);
305 output_headers(1, 1, 0, 0, 0, 0);
307 wprintf("<a href=\"display_netconf\">");
308 wprintf(_("Back to menu"));
312 strcpy(WC->ImportantMessage, &buf[4]);