the_method = icalproperty_get_method(method);
char *title;
- wprintf("<h2><span>");
+ wprintf("<div id=\"%s_title\">", divname);
+ wprintf("<img src=\"static/calarea_48x.gif\">");
+ wprintf("<span>");
switch(the_method) {
case ICAL_METHOD_REQUEST:
title = _("Meeting invitation");
}
wprintf("</span>");
- wprintf("<div id=\"%s_title\">", divname);
- wprintf("<img src=\"static/calarea_48x.gif\">"
- " %s",
- title
- );
- wprintf("</h2>");
+ wprintf(" %s",title);
+ wprintf("</div>");
}
wprintf("<dl>");
}
else {
tt = icaltime_as_timet(t);
- fmt_date(buf, tt, 0);
+ webcit_fmt_date(buf, tt, 0);
wprintf("<dt>");
wprintf(_("Starting date/time:"));
wprintf("</dt><dd>%s</dd>", buf);
if (p != NULL) {
t = icalproperty_get_dtend(p);
tt = icaltime_as_timet(t);
- fmt_date(buf, tt, 0);
+ webcit_fmt_date(buf, tt, 0);
wprintf("<dt>");
wprintf(_("Ending date/time:"));
wprintf("</dt><dd>%s</dd>", buf);
_("CONFLICT:")
)
);
+ wprintf("</dt><dd>");
escputs(conflict_message);
- wprintf("</dt>\n");
+ wprintf("</dd>\n");
}
}
lprintf(9, "...done.\n");
wprintf("</dl>");
/** Display the Accept/Decline buttons */
- wprintf("<div id=\"%s_question\">"
+ wprintf("<p id=\"%s_question\">"
"%s "
+ " <span class=\"button_link\"> "
"<a href=\"javascript:RespondToInvitation('%s_question','%s_title','%ld','%s','Accept');\">%s</a>"
- " | "
+ "</span> <span class=\"button_link\">"
"<a href=\"javascript:RespondToInvitation('%s_question','%s_title','%ld','%s','Tentative');\">%s</a>"
- " | "
+ "</span> <span class=\"button_link\">"
"<a href=\"javascript:RespondToInvitation('%s_question','%s_title','%ld','%s','Decline');\">%s</a>"
- "</div>\n",
+ "</span></p>\n",
divname,
_("How would you like to respond to this invitation?"),
divname, divname, msgnum, cal_partnum, _("Accept"),
***********/
/** Display the update buttons */
- wprintf("<div id=\"%s_question\">"
- "%s"
+ wprintf("<p id=\"%s_question\" >"
+ "%s "
+ " <span class=\"button_link\"> "
"<a href=\"javascript:HandleRSVP('%s_question','%s_title','%ld','%s','Update');\">%s</a>"
- " | "
+ "</span> <span class=\"button_link\">"
"<a href=\"javascript:HandleRSVP('%s_question','%s_title','%ld','%s','Ignore');\">%s</a>"
- "</div>\n",
+ "</span></p>\n",
divname,
_("Click <i>Update</i> to accept this reply and update your calendar."),
divname, divname, msgnum, cal_partnum, _("Update"),
/** Trailing HTML for the display of this object */
if (recursion_level == 0) {
- wprintf("</div>\n");
+ wprintf("<p> </p></div>\n");
}
}
serv_getln(buf, sizeof buf);
if (buf[0] == '2') {
- wprintf("<table border=0 cellpadding=0><tr><td>");
- wprintf("<td><img align=\"center\" src=\"static/calarea_48x.gif\"></td><td><b><i>");
+ wprintf("<img src=\"static/calarea_48x.gif\"><span>");
if (!strcasecmp(bstr("sc"), "accept")) {
wprintf(_("You have accepted this meeting invitation. "
"It has been entered into your calendar.")
}
wprintf(" ");
wprintf(_("A reply has been sent to the meeting organizer."));
- wprintf("</i></b></td></tr></table>");
+ wprintf("</span>");
} else {
- wprintf("<img align=\"center\" src=\"static/error.gif\"> <b><i>");
+ wprintf("<img align=\"center\" src=\"static/error.gif\"><span>");
wprintf("%s\n", &buf[4]);
+ wprintf("</span>");
}
end_ajax_response();
serv_getln(buf, sizeof buf);
if (buf[0] == '2') {
- wprintf("<table border=0 cellpadding=0><tr><td>");
- wprintf("<td><img align=\"center\" src=\"static/calarea_48x.gif\"></td><td><b><i>");
+ wprintf("<img src=\"static/calarea_48x.gif\"><span>");
if (!strcasecmp(bstr("sc"), "update")) {
wprintf(_("Your calendar has been updated to reflect this RSVP."));
} else if (!strcasecmp(bstr("sc"), "ignore")) {
"Your calendar has <b>not</b> been updated.")
);
}
- wprintf("</i></b></td></tr></table>");
+ wprintf("</span>");
} else {
- wprintf("<img src=\"static/error.gif\" align=center> %s\n", &buf[4]);
+ wprintf("<img src=\"static/error.gif\"><span> %s\n", &buf[4]);
+ wprintf("</span>");
}
end_ajax_response();
* \param cal Our calendar to process
* \param msgnum number of the mesage in our db
*/
-void display_individual_cal(icalcomponent *cal, long msgnum) {
-
- WC->num_cal += 1;
-
- WC->disp_cal = realloc(WC->disp_cal,
- (sizeof(struct disp_cal) * WC->num_cal) );
- WC->disp_cal[WC->num_cal - 1].cal = icalcomponent_new_clone(cal);
-
- WC->disp_cal[WC->num_cal - 1].cal_msgnum = msgnum;
+void display_individual_cal(icalcomponent *cal, long msgnum)
+{
+ struct wcsession *WCC = WC; /* stack this for faster access (WC is a function) */
+
+ WCC->num_cal += 1;
+ WCC->disp_cal = realloc(WC->disp_cal, (sizeof(struct disp_cal) * WCC->num_cal) );
+ WCC->disp_cal[WCC->num_cal - 1].cal = icalcomponent_new_clone(cal);
+ ical_dezonify(WCC->disp_cal[WCC->num_cal - 1].cal);
+ WCC->disp_cal[WCC->num_cal - 1].cal_msgnum = msgnum;
}
}
output_headers(1, 1, 2, 0, 0, 0);
- wprintf("<div id=\"banner\">\n"
- "<TABLE class=\"calendar_banner\"><TR>"
- "<TD><img src=\"static/taskmanag_48x.gif\"></TD>"
- "<td><SPAN CLASS=\"titlebar\">");
+ wprintf("<div id=\"banner\">\n");
+ wprintf("<img src=\"static/taskmanag_48x.gif\">");
+ wprintf("<h1>");
wprintf(_("Edit task"));
- wprintf("</SPAN>"
- "</TD></TR></TABLE>\n"
- "</div>\n<div id=\"content\">\n"
- );
+ wprintf("</h1>");
+ wprintf("</div>\n");
+
+ wprintf("<div id=\"content\" class=\"service\">\n");
wprintf("<div class=\"fix_scrollbar_bug\">"
"<table class=\"calendar_background\"><tr><td>");
icalcomponent_remove_property(vtodo, prop);
icalproperty_free(prop);
}
- icalcomponent_add_property(vtodo,
- icalproperty_new_summary(bstr("summary")));
-
+ if (!IsEmptyStr(bstr("summary"))) {
+
+ icalcomponent_add_property(vtodo,
+ icalproperty_new_summary(bstr("summary")));
+ } else {
+ icalcomponent_add_property(vtodo,
+ icalproperty_new_summary("Untitled Task"));
+ }
+
while (prop = icalcomponent_get_first_property(vtodo,
ICAL_DESCRIPTION_PROPERTY), prop != NULL) {
icalcomponent_remove_property(vtodo, prop);
char *relevant_source = NULL;
icalcomponent *cal, *c;
- sprintf(buf, "MSG0 %ld|0", msgnum); /* unfortunately we need the mime headers */
+ relevant_partnum[0] = '\0';
+ sprintf(buf, "MSG4 %ld", msgnum); /* we need the mime headers */
serv_puts(buf);
serv_getln(buf, sizeof buf);
if (buf[0] != '1') return;
if (!strcasecmp(mime_content_type, "text/calendar")) {
strcpy(relevant_partnum, mime_partnum);
}
+ else if (!strcasecmp(mime_content_type, "text/vtodo")) {
+ strcpy(relevant_partnum, mime_partnum);
+ }
}
}