Make date/time format user configurable; drop 'date_today' config option
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | - Make date/time format user configurable; drop 'date_today' config option |
| | | - Fix handling of binary attachments encoded with quoted-printable (#1488065) |
| | | - Fix text-overflow:ellipsis issues on messages list in FF7 and Webkit (#1488061) |
| | | - Fix setting title for truncated subject in IE (#1487128) |
| | |
| | | // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR |
| | | $rcmail_config['language'] = null; |
| | | |
| | | // use this format for short date display (date or strftime format) |
| | | // use this format for date display (date or strftime format) |
| | | $rcmail_config['date_format'] = 'Y-m-d'; |
| | | |
| | | // give this choice of date formats to the user to select from |
| | | $rcmail_config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y'); |
| | | |
| | | // use this format for time display (date or strftime format) |
| | | $rcmail_config['time_format'] = 'H:i'; |
| | | |
| | | // give this choice of time formats to the user to select from |
| | | $rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A'); |
| | | |
| | | // use this format for short date display (derived from date_format and time_format) |
| | | $rcmail_config['date_short'] = 'D H:i'; |
| | | |
| | | // use this format for detailed date/time formatting (date or strftime format) |
| | | $rcmail_config['date_long'] = 'd.m.Y H:i'; |
| | | |
| | | // use this format for today's date display (date or strftime format) |
| | | // Note: $ character will be replaced with 'Today' label |
| | | $rcmail_config['date_today'] = 'H:i'; |
| | | |
| | | // use this format for date display without time (date or strftime format) |
| | | $rcmail_config['date_format'] = 'Y-m-d'; |
| | | // use this format for detailed date/time formatting (derived from date_format and time_format) |
| | | $rcmail_config['date_long'] = 'Y-m-d H:i'; |
| | | |
| | | // store draft message is this mailbox |
| | | // leave blank if draft messages should not be stored |
| | |
| | | // define date format depending on current time |
| | | if (!$format) { |
| | | if ($CONFIG['prettydate'] && $timestamp > $today_limit && $timestamp < $now) { |
| | | $format = $CONFIG['date_today'] ? $CONFIG['date_today'] : 'H:i'; |
| | | $format = $RCMAIL->config->get('date_today', $RCMAIL->config->get('time_format', 'H:i')); |
| | | $today = true; |
| | | } |
| | | else if ($CONFIG['prettydate'] && $timestamp > $week_limit && $timestamp < $now) |
| | | $format = $CONFIG['date_short'] ? $CONFIG['date_short'] : 'D H:i'; |
| | | $format = $RCMAIL->config->get('date_short', 'D H:i'); |
| | | else |
| | | $format = $CONFIG['date_long'] ? $CONFIG['date_long'] : 'd.m.Y H:i'; |
| | | $format = $RCMAIL->config->get('date_long', 'Y-m-d H:i'); |
| | | } |
| | | |
| | | // strftime() format |
| | |
| | | $labels['preferhtml'] = 'HTML bevorzugen'; |
| | | $labels['defaultcharset'] = 'Standard-Zeichensatz'; |
| | | $labels['htmlmessage'] = 'HTML Nachricht'; |
| | | $labels['dateformat'] = 'Datumsformat'; |
| | | $labels['timeformat'] = 'Zeitformat'; |
| | | $labels['prettydate'] = 'Kurze Datumsanzeige'; |
| | | $labels['setdefault'] = 'Als Standard'; |
| | | $labels['autodetect'] = 'Automatisch'; |
| | |
| | | $labels['preferhtml'] = 'HTML anzeigen'; |
| | | $labels['defaultcharset'] = 'Standard Zeichensatz'; |
| | | $labels['htmlmessage'] = 'HTML-Nachricht'; |
| | | $labels['dateformat'] = 'Datumsformatierung'; |
| | | $labels['timeformat'] = 'Zeitformatierung'; |
| | | $labels['prettydate'] = 'Kurze Datumsanzeige'; |
| | | $labels['setdefault'] = 'Als Standard'; |
| | | $labels['autodetect'] = 'Automatisch'; |
| | |
| | | $labels['preferhtml'] = 'Display HTML'; |
| | | $labels['defaultcharset'] = 'Default Character Set'; |
| | | $labels['htmlmessage'] = 'HTML Message'; |
| | | $labels['dateformat'] = 'Date format'; |
| | | $labels['timeformat'] = 'Time format'; |
| | | $labels['prettydate'] = 'Pretty dates'; |
| | | $labels['setdefault'] = 'Set default'; |
| | | $labels['autodetect'] = 'Auto'; |
| | |
| | | ); |
| | | } |
| | | |
| | | // date/time formatting |
| | | if (!isset($no_override['time_format'])) { |
| | | $reftime = mktime(7,30,0); |
| | | $field_id = 'rcmfd_time_format'; |
| | | $select_time = new html_select(array('name' => '_time_format', 'id' => $field_id)); |
| | | foreach ((array)$RCMAIL->config->get('time_formats', array('G:i', 'H:i', 'g:i a', 'h:i A')) as $choice) |
| | | $select_time->add(date($choice, $reftime), $choice); |
| | | |
| | | $blocks['main']['options']['time_format'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('timeformat'))), |
| | | 'content' => $select_time->show($RCMAIL->config->get('time_format')), |
| | | ); |
| | | } |
| | | |
| | | if (!isset($no_override['date_format'])) { |
| | | $refdate = mktime(12,30,0,7,24); |
| | | $field_id = 'rcmfd_date_format'; |
| | | $select_date = new html_select(array('name' => '_date_format', 'id' => $field_id)); |
| | | foreach ((array)$RCMAIL->config->get('date_formats', array('Y-m-d','d-m-Y','Y/m/d','m/d/Y','d/m/Y','d.m.Y','j.n.Y')) as $choice) |
| | | $select_date->add(date($choice, $refdate), $choice); |
| | | |
| | | $blocks['main']['options']['date_format'] = array( |
| | | 'title' => html::label($field_id, Q(rcube_label('dateformat'))), |
| | | 'content' => $select_date->show($config['date_format']), |
| | | ); |
| | | } |
| | | |
| | | // MM: Show checkbox for toggling 'pretty dates' |
| | | if (!isset($no_override['prettydate'])) { |
| | | $field_id = 'rcmfd_prettydate'; |
| | |
| | | 'timezone' => isset($_POST['_timezone']) ? (is_numeric($_POST['_timezone']) ? floatval($_POST['_timezone']) : get_input_value('_timezone', RCUBE_INPUT_POST)) : $CONFIG['timezone'], |
| | | 'dst_active' => isset($_POST['_dst_active']) ? TRUE : FALSE, |
| | | 'pagesize' => is_numeric($_POST['_pagesize']) ? max(2, intval($_POST['_pagesize'])) : $CONFIG['pagesize'], |
| | | 'date_format' => isset($_POST['_date_format']) ? get_input_value('_date_format', RCUBE_INPUT_POST) : $CONFIG['date_format'], |
| | | 'time_format' => isset($_POST['_time_format']) ? get_input_value('_time_format', RCUBE_INPUT_POST) : ($CONFIG['time_format'] ? $CONFIG['time_format'] : 'H:i'), |
| | | 'prettydate' => isset($_POST['_pretty_date']) ? TRUE : FALSE, |
| | | 'skin' => isset($_POST['_skin']) ? get_input_value('_skin', RCUBE_INPUT_POST) : $CONFIG['skin'], |
| | | ); |
| | | |
| | | // compose derived date/time format strings |
| | | if ((isset($_POST['_date_format']) || isset($_POST['_time_format'])) && $a_user_prefs['date_format'] && $a_user_prefs['time_format']) { |
| | | $a_user_prefs['date_short'] = 'D ' . $a_user_prefs['time_format']; |
| | | $a_user_prefs['date_long'] = $a_user_prefs['date_format'] . ' ' . $a_user_prefs['time_format']; |
| | | } |
| | | |
| | | break; |
| | | |