most 'international' format I can think of. If someone wants to
go through the trouble of figuring out the date format for every
locale and passing it through, go ahead, otherwise we'll leave it
this way. We still need to pass the language through to the
datepicker.
#include "webserver.h"
#include "time.h"
#include "webserver.h"
#include "time.h"
char *hourname[] = {
"12am", "1am", "2am", "3am", "4am", "5am", "6am",
"7am", "8am", "9am", "10am", "11am", "12pm",
char *hourname[] = {
"12am", "1am", "2am", "3am", "4am", "5am", "6am",
"7am", "8am", "9am", "10am", "11am", "12pm",
"7pm", "8pm", "9pm", "10pm", "11pm"
};
"7pm", "8pm", "9pm", "10pm", "11pm"
};
-/**
- * \brief display and edit date/time
* The display_icaltimetype_as_webform() and icaltime_from_webform() functions
* handle the display and editing of date/time properties in web pages. The
* first one converts an icaltimetype into valid HTML markup -- a series of form
* The display_icaltimetype_as_webform() and icaltime_from_webform() functions
* handle the display and editing of date/time properties in web pages. The
* first one converts an icaltimetype into valid HTML markup -- a series of form
* property (for example, a start and end time) by ensuring the field names are
* unique within the form.
*
* property (for example, a start and end time) by ensuring the field names are
* unique within the form.
*
- * \todo NOTE: These functions assume that the icaltimetype being edited is in UTC, and
+ * NOTE: These functions assume that the icaltimetype being edited is in UTC, and
* will convert to/from local time for editing. "local" in this case is assumed
* to be the time zone in which the WebCit server is running. A future improvement
* might be to allow the user to specify his/her timezone.
* will convert to/from local time for editing. "local" in this case is assumed
* to be the time zone in which the WebCit server is running. A future improvement
* might be to allow the user to specify his/her timezone.
- * \param t the time we want to parse
- * \param prefix ???? \todo
void display_icaltimetype_as_webform(struct icaltimetype *t, char *prefix) {
int i;
time_t now;
void display_icaltimetype_as_webform(struct icaltimetype *t, char *prefix) {
int i;
time_t now;
wprintf("\" id=\"");
wprintf(prefix);
wprintf("\" value=\"");
wprintf("\" id=\"");
wprintf(prefix);
wprintf("\" value=\"");
- wc_strftime(timebuf, 32, "%d/%m/%Y", &tm);
+ wc_strftime(timebuf, 32, "%Y-%m-%d", &tm);
wprintf(timebuf);
wprintf("\">");
wprintf("<script type=\"text/javascript\">");
wprintf(timebuf);
wprintf("\">");
wprintf("<script type=\"text/javascript\">");
wprintf("</SELECT>\n");
}
wprintf("</SELECT>\n");
}
-/**
- *\brief Get time from form
+/*
+ * Get time from form
* get the time back from the user and convert it into internal structs.
* get the time back from the user and convert it into internal structs.
- * \param t our time element
- * \param prefix whats that\todo ????
*/
void icaltime_from_webform(struct icaltimetype *t, char *prefix) {
char datebuf[32];
*/
void icaltime_from_webform(struct icaltimetype *t, char *prefix) {
char datebuf[32];
- strptime((char*)BSTR(prefix), "%d/%m/%Y", &tm);
+ strptime((char*)BSTR(prefix), "%Y-%m-%d", &tm);
sprintf(vname, "%s_hour", prefix); hour = IBSTR(vname);
sprintf(vname, "%s_minute", prefix); minute = IBSTR(vname);
tm.tm_hour = hour;
sprintf(vname, "%s_hour", prefix); hour = IBSTR(vname);
sprintf(vname, "%s_minute", prefix); minute = IBSTR(vname);
tm.tm_hour = hour;
-/**
- *\brief Get time from form
+/*
+ * Get time from form
* get the time back from the user and convert it into internal structs.
* get the time back from the user and convert it into internal structs.
- * \param t our time element
- * \param prefix whats that\todo ????
void icaltime_from_webform_dateonly(struct icaltimetype *t, char *prefix) {
struct tm tm;
/* Stuff tm with some zero values */
void icaltime_from_webform_dateonly(struct icaltimetype *t, char *prefix) {
struct tm tm;
/* Stuff tm with some zero values */
tm.tm_mon = 0;
time_t tm_t;
struct icaltimetype t2;
tm.tm_mon = 0;
time_t tm_t;
struct icaltimetype t2;
- strptime((char *)BSTR(prefix), "%d/%m/%Y", &tm);
+ strptime((char *)BSTR(prefix), "%Y-%m-%d", &tm);
tm_t = mktime(&tm);
t2 = icaltime_from_timet(tm_t, 1);
memcpy(t, &t2, sizeof(struct icaltimetype));
tm_t = mktime(&tm);
t2 = icaltime_from_timet(tm_t, 1);
memcpy(t, &t2, sizeof(struct icaltimetype));
- * \brief Render PAPSTAT
+ * \brief Render PARTSTAT
* Render a PARTSTAT parameter as a string (and put it in parentheses)
* \param buf the string to put it to
* \param attendee the attendee to textify
* Render a PARTSTAT parameter as a string (and put it in parentheses)
* \param buf the string to put it to
* \param attendee the attendee to textify
* Utility function to encapsulate a subcomponent into a full VCALENDAR
* Utility function to encapsulate a subcomponent into a full VCALENDAR
- * \param subcomp the component to encapsulate
- * \returns the meta object ???
*/
icalcomponent *ical_encapsulate_subcomponent(icalcomponent *subcomp) {
icalcomponent *encaps;
*/
icalcomponent *ical_encapsulate_subcomponent(icalcomponent *subcomp) {
icalcomponent *encaps;
* If we're already looking at a full VCALENDAR component,
* don't bother ... just return itself.
*/
* If we're already looking at a full VCALENDAR component,
* don't bother ... just return itself.
*/
- /** Encapsulate the VEVENT component into a complete VCALENDAR */
+ /* Encapsulate the VEVENT component into a complete VCALENDAR */
encaps = icalcomponent_new(ICAL_VCALENDAR_COMPONENT);
if (encaps == NULL) {
lprintf(3, "%s:%d: Error - could not allocate component!\n",
encaps = icalcomponent_new(ICAL_VCALENDAR_COMPONENT);
if (encaps == NULL) {
lprintf(3, "%s:%d: Error - could not allocate component!\n",
- /** Set the Product ID */
+ /* Set the Product ID */
icalcomponent_add_property(encaps, icalproperty_new_prodid(PRODID));
icalcomponent_add_property(encaps, icalproperty_new_prodid(PRODID));
- /** Set the Version Number */
+ /* Set the Version Number */
icalcomponent_add_property(encaps, icalproperty_new_version("2.0"));
icalcomponent_add_property(encaps, icalproperty_new_version("2.0"));
- /** Encapsulate the subcomponent inside */
+ /* Encapsulate the subcomponent inside */
/* lprintf(9, "Doing the encapsulation\n"); */
icalcomponent_add_component(encaps, subcomp);
/* lprintf(9, "Doing the encapsulation\n"); */
icalcomponent_add_component(encaps, subcomp);
- /** Convert all timestamps to UTC so we don't have to deal with
+ /* Convert all timestamps to UTC so we don't have to deal with
* stupid VTIMEZONE crap.
*/
ical_dezonify(encaps);
* stupid VTIMEZONE crap.
*/
ical_dezonify(encaps);
- /** Return the object we just created. */
+ /* Return the object we just created. */
wprintf("<select name=\"freq\" id=\"freq_selector\" size=\"1\" "
"onChange=\"RecurrenceShowHide();\">\n");
for (i=0; i<(sizeof frequency_units / sizeof(char *)); ++i) {
wprintf("<select name=\"freq\" id=\"freq_selector\" size=\"1\" "
"onChange=\"RecurrenceShowHide();\">\n");
for (i=0; i<(sizeof frequency_units / sizeof(char *)); ++i) {
- wprintf("<option %s value=\"%d\">%s</option>\n",
- ((i == recur.freq) ? "selected" : ""),
+ wprintf("<option %s%svalue=\"%d\">%s</option>\n",
+ ((i == recur.freq) ? "selected " : ""),
+ (((i == recur.freq) || ((i>=3)&&(i<=5))) ? "" : "disabled "),
var dpck = new DatePicker({
relative: relative,
language: 'en', // fix please
var dpck = new DatePicker({
relative: relative,
language: 'en', // fix please
- disableFutureDate: false
+ disableFutureDate: false,
+ dateFormat: [ ["yyyy", "mm", "dd"], "-"],
});
document.getElementById(relative).dpck = dpck; // attach a ref to it
}
});
document.getElementById(relative).dpck = dpck; // attach a ref to it
}