Update to Drupal 8.2.0. For more information, see https://www.drupal.org/project/drupal/releases/8.2.0
This commit is contained in:
parent
2f563ab520
commit
f1c8716f57
1732 changed files with 52334 additions and 11780 deletions
|
|
@ -86,7 +86,7 @@ class DateTimeDefaultFormatter extends DateTimeFormatterBase {
|
|||
*/
|
||||
protected function formatDate($date) {
|
||||
$format_type = $this->getSetting('format_type');
|
||||
$timezone = $this->getSetting('timezone_override');
|
||||
$timezone = $this->getSetting('timezone_override') ?: $date->getTimezone()->getName();
|
||||
return $this->dateFormatter->format($date->getTimestamp(), $format_type, '', $timezone != '' ? $timezone : NULL);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ use Drupal\Core\Field\FieldDefinitionInterface;
|
|||
use Drupal\Core\Field\FormatterBase;
|
||||
use Drupal\Core\Form\FormStateInterface;
|
||||
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
|
||||
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
|
||||
|
|
@ -140,7 +141,14 @@ abstract class DateTimeFormatterBase extends FormatterBase implements ContainerF
|
|||
* A DrupalDateTime object.
|
||||
*/
|
||||
protected function setTimeZone(DrupalDateTime $date) {
|
||||
$date->setTimeZone(timezone_open(drupal_get_user_timezone()));
|
||||
if ($this->getFieldSetting('datetime_type') === DateTimeItem::DATETIME_TYPE_DATE) {
|
||||
// A date without time has no timezone conversion.
|
||||
$timezone = DATETIME_STORAGE_TIMEZONE;
|
||||
}
|
||||
else {
|
||||
$timezone = drupal_get_user_timezone();
|
||||
}
|
||||
$date->setTimeZone(timezone_open($timezone));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace Drupal\datetime\Plugin\Field\FieldFormatter;
|
||||
|
||||
use Drupal\Core\Field\FieldItemListInterface;
|
||||
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem;
|
||||
|
||||
/**
|
||||
* Plugin implementation of the 'Plain' formatter for 'datetime' fields.
|
||||
|
|
@ -33,8 +34,6 @@ class DateTimePlainFormatter extends DateTimeFormatterBase {
|
|||
// A date without time will pick up the current time, use the default.
|
||||
datetime_date_default_time($date);
|
||||
}
|
||||
else {
|
||||
}
|
||||
$this->setTimeZone($date);
|
||||
|
||||
$output = $this->formatDate($date);
|
||||
|
|
@ -56,7 +55,7 @@ class DateTimePlainFormatter extends DateTimeFormatterBase {
|
|||
* {@inheritdoc}
|
||||
*/
|
||||
protected function formatDate($date) {
|
||||
$format = $this->getFieldSetting('datetime_type') == 'date' ? DATETIME_DATE_STORAGE_FORMAT : DATETIME_DATETIME_STORAGE_FORMAT;
|
||||
$format = $this->getFieldSetting('datetime_type') == DateTimeItem::DATETIME_TYPE_DATE ? DATETIME_DATE_STORAGE_FORMAT : DATETIME_DATETIME_STORAGE_FORMAT;
|
||||
$timezone = $this->getSetting('timezone_override');
|
||||
return $this->dateFormatter->format($date->getTimestamp(), 'custom', $format, $timezone != '' ? $timezone : NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,16 +61,16 @@ class DateTimeDatelistWidget extends DateTimeWidgetBase {
|
|||
break;
|
||||
}
|
||||
switch ($time_type) {
|
||||
case '24':
|
||||
$date_part_order = array_merge($date_part_order, array('hour', 'minute'));
|
||||
break;
|
||||
case '24':
|
||||
$date_part_order = array_merge($date_part_order, array('hour', 'minute'));
|
||||
break;
|
||||
|
||||
case '12':
|
||||
$date_part_order = array_merge($date_part_order, array('hour', 'minute', 'ampm'));
|
||||
break;
|
||||
case '12':
|
||||
$date_part_order = array_merge($date_part_order, array('hour', 'minute', 'ampm'));
|
||||
break;
|
||||
|
||||
case 'none':
|
||||
break;
|
||||
case 'none':
|
||||
break;
|
||||
}
|
||||
|
||||
$element['value'] = array(
|
||||
|
|
|
|||
|
|
@ -34,6 +34,12 @@ class DateTimeWidgetBase extends WidgetBase {
|
|||
'#required' => $element['#required'],
|
||||
);
|
||||
|
||||
if ($this->getFieldSetting('datetime_type') == DateTimeItem::DATETIME_TYPE_DATE) {
|
||||
// A date-only field should have no timezone conversion performed, so
|
||||
// use the same timezone as for storage.
|
||||
$element['value']['#date_timezone'] = DATETIME_STORAGE_TIMEZONE;
|
||||
}
|
||||
|
||||
if ($items[$delta]->date) {
|
||||
$date = $items[$delta]->date;
|
||||
// The date was created and verified during field_load(), so it is safe to
|
||||
|
|
|
|||
Reference in a new issue