瀏覽代碼

More timezone work.

default 1 年之前
父節點
當前提交
a28638b4c1
共有 1 個文件被更改,包括 28 次插入0 次删除
  1. 28 0
      html.c

+ 28 - 0
html.c

@@ -1318,6 +1318,27 @@ xs_html *html_top_controls(snac *user)
                     xs_html_attr("value", lang)));
     }
 
+    /* timezone */
+    xs_html *tz_select = xs_html_tag("select",
+        xs_html_attr("name", "tz"));
+
+    xs *tzs = xs_tz_list();
+    const char *tz;
+
+    xs_list_foreach(tzs, tz) {
+        if (strcmp(tz, user->tz) == 0)
+            xs_html_add(tz_select,
+                xs_html_tag("option",
+                xs_html_text(tz),
+                xs_html_attr("value", tz),
+                xs_html_attr("selected", "selected")));
+        else
+            xs_html_add(tz_select,
+                xs_html_tag("option",
+                xs_html_text(tz),
+                xs_html_attr("value", tz)));
+    }
+
     xs *user_setup_action = xs_fmt("%s/admin/user-setup", user->actor);
 
     xs_html_add(top_controls,
@@ -1513,6 +1534,11 @@ xs_html *html_top_controls(snac *user)
                     xs_html_sctag("br", NULL),
                     lang_select),
 
+                xs_html_tag("p",
+                    xs_html_text(L("Time zone:")),
+                    xs_html_sctag("br", NULL),
+                    tz_select),
+
                 xs_html_tag("p",
                     xs_html_text(L("New password:")),
                     xs_html_sctag("br", NULL),
@@ -4755,6 +4781,8 @@ int html_post_handler(const xs_dict *req, const char *q_path,
             snac.config = xs_dict_set(snac.config, "show_contact_metrics", xs_stock(XSTYPE_FALSE));
         if ((v = xs_dict_get(p_vars, "web_ui_lang")) != NULL)
             snac.config = xs_dict_set(snac.config, "lang", v);
+        if ((v = xs_dict_get(p_vars, "tz")) != NULL)
+            snac.config = xs_dict_set(snac.config, "tz", v);
 
         snac.config = xs_dict_set(snac.config, "latitude", xs_dict_get_def(p_vars, "latitude", ""));
         snac.config = xs_dict_set(snac.config, "longitude", xs_dict_get_def(p_vars, "longitude", ""));