/*
* $Id$
+ *
+ * Editing calendar events.
*/
-/**
- * \defgroup EditCal Editing calendar events.
- * \ingroup Calendaring
- */
-/*@{*/
+
#include "webcit.h"
#include "webserver.h"
-#ifdef WEBCIT_WITH_CALENDAR_SERVICE
-
-/**
+/*
* \brief Display an event by itself (for editing)
* \param supplied_vevent the event to edit
* \param msgnum reference on the citserver
*/
-void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum) {
+void display_edit_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread) {
icalcomponent *vevent;
icalproperty *p;
icalvalue *v;
if (icalcomponent_isa(vevent) == ICAL_VCALENDAR_COMPONENT) {
display_edit_individual_event(
icalcomponent_get_first_component(
- vevent, ICAL_VEVENT_COMPONENT
- ), msgnum
+ vevent, ICAL_VEVENT_COMPONENT),
+ msgnum, from, unread
);
return;
}
wprintf("<div id=\"content\" class=\"service\">\n");
- wprintf("<script type=\"text/javascript\">"
- "function grey_all_day() { "
- "if (document.EventForm.alldayevent.checked) {"
- "document.EventForm.dtstart_hour.value='0';"
- "document.EventForm.dtstart_hour.disabled = true;"
- "document.EventForm.dtstart_minute.value='0';"
- "document.EventForm.dtstart_minute.disabled = true;"
- "document.EventForm.dtend_hour.value='0';"
- "document.EventForm.dtend_hour.disabled = true;"
- "document.EventForm.dtend_minute.value='0';"
- "document.EventForm.dtend_minute.disabled = true;"
- "document.EventForm.dtend_month.disabled = true;"
- "document.EventForm.dtend_day.disabled = true;"
- "document.EventForm.dtend_year.disabled = true;"
- "}"
- "else {"
- "document.EventForm.dtstart_hour.disabled = false;"
- "document.EventForm.dtstart_minute.disabled = false;"
- "document.EventForm.dtend_hour.disabled = false;"
- "document.EventForm.dtend_minute.disabled = false;"
- "document.EventForm.dtend_month.disabled = false;"
- "document.EventForm.dtend_day.disabled = false;"
- "document.EventForm.dtend_year.disabled = false;"
- "}"
- "}"
- "</script>\n"
- );
-
-
wprintf("<div class=\"fix_scrollbar_bug\">"
"<table class=\"event_background\"><tr><td>\n");
*************************************************************/
wprintf("<FORM NAME=\"EventForm\" METHOD=\"POST\" action=\"save_event\">\n");
- wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+ wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
wprintf("<INPUT TYPE=\"hidden\" NAME=\"msgnum\" VALUE=\"%ld\">\n",
msgnum);
}
else {
localtime_r(&now, &tm_now);
- if (!IsEmptyStr(bstr("year"))) {
- tm_now.tm_year = atoi(bstr("year")) - 1900;
- tm_now.tm_mon = atoi(bstr("month")) - 1;
- tm_now.tm_mday = atoi(bstr("day"));
+ if (havebstr("year")) {
+ tm_now.tm_year = ibstr("year") - 1900;
+ tm_now.tm_mon = ibstr("month") - 1;
+ tm_now.tm_mday = ibstr("day");
}
- if (!IsEmptyStr(bstr("hour"))) {
- tm_now.tm_hour = atoi(bstr("hour"));
- tm_now.tm_min = atoi(bstr("minute"));
+ if (havebstr("hour")) {
+ tm_now.tm_hour = ibstr("hour");
+ tm_now.tm_min = ibstr("minute");
tm_now.tm_sec = 0;
}
else {
t_start = icaltime_from_timet_with_zone(
mktime(&tm_now),
- ((!strcasecmp(bstr("alldayevent"), "yes")) ? 1 : 0),
+ ((yesbstr("alldayevent")) ? 1 : 0),
icaltimezone_get_utc_timezone()
);
t_start.is_utc = 1;
}
display_icaltimetype_as_webform(&t_start, "dtstart");
- wprintf("<INPUT TYPE=\"checkbox\" NAME=\"alldayevent\" "
- "VALUE=\"yes\" onClick=\"grey_all_day();\""
+ wprintf("<INPUT TYPE=\"checkbox\" id=\"alldayevent\" NAME=\"alldayevent\" "
+ "VALUE=\"yes\" onclick=\"eventEditAllDay();\""
" %s >%s",
- (t_start.is_date ? "CHECKED" : "" ),
+ (t_start.is_date ? "CHECKED=\"CHECKED\"" : "" ),
_("All day event")
);
*/
wprintf("<TR><TD><B>");
wprintf(_("End"));
- wprintf("</B></TD><TD>\n");
+ wprintf("</B></TD><TD id=\"dtendcell\">\n");
if (t_start.is_date) {
t_end = t_start;
}
wprintf("</td></tr></table></div>\n");
wprintf("<script type=\"text/javascript\">"
- "grey_all_day();"
+ "eventEditAllDay();"
"</script>\n"
);
* \param supplied_vevent the event to save
* \param msgnum the index on the citserver
*/
-void save_individual_event(icalcomponent *supplied_vevent, long msgnum) {
+void save_individual_event(icalcomponent *supplied_vevent, long msgnum, char *from, int unread) {
char buf[SIZ];
icalproperty *prop;
icalcomponent *vevent, *encaps;
if (icalcomponent_isa(vevent) == ICAL_VCALENDAR_COMPONENT) {
save_individual_event(
icalcomponent_get_first_component(
- vevent, ICAL_VEVENT_COMPONENT
- ), msgnum
+ vevent, ICAL_VEVENT_COMPONENT),
+ msgnum, from, unread
);
return;
}
created_new_vevent = 1;
}
- if ( (!IsEmptyStr(bstr("save_button")))
- || (!IsEmptyStr(bstr("check_button"))) ) {
+ if ( (havebstr("save_button"))
+ || (havebstr("check_button")) ) {
/** Replace values in the component with ones from the form */
icalproperty_free(prop);
}
- if (!IsEmptyStr(bstr("summary"))) {
+ if (havebstr("summary")) {
icalcomponent_add_property(vevent,
icalproperty_new_summary(bstr("summary")));
icalcomponent_remove_property(vevent, prop);
icalproperty_free(prop);
}
- if (!IsEmptyStr(bstr("location"))) {
+ if (havebstr("location")) {
icalcomponent_add_property(vevent,
icalproperty_new_location(bstr("location")));
}
icalcomponent_remove_property(vevent, prop);
icalproperty_free(prop);
}
- if (!IsEmptyStr(bstr("description"))) {
+ if (havebstr("description")) {
icalcomponent_add_property(vevent,
icalproperty_new_description(bstr("description")));
}
icalproperty_free(prop);
}
- if (!strcmp(bstr("alldayevent"), "yes")) {
+ if (yesbstr("alldayevent")) {
all_day_event = 1;
}
else {
}
/** See if transparency is indicated */
- if (!IsEmptyStr(bstr("transp"))) {
+ if (havebstr("transp")) {
if (!strcasecmp(bstr("transp"), "opaque")) {
formtransp = ICAL_TRANSP_OPAQUE;
}
icalcomponent_set_method(encaps, ICAL_METHOD_PUBLISH);
/** If the user clicked 'Save' then save it to the server. */
- if ( (encaps != NULL) && (!IsEmptyStr(bstr("save_button"))) ) {
+ if ( (encaps != NULL) && (havebstr("save_button")) ) {
serv_puts("ENT0 1|||4|||1|");
serv_getln(buf, sizeof buf);
if (buf[0] == '8') {
}
/** Or, check attendee availability if the user asked for that. */
- if ( (encaps != NULL) && (!IsEmptyStr(bstr("check_button"))) ) {
+ if ( (encaps != NULL) && (havebstr("check_button")) ) {
/** Call this function, which does the real work */
check_attendee_availability(encaps);
/** This displays the form again, with our annotations */
- display_edit_individual_event(encaps, msgnum);
+ display_edit_individual_event(encaps, msgnum, from, unread);
icalcomponent_free(encaps);
}
/**
* If the user clicked 'Delete' then delete it.
*/
- if ( (!IsEmptyStr(bstr("delete_button"))) && (msgnum > 0L) ) {
- serv_printf("DELE %ld", atol(bstr("msgnum")));
+ if ( (havebstr("delete_button")) && (msgnum > 0L) ) {
+ serv_printf("DELE %ld", lbstr("msgnum"));
serv_getln(buf, sizeof buf);
}
}
/** If this was a save or delete, go back to the calendar view. */
- if (IsEmptyStr(bstr("check_button"))) {
+ if (!havebstr("check_button")) {
readloop("readfwd");
}
}
-#endif /* WEBCIT_WITH_CALENDAR_SERVICE */
-
-/*@}*/