Skip to content
Snippets Groups Projects
Commit 1d75ddb3 authored by catch's avatar catch
Browse files

Issue #3236796 by alexpott: Fix PHP 8.1 deprecation errors in Drupal\Core\Datetime classes

parent f6015954
No related branches found
No related tags found
13 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!1896Issue #2940605: Can only intentionally re-render an entity with references 20 times,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!512Issue #3207771: Menu UI node type form documentation points to non-existent function,!485Sets the autocomplete attribute for username/password input field on login form.,!449Issue #2784233: Allow multiple vocabularies in the taxonomy filter,!231Issue #2671162: summary text wysiwyg patch working fine on 9.2.0-dev,!43Resolve #3173180: Add UI for 'loading' html attribute to images,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
......@@ -134,28 +134,31 @@ public function format($format, $settings = []) {
// Call date_format().
$format = parent::format($format, $settings);
// Translates a formatted date string.
$translation_callback = function ($matches) use ($langcode) {
$code = $matches[1];
$string = $matches[2];
if (!isset($this->formatTranslationCache[$langcode][$code][$string])) {
$options = ['langcode' => $langcode];
if ($code == 'F') {
$options['context'] = 'Long month name';
}
// $format will be NULL if there are any errors.
if ($format !== NULL) {
// Translates a formatted date string.
$translation_callback = function ($matches) use ($langcode) {
$code = $matches[1];
$string = $matches[2];
if (!isset($this->formatTranslationCache[$langcode][$code][$string])) {
$options = ['langcode' => $langcode];
if ($code == 'F') {
$options['context'] = 'Long month name';
}
if ($code == '') {
$this->formatTranslationCache[$langcode][$code][$string] = $string;
}
else {
$this->formatTranslationCache[$langcode][$code][$string] = $this->t($string, [], $options);
if ($code == '') {
$this->formatTranslationCache[$langcode][$code][$string] = $string;
}
else {
$this->formatTranslationCache[$langcode][$code][$string] = $this->t($string, [], $options);
}
}
}
return $this->formatTranslationCache[$langcode][$code][$string];
};
return $this->formatTranslationCache[$langcode][$code][$string];
};
// Translate the marked sequences.
$value = preg_replace_callback('/\xEF([AaeDlMTF]?)(.*?)\xFF/', $translation_callback, $format);
// Translate the marked sequences.
$value = preg_replace_callback('/\xEF([AaeDlMTF]?)(.*?)\xFF/', $translation_callback, $format);
}
}
catch (\Exception $e) {
$this->errors[] = $e->getMessage();
......
......@@ -338,6 +338,9 @@ public static function validateDatelist(&$element, FormStateInterface $form_stat
* Array of keys from the input array that have no value, may be empty.
*/
protected static function checkEmptyInputs($input, $parts) {
// The object key does not represent an input value, see
// \Drupal\Core\Datetime\Element\Datelist::valueCallback().
unset($input['object']);
// Filters out empty array values, any valid value would have a string length.
$filtered_input = array_filter($input, 'strlen');
return array_diff($parts, array_keys($filtered_input));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment