aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/html-month.c110
1 files changed, 110 insertions, 0 deletions
diff --git a/calendar/html-month.c b/calendar/html-month.c
new file mode 100644
index 0000000000..9d4af13c33
--- /dev/null
+++ b/calendar/html-month.c
@@ -0,0 +1,110 @@
+/*
+ * Creates an HTML rendering for this month
+ * Copyright (C) 1999 the Free Software Foundation
+ *
+ * Authors:
+ * Miguel de Icaza (miguel@kernel.org)
+ */
+#include <config.h>
+#include <gnome.h>
+#include <pwd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <ctype.h>
+#include "calendar.h"
+#include "alarm.h"
+#include "eventedit.h"
+#include "gnome-cal.h"
+#include "main.h"
+#include "timeutil.h"
+
+static void
+make_html_header (GnomeCalendar *gcal, GString *s)
+{
+ g_string_sprintf (s,
+ "<html>\n"
+ " <head>\n"
+ " <title>%s</title>\n"
+ " </head>\n"
+ " <body>\n",
+ gcal->cal->title);
+}
+
+static void
+make_html_footer (GString *s)
+{
+ g_string_sprintf (s, "</html>");
+}
+
+static void
+make_days_headers (GString *s)
+{
+ g_string_append (s,
+ "<p><table border=1>\n"
+ "<tr>\n"
+ " <td></td>\n"
+ " <td>MONDAY</td>\n"
+ " <td>TUESDAY</td>\n"
+ " <td>WEDNESDAY</td>\n"
+ " <td>THURSDAY</td>\n"
+ " <td>FRIDAY</td>\n"
+ "</tr>\n");
+}
+
+static void
+make_days (GnomeCalendar *gcal, GString *s)
+{
+ struct tm tm, month;
+ time_t month_start;
+ int day;
+ time_t now = time (NULL);
+
+ make_days_headers (s);
+ tm = *localtime (&now);
+ tm.tm_hour = 0;
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_mday = 1;
+ month_start = mktime (&tm);
+ month = *localtime (&month_start);
+
+ for (day = 0; day < month.tm_mday; day++){
+
+ }
+#if 0
+ day = 0;
+ for (y = 0; y < 5; y++){
+ for (x = 0; x < 7; x++){
+ if (month.tm_mday < day
+ }
+ }
+#endif
+}
+
+void
+make_month_html (GnomeCalendar *gcal, char *output)
+{
+ FILE *f;
+ GString *s;
+
+ g_return_if_fail (gcal != NULL);
+ g_return_if_fail (GNOME_IS_CALENDAR (gcal));
+
+ f = fopen (output, "w");
+ if (!f){
+ g_warning ("Add nice error message here");
+ return;
+ }
+
+ s = g_string_new ("");
+
+ make_html_header (gcal, s);
+ make_days (gcal, s);
+ make_html_footer (s);
+
+ fwrite (s->str, strlen (s->str), 1, f);
+
+ g_string_free (s, TRUE);
+ fclose (f);
+}