X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetTimesAjaxPage.kt;h=87eafc38254254a779a5b404a8b0035b48c61fd3;hp=358003a0c80a3362b35606194e5136d6f6f3f55a;hb=85b7420f3492af4e5591f62ad673309a76de7e04;hpb=69af5a8e6bc69347e3979fd2f351ead5fcfb98fb diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.kt index 358003a..87eafc3 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.kt @@ -8,23 +8,27 @@ import net.pterodactylus.sone.utils.parameters import net.pterodactylus.sone.web.WebInterface import net.pterodactylus.sone.web.page.FreenetRequest import java.text.SimpleDateFormat +import java.util.TimeZone /** * Ajax page that returns a formatted, relative timestamp for replies or posts. */ class GetTimesAjaxPage(webInterface: WebInterface, private val timeTextConverter: TimeTextConverter, - private val l10nFilter: L10nFilter) : JsonPage("getTimes.ajax", webInterface) { + private val l10nFilter: L10nFilter, + timeZone: TimeZone) : JsonPage("getTimes.ajax", webInterface) { - private val dateTimeFormatter = SimpleDateFormat("MMM d, yyyy, HH:mm:ss") + private val dateTimeFormatter = SimpleDateFormat("MMM d, yyyy, HH:mm:ss").apply { + this.timeZone = timeZone + } override fun needsFormPassword() = false override fun requiresLogin() = false override fun createJsonObject(request: FreenetRequest) = createSuccessJsonObject().apply { - put("postTimes", request.parameters["posts"]!!.idsToJson { webInterface.core.getPost(it)?.let { it.id to it.time } }) - put("replyTimes", request.parameters["replies"]!!.idsToJson { webInterface.core.getPostReply(it)?.let { it.id to it.time } }) + put("postTimes", request.parameters["posts"]!!.idsToJson { core.getPost(it)?.let { it.id to it.time } }) + put("replyTimes", request.parameters["replies"]!!.idsToJson { core.getPostReply(it)?.let { it.id to it.time } }) } private fun String.idsToJson(transform: (String) -> Pair?) = @@ -36,7 +40,9 @@ class GetTimesAjaxPage(webInterface: WebInterface, id to jsonObject( "timeText" to l10nFilter.format(null, timeText.l10nText, emptyMap()), "refreshTime" to timeText.refreshTime / 1000, - "tooltip" to dateTimeFormatter.format(time)) + "tooltip" to synchronized(dateTimeFormatter) { + dateTimeFormatter.format(time) + }) }.forEach { this@jsonObject.put(it.first, it.second) } }