update drupal
This commit is contained in:
@@ -624,11 +624,10 @@ class DateTimePlus {
|
||||
$valid_date = FALSE;
|
||||
$valid_time = TRUE;
|
||||
// Check for a valid date using checkdate(). Only values that
|
||||
// meet that test are valid.
|
||||
if (array_key_exists('year', $array) && array_key_exists('month', $array) && array_key_exists('day', $array)) {
|
||||
if (@checkdate($array['month'], $array['day'], $array['year'])) {
|
||||
$valid_date = TRUE;
|
||||
}
|
||||
// meet that test are valid. An empty value, either a string or a 0, is not
|
||||
// a valid value.
|
||||
if (!empty($array['year']) && !empty($array['month']) && !empty($array['day'])) {
|
||||
$valid_date = checkdate($array['month'], $array['day'], $array['year']);
|
||||
}
|
||||
// Testing for valid time is reversed. Missing time is OK,
|
||||
// but incorrect values are not.
|
||||
|
||||
@@ -58,6 +58,21 @@ class PhpTransliteration implements TransliterationInterface {
|
||||
*/
|
||||
protected $genericMap = [];
|
||||
|
||||
/**
|
||||
* Special characters for ::removeDiacritics().
|
||||
*
|
||||
* Characters which have accented variants but their base character
|
||||
* transliterates to more than one ASCII character require special
|
||||
* treatment: we want to remove their accent and use the un-
|
||||
* transliterated base character.
|
||||
*/
|
||||
protected $fixTransliterateForRemoveDiacritics = [
|
||||
'AE' => 'Æ',
|
||||
'ae' => 'æ',
|
||||
'ZH' => 'Ʒ',
|
||||
'zh' => 'ʒ',
|
||||
];
|
||||
|
||||
/**
|
||||
* Constructs a transliteration object.
|
||||
*
|
||||
@@ -93,6 +108,9 @@ class PhpTransliteration implements TransliterationInterface {
|
||||
if (strlen($to_add) === 1) {
|
||||
$replacement = $to_add;
|
||||
}
|
||||
elseif (isset($this->fixTransliterateForRemoveDiacritics[$to_add])) {
|
||||
$replacement = $this->fixTransliterateForRemoveDiacritics[$to_add];
|
||||
}
|
||||
}
|
||||
|
||||
$result .= $replacement;
|
||||
|
||||
@@ -35,7 +35,8 @@ class Bytes {
|
||||
return round($size * pow(self::KILOBYTE, stripos('bkmgtpezy', $unit[0])));
|
||||
}
|
||||
else {
|
||||
return round($size);
|
||||
// Ensure size is a proper number type.
|
||||
return round((float) $size);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,6 @@ class Image {
|
||||
*
|
||||
* @return bool
|
||||
* TRUE if $dimensions was modified, FALSE otherwise.
|
||||
*
|
||||
* @see image_scale()
|
||||
*/
|
||||
public static function scaleDimensions(array &$dimensions, $width = NULL, $height = NULL, $upscale = FALSE) {
|
||||
$aspect = $dimensions['height'] / $dimensions['width'];
|
||||
|
||||
@@ -537,16 +537,16 @@ EOD;
|
||||
*/
|
||||
public static function mimeHeaderDecode($header) {
|
||||
$callback = function ($matches) {
|
||||
$data = ($matches[2] == 'B') ? base64_decode($matches[3]) : str_replace('_', ' ', quoted_printable_decode($matches[3]));
|
||||
$data = (strtolower($matches[2]) == 'b') ? base64_decode($matches[3]) : str_replace('_', ' ', quoted_printable_decode($matches[3]));
|
||||
if (strtolower($matches[1]) != 'utf-8') {
|
||||
$data = static::convertToUtf8($data, $matches[1]);
|
||||
}
|
||||
return $data;
|
||||
};
|
||||
// First step: encoded chunks followed by other encoded chunks (need to collapse whitespace)
|
||||
$header = preg_replace_callback('/=\?([^?]+)\?(Q|B)\?([^?]+|\?(?!=))\?=\s+(?==\?)/', $callback, $header);
|
||||
$header = preg_replace_callback('/=\?([^?]+)\?([Qq]|[Bb])\?([^?]+|\?(?!=))\?=\s+(?==\?)/', $callback, $header);
|
||||
// Second step: remaining chunks (do not collapse whitespace)
|
||||
return preg_replace_callback('/=\?([^?]+)\?(Q|B)\?([^?]+|\?(?!=))\?=/', $callback, $header);
|
||||
return preg_replace_callback('/=\?([^?]+)\?([Qq]|[Bb])\?([^?]+|\?(?!=))\?=/', $callback, $header);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user