5 * \defgroup StickyNotes Functions which handle "sticky notes"
11 #include "webserver.h"
14 * \brief display sticky notes
15 * \param msgnum the citadel mesage number
17 void display_note(long msgnum)
21 char display_notetext[SIZ];
26 wprintf("<IMG ALIGN=MIDDLE src=\"static/storenotes_48x.gif\">\n");
28 serv_printf("MSG0 %ld", msgnum);
29 serv_getln(buf, sizeof buf);
31 wprintf("%s<br />\n", &buf[4]);
37 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
39 /** Fill the buffer */
40 if ( (in_text) && (strlen(notetext) < SIZ-256) ) {
41 strcat(notetext, buf);
44 if ( (!in_text) && (!strncasecmp(buf, "exti=", 5)) ) {
45 safestrncpy(eid, &buf[5], sizeof eid);
48 if ( (!in_text) && (!strcasecmp(buf, "text")) ) {
53 /** Now sanitize the buffer */
54 for (i=0; i<strlen(notetext); ++i) {
55 if (isspace(notetext[i])) notetext[i] = ' ';
58 /** Make it HTML-happy and print it. */
59 stresc(display_notetext, notetext, 0, 0);
60 if (strlen(eid) > 0) {
61 wprintf("<span id=\"note%s\">%s</span><br />\n", eid, display_notetext);
64 wprintf("<span id=\"note%ld\">%s</span><br />\n", msgnum, display_notetext);
67 /** Offer in-place editing. */
68 if (strlen(eid) > 0) {
69 wprintf("<script type=\"text/javascript\">"
70 " new Ajax.InPlaceEditor('note%s', 'updatenote?eid=%s', {rows:5,cols:72}); "
80 * \brief This gets called by the Ajax.InPlaceEditor when we save a note.
86 char display_notetext[SIZ];
91 serv_printf("ENT0 1||0|0||||||%s", bstr("eid"));
92 serv_getln(buf, sizeof buf);
94 text_to_server(bstr("value"), 0);
98 begin_ajax_response();
99 msgnum = locate_message_by_uid(bstr("eid"));
101 serv_printf("MSG0 %ld", msgnum);
102 serv_getln(buf, sizeof buf);
104 while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
106 /** Fill the buffer */
107 if ( (in_text) && (strlen(notetext) < SIZ-256) ) {
108 strcat(notetext, buf);
111 if ( (!in_text) && (!strcasecmp(buf, "text")) ) {
115 /** Now sanitize the buffer */
116 for (i=0; i<strlen(notetext); ++i) {
117 if (isspace(notetext[i])) notetext[i] = ' ';
120 /** Make it HTML-happy and print it. */
121 stresc(display_notetext, notetext, 0, 0);
122 wprintf("%s\n", display_notetext);
126 wprintf("%s", _("An error has occurred."));