Message date/time is now sent to the browser in unix timestamp format
authorArt Cancro <ajc@citadel.org>
Mon, 3 Jan 2022 20:13:44 +0000 (15:13 -0500)
committerArt Cancro <ajc@citadel.org>
Mon, 3 Jan 2022 20:13:44 +0000 (15:13 -0500)
and converted to a displayable date/time in the local timezone by the
browser.

webcit-ng/forum_view.c
webcit-ng/static/js/util.js
webcit-ng/static/js/view_forum.js

index b66db14aa0a9a357199903c941fe348018d7ac17..846c417b5e32bfc4ecaa548b3e335f103fe0f536 100644 (file)
@@ -58,12 +58,7 @@ void json_render_one_message(struct http_transaction *h, struct ctdlsession *c,
                        safestrncpy(emailaddr, &buf[5], sizeof emailaddr);
                }
                else if (!strncasecmp(buf, "time=", 5)) {
-                       time_t tt;
-                       struct tm tm;
-                       tt = atol(&buf[5]);
-                       localtime_r(&tt, &tm);
-                       strftime(datetime, sizeof datetime, "%c", &tm);
-                       JsonObjectAppend(j, NewJsonPlainString(HKEY("time"), datetime, -1));
+                       JsonObjectAppend(j, NewJsonNumber(HKEY("time"), atol(&buf[5])));
                }
                else if (!strncasecmp(buf, "locl=", 5)) {
                        message_originated_locally = 1;
index 5e80a898644d22976b9dab0e25c84aa9598a25ab..201247450aa720bd6803710bcfb424ce42046597 100644 (file)
@@ -82,3 +82,35 @@ function escapeJS(text) {
                return '\\' + a ;
        });
 }
+
+
+// Convert a UNIX timestamp to the browser's local time
+// Shamelessly swiped from https://gist.github.com/kmaida/6045266
+function convertTimestamp(timestamp) {
+       var d = new Date(timestamp * 1000),                     // Convert the passed timestamp to milliseconds
+               yyyy = d.getFullYear(),
+               mm = ('0' + (d.getMonth() + 1)).slice(-2),      // Months are zero based. Add leading 0.
+               dd = ('0' + d.getDate()).slice(-2),             // Add leading 0.
+               hh = d.getHours(),
+               h = hh,
+               min = ('0' + d.getMinutes()).slice(-2),         // Add leading 0.
+               ampm = 'AM',
+               time;
+                       
+       if (hh > 12) {
+               h = hh - 12;
+               ampm = 'PM';
+       }
+       else if (hh === 12) {
+               h = 12;
+               ampm = 'PM';
+       }
+       else if (hh == 0) {
+               h = 12;
+       }
+       
+       // ie: 2013-02-18, 8:35 AM      
+       time = yyyy + '-' + mm + '-' + dd + ', ' + h + ':' + min + ' ' + ampm;
+               
+       return time;
+}
index 09aec3d3100083cc8c0f662f765a36ec324b60c0..77793dd2b597ebcf6b1208c6bf156278dff75e80 100644 (file)
@@ -174,7 +174,7 @@ function forum_render_one(msg, existing_div) {
                + msg.from
                + "</a></span>"                                                 // end username
                + "<span class=\"ctdl-msgdate\">"
-               + msg.time
+               + convertTimestamp(msg.time)
                + "</span>"                                                     // end msgdate
                + "</span>"                                                     // end header info on left side
                + "<span class=\"ctdl-msg-header-buttons\">"                    // begin buttons on right side
@@ -256,11 +256,11 @@ function open_reply_box(parent_div, is_quoted, references, msgid) {
        + "<div class=\"ctdl-msg-content\">"                            // begin content
        + "<div class=\"ctdl-msg-header\">"                             // begin header
        + "<span class=\"ctdl-msg-header-info\">"                       // begin header info on left side
-       + "<span class=\"ctdl-username\"><a href=\"#\">"                // FIXME link to user profile
-       + "FIXME my name"
-       + "</a></span>"                                                 // end username
+       + "<span class=\"ctdl-username\">"
+       + current_user                                                  // user = me !
+       + "</span>"
        + "<span class=\"ctdl-msgdate\">"
-       + "FIXME now time"
+       + "FIXME now time " + convertTimestamp(1637714172)
        + "</span>"                                                     // end msgdate
        + "</span>"                                                     // end header info on left side
        + "<span class=\"ctdl-msg-header-buttons\">"                    // begin buttons on right side