|
|
#include <sysdep.h>
#include "include/libjwgc.h"
Go to the source code of this file.
Defines | |
#define | SEPARATOR "\----------------------------------------------------------------------------\n\" |
Functions | |
xode | set_filled_form (xode filledform, char *variable, char *setting) |
char * | get_filled_form (xode filledform, char *variable) |
xode | set_filled_nonform (xode filledform, char *variable, char *setting) |
char * | get_filled_nonform (xode filledform, char *variable) |
xode | display_field_text_single (xode field, xode filledform, char id) |
xode | display_field_text_private (xode field, xode filledform, char id) |
xode | display_field_text_multi (xode field, xode filledform, char id) |
char * | find_list_label (xode field, char *target) |
char * | find_list_id (xode field, int choice) |
int | show_list_labels (xode field) |
xode | display_field_list_single (xode field, xode filledform, char id) |
xode | display_field_list_multi (xode field, xode filledform, char id) |
xode | display_field_boolean (xode field, xode filledform, char id) |
xode | display_field_fixed (xode field, xode filledform) |
xode | display_field_hidden (xode field, xode filledform) |
xode | display_field_jid_single (xode field, xode filledform, char id) |
xode | display_field_jid_multi (xode field, xode filledform, char id) |
xode | display_field (xode field, xode filledform, char *id) |
xode | display_nonform_field (xode field, xode filledform, char id) |
xode | display_form (xode form, xode filledform) |
xode | edit_field_text_single (xode field, xode filledform, char *id) |
xode | edit_field_text_private (xode field, xode filledform, char *id) |
xode | edit_field_text_multi (xode field, xode filledform, char *id) |
xode | edit_field_list_single (xode field, xode filledform, char *id) |
xode | edit_field_list_multi (xode field, xode filledform, char *id) |
xode | edit_field_boolean (xode field, xode filledform, char *id) |
xode | edit_field_jid_single (xode field, xode filledform, char *id) |
xode | edit_field_jid_multi (xode field, xode filledform, char *id) |
xode | edit_form_entry (char *id, xode entry, xode filledform) |
xode | process_form_choice (char *choice, xode form, xode filledform) |
xode | edit_nonform_entry (char *id, xode entry, xode filledform) |
xode | process_nonform_choice (char *choice, xode form, xode filledform) |
xode | process_choice (char *choice, xode form, xode filledform) |
xode | JFormHandler (xode form) |
void | display_form_results (xode form) |
void | display_nonform_results (xode form) |
void | JDisplayForm (xode form) |
|
Definition at line 6 of file JForm.c. Referenced by display_form(), display_form_results(), edit_field_boolean(), edit_field_list_single(), edit_field_text_single(), and edit_nonform_entry(). |
|
Definition at line 382 of file JForm.c. References display_field_boolean(), display_field_fixed(), display_field_hidden(), display_field_jid_multi(), display_field_jid_single(), display_field_list_multi(), display_field_list_single(), display_field_text_multi(), display_field_text_private(), display_field_text_single(), JFORM_FIELD_BOOLEAN, JFORM_FIELD_FIXED, JFORM_FIELD_HIDDEN, JFORM_FIELD_JID_MULTI, JFORM_FIELD_JID_SINGLE, JFORM_FIELD_LIST_MULTI, JFORM_FIELD_LIST_SINGLE, JFORM_FIELD_TEXT_MULTI, JFORM_FIELD_TEXT_PRIVATE, JFORM_FIELD_TEXT_SINGLE, xode, and xode_get_attrib(). Referenced by display_form(). 00383 { 00384 char *type; 00385 00386 type = xode_get_attrib(field, "type"); 00387 if (!type) { 00388 return filledform; 00389 } 00390 00391 if (!strcmp(type, JFORM_FIELD_TEXT_SINGLE)) { 00392 filledform = display_field_text_single(field, filledform, (*id)++); 00393 } 00394 else if (!strcmp(type, JFORM_FIELD_TEXT_PRIVATE)) { 00395 filledform = display_field_text_private(field, filledform, (*id)++); 00396 } 00397 else if (!strcmp(type, JFORM_FIELD_TEXT_MULTI)) { 00398 filledform = display_field_text_multi(field, filledform, (*id)++); 00399 } 00400 else if (!strcmp(type, JFORM_FIELD_LIST_SINGLE)) { 00401 filledform = display_field_list_single(field, filledform, (*id)++); 00402 } 00403 else if (!strcmp(type, JFORM_FIELD_LIST_MULTI)) { 00404 filledform = display_field_list_multi(field, filledform, (*id)++); 00405 } 00406 else if (!strcmp(type, JFORM_FIELD_BOOLEAN)) { 00407 filledform = display_field_boolean(field, filledform, (*id)++); 00408 } 00409 else if (!strcmp(type, JFORM_FIELD_FIXED)) { 00410 filledform = display_field_fixed(field, filledform); 00411 } 00412 else if (!strcmp(type, JFORM_FIELD_HIDDEN)) { 00413 filledform = display_field_hidden(field, filledform); 00414 } 00415 else if (!strcmp(type, JFORM_FIELD_JID_SINGLE)) { 00416 filledform = display_field_jid_single(field, filledform, (*id)++); 00417 } 00418 else if (!strcmp(type, JFORM_FIELD_JID_MULTI)) { 00419 filledform = display_field_jid_multi(field, filledform, (*id)++); 00420 } 00421 else { 00422 /* We don't know this type, fallback to TEXT_SINGLE */ 00423 filledform = display_field_text_single(field, filledform, (*id)++); 00424 } 00425 00426 return filledform; 00427 }
|
|
Definition at line 299 of file JForm.c. References get_filled_form(), set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(). 00300 { 00301 char *value, *label, *var, *setting; 00302 00303 var = xode_get_attrib(field, "var"); 00304 if (!var) { 00305 return filledform; 00306 } 00307 00308 label = xode_get_attrib(field, "label"); 00309 value = xode_get_tagdata(field, "value"); 00310 setting = get_filled_form(filledform, var); 00311 if (!setting && value) { 00312 setting = value; 00313 filledform = set_filled_form(filledform, var, setting); 00314 } 00315 00316 printf("%c: %-20.20s = %s\n", 00317 id, 00318 label ? label : var, 00319 setting ? 00320 ((!strcmp(setting, "1")) || 00321 (!strcmp(setting, "true")) || 00322 (!strcmp(setting, "yes")) ? "true" : "false") 00323 : "<not set>"); 00324 00325 return filledform; 00326 }
|
|
Definition at line 328 of file JForm.c. References find_list_label(), get_filled_form(), set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(). 00329 { 00330 char *value, *label, *var, *setting; 00331 00332 var = xode_get_attrib(field, "var"); 00333 if (!var) { 00334 return filledform; 00335 } 00336 00337 label = xode_get_attrib(field, "label"); 00338 value = xode_get_tagdata(field, "value"); 00339 setting = get_filled_form(filledform, var); 00340 if (!setting && value) { 00341 setting = value; 00342 filledform = set_filled_form(filledform, var, setting); 00343 } 00344 00345 setting = find_list_label(field, setting); 00346 00347 printf("--: %-20.20s = %s\n", 00348 label ? label : var, 00349 setting ? setting : "<not set>"); 00350 00351 return filledform; 00352 }
|
|
Definition at line 354 of file JForm.c. References set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(). 00355 { 00356 char *variable, *setting; 00357 00358 variable = xode_get_attrib(field, "var"); 00359 if (!variable) { 00360 return filledform; 00361 } 00362 00363 setting = xode_get_tagdata(field, "value"); 00364 00365 filledform = set_filled_form(filledform, variable, setting); 00366 00367 return filledform; 00368 }
|
|
Definition at line 376 of file JForm.c. References display_field_text_single(), and xode. Referenced by display_field(). 00377 { 00378 /* unsupported */ 00379 return display_field_text_single(field, filledform, id); 00380 }
|
|
Definition at line 370 of file JForm.c. References display_field_text_single(), and xode. Referenced by display_field(). 00371 { 00372 /* unsupported */ 00373 return display_field_text_single(field, filledform, id); 00374 }
|
|
Definition at line 293 of file JForm.c. References display_field_text_single(), and xode. Referenced by display_field(). 00294 { 00295 /* unsupported */ 00296 return display_field_text_single(field, filledform, id); 00297 }
|
|
Definition at line 266 of file JForm.c. References find_list_label(), get_filled_form(), set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(). 00267 { 00268 char *value, *label, *var, *setting; 00269 00270 var = xode_get_attrib(field, "var"); 00271 if (!var) { 00272 return filledform; 00273 } 00274 00275 label = xode_get_attrib(field, "label"); 00276 value = xode_get_tagdata(field, "value"); 00277 setting = get_filled_form(filledform, var); 00278 if (!setting && value) { 00279 setting = value; 00280 filledform = set_filled_form(filledform, var, setting); 00281 } 00282 00283 setting = find_list_label(field, setting); 00284 00285 printf("%c: %-20.20s = %s\n", 00286 id, 00287 label ? label : var, 00288 setting ? setting : "<not set>"); 00289 00290 return filledform; 00291 }
|
|
Definition at line 180 of file JForm.c. References display_field_text_single(), and xode. Referenced by display_field(). 00181 { 00182 /* unsupported */ 00183 return display_field_text_single(field, filledform, id); 00184 }
|
|
Definition at line 144 of file JForm.c. References get_filled_form(), set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(). 00145 { 00146 char *value, *label, *var, *setting, *tmpstr; 00147 int i; 00148 00149 var = xode_get_attrib(field, "var"); 00150 if (!var) { 00151 return filledform; 00152 } 00153 00154 label = xode_get_attrib(field, "label"); 00155 value = xode_get_tagdata(field, "value"); 00156 setting = get_filled_form(filledform, var); 00157 if (!setting && value) { 00158 setting = value; 00159 filledform = set_filled_form(filledform, var, setting); 00160 } 00161 00162 if (setting) { 00163 tmpstr = (char *)malloc(sizeof(char) * (strlen(setting) + 1)); 00164 for (i = 0; i < strlen(setting); i++) { 00165 tmpstr[i] = '*'; 00166 } 00167 tmpstr[strlen(setting)+1] = '\0'; 00168 } 00169 00170 printf("%c. %-20.20s = %s\n", 00171 id, 00172 label ? label : var, 00173 setting ? tmpstr : "<not set>"); 00174 00175 free(tmpstr); 00176 00177 return filledform; 00178 }
|
|
Definition at line 119 of file JForm.c. References get_filled_form(), set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by display_field(), display_field_jid_multi(), display_field_jid_single(), display_field_list_multi(), and display_field_text_multi(). 00120 { 00121 char *value, *label, *var, *setting; 00122 00123 var = xode_get_attrib(field, "var"); 00124 if (!var) { 00125 return filledform; 00126 } 00127 00128 label = xode_get_attrib(field, "label"); 00129 value = xode_get_tagdata(field, "value"); 00130 setting = get_filled_form(filledform, var); 00131 if (!setting && value) { 00132 setting = value; 00133 filledform = set_filled_form(filledform, var, setting); 00134 } 00135 00136 printf("%c. %-20.20s = %s\n", 00137 id, 00138 label ? label : var, 00139 setting ? setting : "<not set>"); 00140 00141 return filledform; 00142 }
|
|
Definition at line 459 of file JForm.c. References display_field(), display_nonform_field(), JFORM_FIELD, JFORM_INSTRUCTIONS, JFORM_TITLE, SEPARATOR, xode, xode_get_attrib(), xode_get_firstchild(), xode_get_name(), xode_get_nextsibling(), xode_get_tag(), and xode_get_tagdata(). Referenced by JFormHandler(). 00460 { 00461 xode x; 00462 char *type = NULL; 00463 char id = 'A'; 00464 00465 x = xode_get_tag(form, "x"); 00466 if (x) { 00467 type = xode_get_attrib(x, "type"); 00468 } 00469 00470 if (type && !strcmp(type, "form")) { 00471 xode y; 00472 char *title, *instructions; 00473 00474 printf(SEPARATOR); 00475 title = xode_get_tagdata(x, JFORM_TITLE); 00476 if (title) { 00477 printf("%s\n", title); 00478 } 00479 00480 instructions = xode_get_tagdata(x, JFORM_INSTRUCTIONS); 00481 if (instructions) { 00482 printf("Instructions: %s\n", instructions); 00483 } 00484 printf(SEPARATOR); 00485 00486 y = xode_get_firstchild(x); 00487 while (y) { 00488 char *tag; 00489 00490 tag = xode_get_name(y); 00491 if (!tag || strcmp(tag, JFORM_FIELD)) { 00492 y = xode_get_nextsibling(y); 00493 continue; 00494 } 00495 00496 filledform = display_field(y, filledform, &id); 00497 00498 y = xode_get_nextsibling(y); 00499 } 00500 } 00501 else { 00502 xode y; 00503 char *title, *instructions; 00504 00505 printf(SEPARATOR); 00506 title = xode_get_tagdata(form, JFORM_TITLE); 00507 if (title) { 00508 printf("%s\n", title); 00509 } 00510 00511 instructions = xode_get_tagdata(form, JFORM_INSTRUCTIONS); 00512 if (instructions) { 00513 printf("Instructions: %s\n", instructions); 00514 } 00515 printf(SEPARATOR); 00516 00517 y = xode_get_firstchild(form); 00518 while (y) { 00519 char *tag; 00520 00521 tag = xode_get_name(y); 00522 if (!tag 00523 || !strcmp(tag, JFORM_INSTRUCTIONS) 00524 || !strcmp(tag, JFORM_TITLE) 00525 ) { 00526 y = xode_get_nextsibling(y); 00527 continue; 00528 } 00529 00530 filledform = display_nonform_field(y, filledform, id++); 00531 00532 y = xode_get_nextsibling(y); 00533 } 00534 } 00535 00536 return filledform; 00537 }
|
|
Definition at line 964 of file JForm.c. References SEPARATOR, xode, xode_get_attrib(), xode_get_firstchild(), xode_get_nextsibling(), xode_get_tag(), xode_get_tagdata(), xode_insert_cdata(), xode_insert_tag(), and xode_new(). Referenced by JDisplayForm(). 00965 { 00966 xode legend, x, item; 00967 char *title; 00968 int cnt; 00969 00970 title = xode_get_tagdata(form, "title"); 00971 printf(SEPARATOR); 00972 if (title) { 00973 printf("%s\n", title); 00974 } 00975 else { 00976 printf("Results\n"); 00977 } 00978 printf(SEPARATOR); 00979 00980 legend = xode_new("legend"); 00981 x = xode_get_tag(form, "reported"); 00982 if (x) { 00983 x = xode_get_firstchild(x); 00984 while (x) { 00985 char *var, *label; 00986 00987 var = xode_get_attrib(x, "var"); 00988 label = xode_get_attrib(x, "label"); 00989 if (var && label) { 00990 xode tag; 00991 00992 tag = xode_insert_tag(legend, var); 00993 xode_insert_cdata(tag, label, strlen(label)); 00994 } 00995 x = xode_get_nextsibling(x); 00996 } 00997 } 00998 00999 cnt = 0; 01000 item = xode_get_tag(form, "item"); 01001 while (item) { 01002 xode field; 01003 01004 cnt++; 01005 field = xode_get_tag(item, "field"); 01006 while (field) { 01007 char *label, *var, *value; 01008 01009 var = xode_get_attrib(field, "var"); 01010 if (!var) { 01011 field = xode_get_nextsibling(field); 01012 continue; 01013 } 01014 01015 label = xode_get_tagdata(legend, var); 01016 value = xode_get_tagdata(field, "value"); 01017 01018 printf("%-20.20s = %s\n", 01019 label ? label : var, 01020 value ? value : ""); 01021 field = xode_get_nextsibling(field); 01022 } 01023 item = xode_get_nextsibling(item); 01024 printf(SEPARATOR); 01025 } 01026 01027 printf("%d results returned.\n", cnt); 01028 }
|
|
Definition at line 429 of file JForm.c. References get_filled_nonform(), set_filled_form(), xode, xode_get_data(), and xode_get_name(). Referenced by display_form(). 00430 { 00431 char *var, *setting, *current; 00432 00433 var = xode_get_name(field); 00434 if (!var) { 00435 return filledform; 00436 } 00437 00438 if (!strcmp(var, "key")) { 00439 setting = xode_get_data(field); 00440 filledform = set_filled_form(filledform, var, setting); 00441 } 00442 else { 00443 setting = xode_get_data(field); 00444 current = get_filled_nonform(filledform, var); 00445 if (current) { 00446 setting = current; 00447 } 00448 00449 printf("%c: %-20.20s = %s\n", 00450 id, 00451 var, 00452 setting ? setting : "<not set>"); 00453 } 00454 00455 return filledform; 00456 }
|
|
Definition at line 1031 of file JForm.c. References xode, and xode_to_prettystr(). Referenced by JDisplayForm(). 01032 { 01033 printf("Non-Form results:\n%s\n", xode_to_prettystr(form)); 01034 }
|
|
Definition at line 657 of file JForm.c. References get_filled_form(), NULL, SEPARATOR, set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by edit_form_entry(). 00658 { 00659 char *name, *setting, *desc; 00660 char bfr[256]; 00661 00662 name = xode_get_attrib(field, "var"); 00663 if (!name) { 00664 return filledform; 00665 } 00666 00667 desc = xode_get_tagdata(field, "desc"); 00668 00669 setting = get_filled_form(filledform, name); 00670 00671 printf(SEPARATOR); 00672 printf("%s. %s: %s\n", 00673 id, 00674 name, 00675 setting ? 00676 ((!strcmp(setting, "1")) || 00677 (!strcmp(setting, "true")) || 00678 (!strcmp(setting, "yes")) ? "true" : "false") 00679 : "<not set>"); 00680 if (desc) { 00681 printf("%s\n", desc); 00682 } 00683 printf(SEPARATOR); 00684 printf("0. false\n"); 00685 printf("1. true\n"); 00686 printf(SEPARATOR); 00687 printf("Enter setting: "); 00688 fflush(stdout); 00689 00690 if (!fgets(bfr, sizeof(bfr), stdin)) { 00691 return filledform; 00692 } 00693 00694 bfr[strlen(bfr) - 1] = '\0'; 00695 00696 if (!strcmp(bfr, "")) { 00697 filledform = set_filled_form(filledform, name, NULL); 00698 } 00699 else if (!strcmp(bfr, "0") || !strcmp(bfr, "false") || 00700 !strcmp(bfr, "no")) { 00701 filledform = set_filled_form(filledform, name, "0"); 00702 } 00703 else if (!strcmp(bfr, "1") || !strcmp(bfr, "true") || 00704 !strcmp(bfr, "yes")) { 00705 filledform = set_filled_form(filledform, name, "1"); 00706 } 00707 else { 00708 printf("Illegal setting specified.\n"); 00709 return edit_field_boolean(field, filledform, id); 00710 } 00711 00712 printf("\n"); 00713 00714 return filledform; 00715 }
|
|
Definition at line 723 of file JForm.c. References edit_field_text_single(), and xode. Referenced by edit_form_entry(). 00724 { 00725 /* unsupported */ 00726 return edit_field_text_single(field, filledform, id); 00727 }
|
|
Definition at line 717 of file JForm.c. References edit_field_text_single(), and xode. Referenced by edit_form_entry(). 00718 { 00719 /* unsupported */ 00720 return edit_field_text_single(field, filledform, id); 00721 }
|
|
Definition at line 651 of file JForm.c. References edit_field_text_single(), and xode. Referenced by edit_form_entry(). 00652 { 00653 /* unsupported */ 00654 return edit_field_text_single(field, filledform, id); 00655 }
|
|
Definition at line 595 of file JForm.c. References get_filled_form(), NULL, SEPARATOR, set_filled_form(), show_list_labels(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by edit_form_entry(). 00596 { 00597 char *name, *setting, *desc; 00598 char bfr[256]; 00599 int maxid, choiceid; 00600 00601 name = xode_get_attrib(field, "var"); 00602 if (!name) { 00603 return filledform; 00604 } 00605 00606 desc = xode_get_tagdata(field, "desc"); 00607 00608 setting = get_filled_form(filledform, name); 00609 00610 printf(SEPARATOR); 00611 printf("%s. %s: %s\n", 00612 id, 00613 name, 00614 setting ? 00615 ((!strcmp(setting, "1")) || 00616 (!strcmp(setting, "true")) || 00617 (!strcmp(setting, "yes")) ? "true" : "false") 00618 : "<not set>"); 00619 if (desc) { 00620 printf("%s\n", desc); 00621 } 00622 printf(SEPARATOR); 00623 maxid = show_list_labels(field); 00624 printf(SEPARATOR); 00625 printf("Enter setting: "); 00626 fflush(stdout); 00627 00628 if (!fgets(bfr, sizeof(bfr), stdin)) { 00629 return filledform; 00630 } 00631 00632 bfr[strlen(bfr) - 1] = '\0'; 00633 choiceid = atoi(bfr); 00634 00635 if (!strcmp(bfr, "")) { 00636 filledform = set_filled_form(filledform, name, NULL); 00637 } 00638 else if (isdigit(bfr[0]) && (choiceid <= maxid) && (choiceid >= 0)) { 00639 filledform = set_filled_form(filledform, name, bfr); 00640 } 00641 else { 00642 printf("Illegal choice specified.\n"); 00643 return edit_field_list_single(field, filledform, id); 00644 } 00645 00646 printf("\n"); 00647 00648 return filledform; 00649 }
|
|
Definition at line 589 of file JForm.c. References edit_field_text_single(), and xode. Referenced by edit_form_entry(). 00590 { 00591 /* unsupported */ 00592 return edit_field_text_single(field, filledform, id); 00593 }
|
|
Definition at line 583 of file JForm.c. References edit_field_text_single(), and xode. Referenced by edit_form_entry(). 00584 { 00585 /* unsupported */ 00586 return edit_field_text_single(field, filledform, id); 00587 }
|
|
Definition at line 539 of file JForm.c. References get_filled_form(), NULL, SEPARATOR, set_filled_form(), xode, xode_get_attrib(), and xode_get_tagdata(). Referenced by edit_field_jid_multi(), edit_field_jid_single(), edit_field_list_multi(), edit_field_text_multi(), edit_field_text_private(), and edit_form_entry(). 00540 { 00541 char *name, *setting, *desc; 00542 char bfr[256]; 00543 00544 name = xode_get_attrib(field, "var"); 00545 if (!name) { 00546 return filledform; 00547 } 00548 00549 desc = xode_get_tagdata(field, "desc"); 00550 00551 setting = get_filled_form(filledform, name); 00552 00553 printf(SEPARATOR); 00554 printf("%s. %s: %s\n", 00555 id, 00556 name, 00557 setting ? setting : "<not set>"); 00558 if (desc) { 00559 printf("%s\n", desc); 00560 } 00561 printf(SEPARATOR); 00562 printf("Enter setting: "); 00563 fflush(stdout); 00564 00565 if (!fgets(bfr, sizeof(bfr), stdin)) { 00566 return filledform; 00567 } 00568 00569 bfr[strlen(bfr) - 1] = '\0'; 00570 00571 if (!strcmp(bfr, "")) { 00572 filledform = set_filled_form(filledform, name, NULL); 00573 } 00574 else { 00575 filledform = set_filled_form(filledform, name, bfr); 00576 } 00577 00578 printf("\n"); 00579 00580 return filledform; 00581 }
|
|
Definition at line 730 of file JForm.c. References edit_field_boolean(), edit_field_jid_multi(), edit_field_jid_single(), edit_field_list_multi(), edit_field_list_single(), edit_field_text_multi(), edit_field_text_private(), edit_field_text_single(), JFORM_FIELD_BOOLEAN, JFORM_FIELD_JID_MULTI, JFORM_FIELD_JID_SINGLE, JFORM_FIELD_LIST_MULTI, JFORM_FIELD_LIST_SINGLE, JFORM_FIELD_TEXT_MULTI, JFORM_FIELD_TEXT_PRIVATE, JFORM_FIELD_TEXT_SINGLE, xode, and xode_get_attrib(). Referenced by process_form_choice(). 00731 { 00732 char *type; 00733 00734 type = xode_get_attrib(entry, "type"); 00735 if (!type) { 00736 return filledform; 00737 } 00738 00739 if (!strcmp(type, JFORM_FIELD_TEXT_SINGLE)) { 00740 filledform = edit_field_text_single(entry, filledform, id); 00741 } 00742 else if (!strcmp(type, JFORM_FIELD_TEXT_PRIVATE)) { 00743 filledform = edit_field_text_private(entry, filledform, id); 00744 } 00745 else if (!strcmp(type, JFORM_FIELD_TEXT_MULTI)) { 00746 filledform = edit_field_text_multi(entry, filledform, id); 00747 } 00748 else if (!strcmp(type, JFORM_FIELD_LIST_SINGLE)) { 00749 filledform = edit_field_list_single(entry, filledform, id); 00750 } 00751 else if (!strcmp(type, JFORM_FIELD_LIST_MULTI)) { 00752 filledform = edit_field_list_multi(entry, filledform, id); 00753 } 00754 else if (!strcmp(type, JFORM_FIELD_BOOLEAN)) { 00755 filledform = edit_field_boolean(entry, filledform, id); 00756 } 00757 else if (!strcmp(type, JFORM_FIELD_JID_SINGLE)) { 00758 filledform = edit_field_jid_single(entry, filledform, id); 00759 } 00760 else if (!strcmp(type, JFORM_FIELD_JID_MULTI)) { 00761 filledform = edit_field_jid_multi(entry, filledform, id); 00762 } 00763 else { 00764 /* Unsupported, punt to text_single */ 00765 filledform = edit_field_text_single(entry, filledform, id); 00766 } 00767 00768 return filledform; 00769 }
|
|
Definition at line 802 of file JForm.c. References get_filled_nonform(), NULL, SEPARATOR, set_filled_nonform(), xode, and xode_get_name(). Referenced by process_nonform_choice(). 00803 { 00804 char *name, *setting; 00805 char bfr[256]; 00806 00807 name = xode_get_name(entry); 00808 if (!name) { 00809 return filledform; 00810 } 00811 00812 setting = get_filled_nonform(filledform, name); 00813 00814 printf(SEPARATOR); 00815 printf("%s. %s: %s\n", 00816 id, 00817 name, 00818 setting ? setting : "<not set>"); 00819 printf(SEPARATOR); 00820 printf("Enter setting: "); 00821 fflush(stdout); 00822 00823 if (!fgets(bfr, sizeof(bfr), stdin)) { 00824 return filledform; 00825 } 00826 00827 bfr[strlen(bfr) - 1] = '\0'; 00828 00829 if (!strcmp(bfr, "")) { 00830 filledform = set_filled_nonform(filledform, name, NULL); 00831 } 00832 else { 00833 filledform = set_filled_nonform(filledform, name, bfr); 00834 } 00835 00836 printf("\n"); 00837 00838 return filledform; 00839 }
|
|
Definition at line 216 of file JForm.c. References xode, xode_get_attrib(), xode_get_nextsibling(), xode_get_tag(), and xode_get_tagdata(). 00217 { 00218 xode option; 00219 int id = 0; 00220 00221 option = xode_get_tag(field, "option"); 00222 while (option) { 00223 char *label, *value; 00224 00225 value = xode_get_tagdata(option, "value"); 00226 if (!value) { 00227 continue; 00228 } 00229 00230 label = xode_get_attrib(option, "label"); 00231 00232 id++; 00233 if (id == choice) { 00234 return (label ? label : value); 00235 } 00236 00237 option = xode_get_nextsibling(option); 00238 } 00239 00240 return NULL; 00241 }
|
|
Definition at line 186 of file JForm.c. References target, xode, xode_get_attrib(), xode_get_nextsibling(), xode_get_tag(), and xode_get_tagdata(). Referenced by display_field_fixed(), and display_field_list_single(). 00187 { 00188 xode option; 00189 char *value; 00190 00191 option = xode_get_tag(field, "option"); 00192 while (option) { 00193 value = xode_get_tagdata(option, "value"); 00194 if (!value) { 00195 continue; 00196 } 00197 00198 if (!strcmp(value, target)) { 00199 char *label; 00200 00201 label = xode_get_attrib(option, "label"); 00202 if (label) { 00203 return label; 00204 } 00205 else { 00206 return target; 00207 } 00208 } 00209 00210 option = xode_get_nextsibling(option); 00211 } 00212 00213 return NULL; 00214 }
|
|
Definition at line 51 of file JForm.c. References xode, xode_get_attrib(), xode_get_firstchild(), xode_get_nextsibling(), and xode_get_tagdata(). Referenced by display_field_boolean(), display_field_fixed(), display_field_list_single(), display_field_text_private(), display_field_text_single(), edit_field_boolean(), edit_field_list_single(), and edit_field_text_single(). 00052 { 00053 char *value, *var; 00054 xode entry, x; 00055 00056 if (!variable) { 00057 return NULL; 00058 } 00059 00060 entry = NULL; 00061 x = xode_get_firstchild(filledform); 00062 while (x) { 00063 var = xode_get_attrib(x, "var"); 00064 if (!var) { 00065 continue; 00066 } 00067 00068 if (!strcmp(var, variable)) { 00069 entry = x; 00070 break; 00071 } 00072 00073 x = xode_get_nextsibling(x); 00074 } 00075 00076 if (!entry) { 00077 return NULL; 00078 } 00079 00080 value = xode_get_tagdata(entry, "value"); 00081 return value; 00082 }
|
|
Definition at line 107 of file JForm.c. References xode, and xode_get_tagdata(). Referenced by display_nonform_field(), and edit_nonform_entry(). 00108 { 00109 char *entry; 00110 00111 if (!variable) { 00112 return NULL; 00113 } 00114 00115 entry = xode_get_tagdata(filledform, variable); 00116 return entry; 00117 }
|
|
Definition at line 1037 of file JForm.c. References display_form_results(), display_nonform_results(), xode, and xode_get_tag(). Referenced by jctl_on_event_handler(). 01038 { 01039 xode x; 01040 char *type; 01041 01042 x = xode_get_tag(form, "x"); 01043 if (x) { 01044 return display_form_results(x); 01045 } 01046 else { 01047 return display_nonform_results(form); 01048 } 01049 }
|
|
Definition at line 901 of file JForm.c. References display_form(), ns, NS_DATA, process_choice(), xode, xode_get_attrib(), xode_get_tag(), xode_insert_tag(), xode_new(), and xode_put_attrib(). Referenced by jctl_on_event_handler(). 00902 { 00903 xode baseform, filledform, query, x; 00904 char *ns, *type; 00905 char bfr[100]; 00906 00907 ns = xode_get_attrib(form, "xmlns"); 00908 if (!ns) { 00909 printf("Invalid form returned, no query namespace.\n"); 00910 return NULL; 00911 } 00912 00913 baseform = xode_new("query"); 00914 xode_put_attrib(baseform, "xmlns", ns); 00915 00916 type = ns = NULL; 00917 00918 x = xode_get_tag(form, "x"); 00919 if (x) { 00920 type = xode_get_attrib(x, "type"); 00921 } 00922 00923 if (type && !strcmp(type, "form")) { 00924 filledform = xode_insert_tag(baseform, "x"); 00925 xode_put_attrib(filledform, "xmlns", NS_DATA); 00926 xode_put_attrib(filledform, "type", "submit"); 00927 } 00928 else { 00929 filledform = baseform; 00930 } 00931 00932 for (;;) { 00933 filledform = display_form(form, filledform); 00934 printf("\n"); 00935 printf("Enter a letter id to modify, 'submit' to submit, or 'cancel' to cancel.\n"); 00936 printf("Command: "); 00937 fflush(stdout); 00938 00939 if (!fgets(bfr, sizeof(bfr), stdin)) { 00940 break; 00941 } 00942 00943 printf("\n"); 00944 bfr[strlen(bfr) - 1] = '\0'; 00945 00946 if (!strncmp(bfr, "cancel", 6)) { 00947 return NULL; 00948 } 00949 else if (!strncmp(bfr, "submit", 6)) { 00950 break; 00951 } 00952 else if (strlen(bfr) > 1) { 00953 continue; 00954 } 00955 else { 00956 filledform = process_choice(bfr, form, filledform); 00957 } 00958 } 00959 00960 return baseform; 00961 }
|
|
Definition at line 876 of file JForm.c. References process_form_choice(), process_nonform_choice(), xode, xode_get_attrib(), and xode_get_tag(). Referenced by JFormHandler(). 00877 { 00878 xode x; 00879 char *type; 00880 00881 if (!choice) { 00882 return filledform; 00883 } 00884 00885 x = xode_get_tag(form, "x"); 00886 if (x) { 00887 type = xode_get_attrib(x, "type"); 00888 } 00889 00890 if (type && !strcmp(type, "form")) { 00891 filledform = process_form_choice(choice, x, filledform); 00892 } 00893 else { 00894 filledform = process_nonform_choice(choice, form, filledform); 00895 } 00896 00897 return filledform; 00898 }
|
|
Definition at line 772 of file JForm.c. References edit_form_entry(), JFORM_FIELD, xode, xode_get_firstchild(), xode_get_name(), and xode_get_nextsibling(). Referenced by process_choice(). 00773 { 00774 xode x, y; 00775 char id = 'A'; 00776 char idstr[2]; 00777 idstr[1] = '\0'; 00778 00779 x = xode_get_firstchild(form); 00780 while (x) { 00781 char *tag; 00782 00783 tag = xode_get_name(x); 00784 if (!tag || strcmp(tag, JFORM_FIELD)) { 00785 x = xode_get_nextsibling(x); 00786 continue; 00787 } 00788 00789 idstr[0] = id++; 00790 if (!strncasecmp(idstr, choice, 1)) { 00791 filledform = edit_form_entry(idstr, x, filledform); 00792 return filledform; 00793 } 00794 00795 x = xode_get_nextsibling(x); 00796 } 00797 00798 return filledform; 00799 }
|
|
Definition at line 842 of file JForm.c. References edit_nonform_entry(), JFORM_INSTRUCTIONS, JFORM_TITLE, xode, xode_get_firstchild(), xode_get_name(), and xode_get_nextsibling(). Referenced by process_choice(). 00843 { 00844 xode x; 00845 char id = 'A'; 00846 char idstr[2]; 00847 idstr[1] = '\0'; 00848 00849 x = xode_get_firstchild(form); 00850 while (x) { 00851 char *tag; 00852 00853 tag = xode_get_name(x); 00854 if (!tag 00855 || !strcmp(tag, JFORM_INSTRUCTIONS) 00856 || !strcmp(tag, JFORM_TITLE) 00857 || !strcmp(tag, "key") 00858 ) { 00859 x = xode_get_nextsibling(x); 00860 continue; 00861 } 00862 00863 idstr[0] = id++; 00864 if (!strncasecmp(idstr, choice, 1)) { 00865 filledform = edit_nonform_entry(idstr, x, filledform); 00866 return filledform; 00867 } 00868 00869 x = xode_get_nextsibling(x); 00870 } 00871 00872 return filledform; 00873 }
|
|
Definition at line 10 of file JForm.c. References xode, xode_get_attrib(), xode_get_firstchild(), xode_get_nextsibling(), xode_hide(), xode_insert_cdata(), xode_insert_tag(), and xode_put_attrib(). Referenced by display_field_boolean(), display_field_fixed(), display_field_hidden(), display_field_list_single(), display_field_text_private(), display_field_text_single(), display_nonform_field(), edit_field_boolean(), edit_field_list_single(), and edit_field_text_single(). 00011 { 00012 xode x, entry, value; 00013 char *var; 00014 00015 if (!variable) { 00016 return filledform; 00017 } 00018 00019 entry = NULL; 00020 x = xode_get_firstchild(filledform); 00021 while (x) { 00022 var = xode_get_attrib(x, "var"); 00023 if (!var) { 00024 continue; 00025 } 00026 00027 if (!strcmp(var, variable)) { 00028 entry = x; 00029 break; 00030 } 00031 00032 x = xode_get_nextsibling(x); 00033 } 00034 00035 if (entry) { 00036 xode_hide(entry); 00037 } 00038 00039 if (!setting) { 00040 return filledform; 00041 } 00042 00043 entry = xode_insert_tag(filledform, "field"); 00044 xode_put_attrib(entry, "var", variable); 00045 value = xode_insert_tag(entry, "value"); 00046 xode_insert_cdata(value, setting, strlen(setting)); 00047 00048 return filledform; 00049 }
|
|
Definition at line 84 of file JForm.c. References xode, xode_get_tag(), xode_hide(), xode_insert_cdata(), and xode_insert_tag(). Referenced by edit_nonform_entry(). 00085 { 00086 xode entry; 00087 00088 if (!variable) { 00089 return filledform; 00090 } 00091 00092 entry = xode_get_tag(filledform, variable); 00093 if (entry) { 00094 xode_hide(entry); 00095 } 00096 00097 if (!setting) { 00098 return filledform; 00099 } 00100 00101 entry = xode_insert_tag(filledform, variable); 00102 xode_insert_cdata(entry, setting, strlen(setting)); 00103 00104 return filledform; 00105 }
|
|
Definition at line 243 of file JForm.c. References xode, xode_get_attrib(), xode_get_nextsibling(), xode_get_tag(), and xode_get_tagdata(). Referenced by edit_field_list_single(). 00244 { 00245 xode option; 00246 int id = 0; 00247 00248 option = xode_get_tag(field, "option"); 00249 while (option) { 00250 char *label, *value; 00251 00252 value = xode_get_tagdata(option, "value"); 00253 if (!value) { 00254 continue; 00255 } 00256 00257 label = xode_get_attrib(option, "label"); 00258 printf("%d. %s\n", id++, label ? label : value); 00259 00260 option = xode_get_nextsibling(option); 00261 } 00262 00263 return --id; 00264 }
|
Last updated at Tue Dec 18 21:07:42 PST 2007. | This site and project hosted by... |