2 * Edits a users push email settings
3 * Author: Mathew McBride <matt@mcbridematt.dhs.org>
7 void display_pushemail(void) {
13 svprintf("BOXTITLE", WCS_STRING, _("Push email and SMS settings"));
15 /* Find any existing settings*/
16 if (goto_config_room() == 0) {
18 serv_puts("MSGS ALL|0|1");
19 serv_getln(buf, sizeof(buf));
21 serv_puts("subj|__ Push email settings __");
23 while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
29 serv_printf("MSG0 %ld", msgnum);
30 serv_getln(buf, sizeof buf);
32 while (serv_getln(buf, sizeof buf),
33 (strcmp(buf, "text") && strcmp(buf, "000"))) {
36 if (!strcmp(buf, "text")) {
37 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
38 if (strncasecmp(buf, "none", 4) == 0) {
40 } else if (strncasecmp(buf, "textmessage", 11) == 0) {
43 } else if (strncasecmp(buf, "funambol", 8) == 0) {
46 strncpy(mobnum, buf, 20);
54 svprintf("PUSH_NONE", WCS_STRING, "checked=\"checked\"");
55 } else if (is_pager) {
56 svprintf("PUSH_TEXT", WCS_STRING, "checked=\"checked\"");
57 svprintf("SMSNUM", WCS_STRING, "value=\"%s\"", mobnum);
58 } else if (is_funambol) {
59 svprintf("PUSH_FNBL", WCS_STRING, "checked=\"checked\"");
61 serv_printf("GOTO %s", WC->wc_roomname);
62 serv_getln(buf, sizeof buf);
64 output_headers(1, 1, 2, 0, 0, 0);
65 do_template("pushemail");
66 //do_template("endbox");
70 void save_pushemail(void) {
73 char *pushsetting = bstr("pushsetting");
75 if (strncasecmp(pushsetting, "textmessage", 11) == 0) {
76 sms = bstr("user_sms_number");
78 if (goto_config_room() != 0) return; /* oh well. */
79 serv_puts("MSGS ALL|0|1");
80 serv_getln(buf, sizeof buf);
82 serv_puts("subj|__ Push email settings __");
85 printf("Junk in save_pushemail buffer!: %s\n", buf);
88 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
93 serv_printf("DELE %ld", msgnum);
94 serv_getln(buf, sizeof buf);
97 serv_printf("ENT0 1||0|1|__ Push email settings __|");
98 serv_getln(buf, sizeof buf);
100 serv_puts(pushsetting);
108 /** Go back to the room we're supposed to be in */
109 serv_printf("GOTO %s", WC->wc_roomname);
110 serv_getln(buf, sizeof buf);
111 http_redirect("display_pushemail");