Merge pull request #713 from Zankaria/update-template-datetime

Update template datetime
This commit is contained in:
Lorenzo Yario 2024-05-09 22:47:52 -07:00 committed by GitHub
commit 34a3dcac24
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 47 additions and 51 deletions

View File

@ -996,11 +996,11 @@
// Timezone to use for displaying dates/times. // Timezone to use for displaying dates/times.
$config['timezone'] = 'America/Los_Angeles'; $config['timezone'] = 'America/Los_Angeles';
// The format string passed to strftime() for displaying dates. // The format string passed to DateTime::format() for displaying dates. ISO 8601-like by default.
// http://www.php.net/manual/en/function.strftime.php // https://www.php.net/manual/en/datetime.format.php
$config['post_date'] = '%m/%d/%y (%a) %H:%M:%S'; $config['post_date'] = 'd-m-Y (D) H:i:s';
// Same as above, but used for "you are banned' pages. // Same as above, but used for "you are banned' pages.
$config['ban_date'] = '%A %e %B, %Y'; $config['ban_date'] = 'l j F, Y';
// The names on the post buttons. (On most imageboards, these are both just "Post"). // The names on the post buttons. (On most imageboards, these are both just "Post").
$config['button_newtopic'] = _('New Topic'); $config['button_newtopic'] = _('New Topic');

View File

@ -60,7 +60,7 @@ function Element($templateFile, array $options) {
} }
// Read the template file // Read the template file
if (@file_get_contents("{$config['dir']['template']}/${templateFile}")) { if (@file_get_contents("{$config['dir']['template']}/{$templateFile}")) {
$body = $twig->render($templateFile, $options); $body = $twig->render($templateFile, $options);
if ($config['minify_html'] && preg_match('/\.html$/', $templateFile)) { if ($config['minify_html'] && preg_match('/\.html$/', $templateFile)) {
@ -69,7 +69,7 @@ function Element($templateFile, array $options) {
return $body; return $body;
} else { } else {
throw new Exception("Template file '${templateFile}' does not exist or is empty in '{$config['dir']['template']}'!"); throw new Exception("Template file '{$templateFile}' does not exist or is empty in '{$config['dir']['template']}'!");
} }
} }
@ -141,7 +141,6 @@ class Tinyboard extends Twig\Extension\AbstractExtension
return array( return array(
new Twig\TwigFunction('time', 'time'), new Twig\TwigFunction('time', 'time'),
new Twig\TwigFunction('floor', 'floor'), new Twig\TwigFunction('floor', 'floor'),
new Twig\TwigFunction('timezone', 'twig_timezone_function'),
new Twig\TwigFunction('hiddenInputs', 'hiddenInputs'), new Twig\TwigFunction('hiddenInputs', 'hiddenInputs'),
new Twig\TwigFunction('hiddenInputsHash', 'hiddenInputsHash'), new Twig\TwigFunction('hiddenInputsHash', 'hiddenInputsHash'),
new Twig\TwigFunction('ratio', 'twig_ratio_function'), new Twig\TwigFunction('ratio', 'twig_ratio_function'),
@ -162,17 +161,14 @@ class Tinyboard extends Twig\Extension\AbstractExtension
} }
} }
function twig_timezone_function() {
return 'Z';
}
function twig_push_filter($array, $value) { function twig_push_filter($array, $value) {
array_push($array, $value); array_push($array, $value);
return $array; return $array;
} }
function twig_date_filter($date, $format) { function twig_date_filter($date, $format) {
return gmstrftime($format, $date); $date = new DateTime($date, new DateTimeZone('UTC'));
return $date->format($format);
} }
function twig_hasPermission_filter($mod, $permission, $board = null) { function twig_hasPermission_filter($mod, $permission, $board = null) {

View File

@ -1 +1 @@
<time datetime="{{ post.time|date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}">{{ post.time|date(config.post_date) }}</time> <time datetime="{{ post.time|date('Y-m-d\\TH:i:s\Z') }}">{{ post.time|date(config.post_date) }}</time>

View File

@ -29,7 +29,7 @@
{% else %} {% else %}
<em>no subject</em> <em>no subject</em>
{% endif %} {% endif %}
<span class="unimportant"> &mdash; by {{ entry.name }} at {{ entry.time|date(config.post_date, config.timezone) }}</span> <span class="unimportant"> &mdash; by {{ entry.name }} at {{ entry.time|date(config.post_date) }}</span>
</h2> </h2>
<p>{{ entry.body }}</p> <p>{{ entry.body }}</p>
{% endfor %} {% endfor %}

View File

@ -51,7 +51,7 @@
{% else %} {% else %}
<img src="{{post.file}}" <img src="{{post.file}}"
{% endif %} {% endif %}
id="img-{{ post.id }}" data-subject="{% if post.subject %}{{ post.subject|e }}{% endif %}" data-name="{{ post.name|e }}" data-muhdifference="{{ post.muhdifference }}" class="{{post.board}} thread-image" title="{{post.bump|date('%b %d %H:%M')}}"> id="img-{{ post.id }}" data-subject="{% if post.subject %}{{ post.subject|e }}{% endif %}" data-name="{{ post.name|e }}" data-muhdifference="{{ post.muhdifference }}" class="{{post.board}} thread-image" title="{{post.bump|date('M d H:i')}}">
</a> </a>
<div class="replies"> <div class="replies">
<strong>R: {{ post.reply_count }} / I: {{ post.image_count }}{% if post.sticky %} (sticky){% endif %}</strong> <strong>R: {{ post.reply_count }} / I: {{ post.image_count }}{% if post.sticky %} (sticky){% endif %}</strong>

View File

@ -10,7 +10,7 @@
{% for thread in thread_list %} {% for thread in thread_list %}
<url> <url>
<loc>{{ settings.url ~ (config.board_path | format(board)) ~ config.dir.res ~ link_for(thread) }}</loc> <loc>{{ settings.url ~ (config.board_path | format(board)) ~ config.dir.res ~ link_for(thread) }}</loc>
<lastmod>{{ thread.lastmod | date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}</lastmod> <lastmod>{{ thread.lastmod | date('Y-m-d\\TH:i:s\Z') }}</lastmod>
<changefreq>{{ settings.changefreq }}</changefreq> <changefreq>{{ settings.changefreq }}</changefreq>
</url> </url>
{% endfor %} {% endfor %}