From 71d8226bbf0dc04106bde299f08490246493b10e Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 22 Jun 2016 06:34:13 -0400 Subject: [PATCH] T1314: Support upper-case Y letter in date formats --- plugins/libcalendaring/libcalendaring.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/plugins/libcalendaring/libcalendaring.php b/plugins/libcalendaring/libcalendaring.php index 0fa12fa2..f352258a 100644 --- a/plugins/libcalendaring/libcalendaring.php +++ b/plugins/libcalendaring/libcalendaring.php @@ -183,18 +183,19 @@ class libcalendaring extends rcube_plugin public function load_settings() { $this->date_format_defaults(); - $settings = array(); - // configuration - $settings['date_format'] = (string)$this->rc->config->get('calendar_date_format', $this->defaults['calendar_date_format']); - $settings['time_format'] = (string)$this->rc->config->get('calendar_time_format', $this->defaults['calendar_time_format']); - $settings['date_short'] = (string)$this->rc->config->get('calendar_date_short', $this->defaults['calendar_date_short']); - $settings['date_long'] = (string)$this->rc->config->get('calendar_date_long', $this->defaults['calendar_date_long']); + $settings = array(); + $keys = array('date_format', 'time_format', 'date_short', 'date_long'); + + foreach ($keys as $key) { + $settings[$key] = (string)$this->rc->config->get('calendar_' . $key, $this->defaults['calendar_' . $key]); + $settings[$key] = str_replace('Y', 'y', $settings[$key]); + } + $settings['dates_long'] = str_replace(' yyyy', '[ yyyy]', $settings['date_long']) . "{ '—' " . $settings['date_long'] . '}'; $settings['first_day'] = (int)$this->rc->config->get('calendar_first_day', $this->defaults['calendar_first_day']); - - $settings['timezone'] = $this->timezone_offset; - $settings['dst'] = $this->dst_active; + $settings['timezone'] = $this->timezone_offset; + $settings['dst'] = $this->dst_active; // localization $settings['days'] = array( @@ -1637,6 +1638,8 @@ class libcalendaring extends rcube_plugin { // "dd.MM.yyyy HH:mm:ss" => "d.m.Y H:i:s" return strtr(strtr($from, array( + 'YYYY' => 'Y', + 'YY' => 'y', 'yyyy' => 'Y', 'yy' => 'y', 'MMMM' => 'F',