Compare commits
5 Commits
v9.41.1
...
e1109e925b
| Author | SHA1 | Date | |
|---|---|---|---|
| e1109e925b | |||
| 6c67ab6259 | |||
| c467ed326c | |||
| 40cd64f667 | |||
| 05dae1031a |
+1
-1
@@ -3,7 +3,7 @@ node_modules/
|
||||
**/composer.lock
|
||||
**/vendor/
|
||||
tools/
|
||||
**/.env
|
||||
**/configs/.env
|
||||
**/.target
|
||||
package-lock.json
|
||||
build/
|
||||
|
||||
+3
-3
@@ -3,10 +3,10 @@
|
||||
<phar name="phpunit" version="~9.6" installed="9.6.34" location="./tools/phpunit" copy="false"/>
|
||||
<phar name="phpcbf" version="4" installed="4.0.1" location="./tools/phpcbf" copy="false"/>
|
||||
<phar name="phpcs" version="4" installed="4.0.1" location="./tools/phpcs" copy="false"/>
|
||||
<phar name="phpstan" version="^2.0" installed="2.1.54" location="./tools/phpstan" copy="false"/>
|
||||
<phar name="phpstan" version="^2.0" installed="2.2.2" location="./tools/phpstan" copy="false"/>
|
||||
<phar name="phan" version="^5.4.3" installed="5.5.2" location="./tools/phan" copy="false"/>
|
||||
<phar name="psalm" version="^5.26.1" installed="5.26.1" location="./tools/psalm" copy="false"/>
|
||||
<phar name="phpdox" version="^0.12.0" installed="0.12.0" location="./tools/phpdox" copy="false"/>
|
||||
<phar name="phpdocumentor" version="^3.4.2" installed="3.9.1" location="./tools/phpDocumentor" copy="false"/>
|
||||
<phar name="php-cs-fixer" version="^3.34.1" installed="3.95.1" location="./tools/php-cs-fixer" copy="false"/>
|
||||
<phar name="phpdocumentor" version="^3.4.2" installed="3.10.0" location="./tools/phpDocumentor" copy="false"/>
|
||||
<phar name="php-cs-fixer" version="^3.34.1" installed="3.95.10" location="./tools/php-cs-fixer" copy="false"/>
|
||||
</phive>
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: en.UTF-8 LC_MESSAGES admin\n"
|
||||
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
|
||||
"Report-Msgid-Bugs-To: webmaster+corelibs-translation@ocex.jp\n"
|
||||
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
|
||||
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
|
||||
"Last-Translator: clemens.schwaighofer@omc.com\n"
|
||||
"Language-Team: Omnicom Content Experiences Japan <webmaster@ocex.jp>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: en.UTF-8 LC_MESSAGES frontend\n"
|
||||
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
|
||||
"Report-Msgid-Bugs-To: webmaster+corelibs-translation@ocex.jp\n"
|
||||
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: clemens.schwaighofer@egplusww.co\n"
|
||||
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
|
||||
"Last-Translator: clemens.schwaighofer@omc.com\n"
|
||||
"Language-Team: Omnicom Content Experiences Japan <webmaster@ocex.jp>\n"
|
||||
"Language: en\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ja.UTF-8 LC_MESSAGES admin\n"
|
||||
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
|
||||
"Report-Msgid-Bugs-To: webmaster+corelibs-translation@ocex.jp\n"
|
||||
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: clemens.schwaighofer@egplusww.com\n"
|
||||
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
|
||||
"Last-Translator: clemens.schwaighofer@omc.com\n"
|
||||
"Language-Team: Omnicom Content Experiences Japan <webmaster@ocex.jp>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ja.UTF-8 LC_MESSAGES frontend\n"
|
||||
"Report-Msgid-Bugs-To: clemens.schwaighofer@egplusww.com\n"
|
||||
"Report-Msgid-Bugs-To: webmaster+corelibs-translation@ocex.jp\n"
|
||||
"POT-Creation-Date: 2018-03-28 10:40+0900\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: clemens.schwaighofer@egplusww.com\n"
|
||||
"Language-Team: E-GRAPHICS COMMUNICATIONS Japan <info.jp@egplusww.com>\n"
|
||||
"Last-Translator: clemens.schwaighofer@omc.com\n"
|
||||
"Language-Team: Omnicom Content Experiences Japan <webmaster@ocex.jp>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
test.env
|
||||
@@ -1598,4 +1598,17 @@ function createNavMenu(nav_menu, header_id = 'mainHeader') // eslint-disable-lin
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* HTML decode &something; entrie
|
||||
* @param {string} str
|
||||
* @returns string
|
||||
* @deprecated use utils.js
|
||||
*/
|
||||
function decodeHtmlEntities(str) // eslint-disable-line no-unused-vars
|
||||
{
|
||||
const parser = new DOMParser();
|
||||
const doc = parser.parseFromString(str, 'text/html');
|
||||
return doc.documentElement.textContent;
|
||||
}
|
||||
|
||||
/* END */
|
||||
|
||||
@@ -135,7 +135,7 @@ var HtmlElementCreator = class {
|
||||
* @param {String} tag must set tag (div, span, etc)
|
||||
* @param {String} [id=''] optional set for id, if input, select will be used for name
|
||||
* @param {String} [content=''] text content inside, is skipped if sub elements exist
|
||||
* @param {Array} [css=[]] array for css tags
|
||||
* @param {Array<String>} [css=[]] array for css tags
|
||||
* @param {Object} [options={}] anything else (value, placeholder, OnClick, style)
|
||||
* @return {Object} created element as an object
|
||||
*/
|
||||
@@ -509,6 +509,11 @@ function numberWithCommas(number) {
|
||||
function convertLBtoBR(string) {
|
||||
return string.replace(/(?:\r\n|\r|\n)/g, "<br>");
|
||||
}
|
||||
function decodeHtmlEntities(str) {
|
||||
const parser = new DOMParser();
|
||||
const doc = parser.parseFromString(str, "text/html");
|
||||
return doc.documentElement.textContent;
|
||||
}
|
||||
|
||||
// src/utils/DateTimeHelpers.mjs
|
||||
function getTimestamp() {
|
||||
@@ -660,18 +665,19 @@ function getQueryStringParam(search = "", query = "", single = false) {
|
||||
if (search) {
|
||||
let _params = url.searchParams.getAll(search);
|
||||
if (_params.length == 1 || single === true) {
|
||||
param = _params[0];
|
||||
return _params[0];
|
||||
} else if (_params.length > 1) {
|
||||
param = _params;
|
||||
return _params;
|
||||
}
|
||||
} else {
|
||||
param = {};
|
||||
let param2 = {};
|
||||
for (const [key] of url.searchParams.entries()) {
|
||||
if (typeof param[key] === "undefined") {
|
||||
if (typeof param2[key] === "undefined") {
|
||||
let _params = url.searchParams.getAll(key);
|
||||
param[key] = _params.length < 2 || single === true ? _params[0] : _params;
|
||||
param2[key] = _params.length < 2 || single === true ? _params[0] : _params;
|
||||
}
|
||||
}
|
||||
return param2;
|
||||
}
|
||||
return param;
|
||||
}
|
||||
@@ -1425,6 +1431,9 @@ function numberWithCommas2(x) {
|
||||
function convertLBtoBR2(string) {
|
||||
return convertLBtoBR(string);
|
||||
}
|
||||
function decodeHtmlEntities2(string) {
|
||||
return decodeHtmlEntities(string);
|
||||
}
|
||||
function getTimestamp2() {
|
||||
return getTimestamp();
|
||||
}
|
||||
@@ -1549,7 +1558,7 @@ function acssel(_element, css) {
|
||||
return hec.acssel(_element, css);
|
||||
}
|
||||
function scssel(_element, rcss, acss) {
|
||||
hec.scssel(_element, rcss, acss);
|
||||
return hec.scssel(_element, rcss, acss);
|
||||
}
|
||||
function phfo(tree) {
|
||||
return hec.phfo(tree);
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -43,71 +43,70 @@ class Byte
|
||||
public static function humanReadableByteFormat(string|int|float $bytes, int $flags = 0): string
|
||||
{
|
||||
// if not numeric, return as is
|
||||
if (is_numeric($bytes)) {
|
||||
// flags bit wise check
|
||||
// remove space between number and suffix
|
||||
if ($flags & self::BYTE_FORMAT_NOSPACE) {
|
||||
$space = false;
|
||||
} else {
|
||||
$space = true;
|
||||
}
|
||||
// use sprintf instead of round
|
||||
if ($flags & self::BYTE_FORMAT_ADJUST) {
|
||||
$adjust = true;
|
||||
} else {
|
||||
$adjust = false;
|
||||
}
|
||||
// use SI 1000 mod and not 1024 mod
|
||||
if ($flags & self::BYTE_FORMAT_SI) {
|
||||
$si = true;
|
||||
} else {
|
||||
$si = false;
|
||||
}
|
||||
if ($flags > 7) {
|
||||
throw new \InvalidArgumentException("Invalid flags parameter: $flags", 1);
|
||||
}
|
||||
|
||||
// si or normal
|
||||
$unit = $si ? 1000 : 1024;
|
||||
// always positive
|
||||
$abs_bytes = $bytes == PHP_INT_MIN ? PHP_INT_MAX : abs((float)$bytes);
|
||||
// smaller than unit is always B
|
||||
if ($abs_bytes < $unit) {
|
||||
return $bytes . 'B';
|
||||
}
|
||||
// labels in order of size [Y, Z]
|
||||
$labels = ['', 'K', 'M', 'G', 'T', 'P', 'E'];
|
||||
// exp position calculation
|
||||
$exp = (int)floor(log($abs_bytes, $unit));
|
||||
// avoid printing out anything larger than max labels
|
||||
if ($exp >= count($labels)) {
|
||||
$exp = count($labels) - 1;
|
||||
}
|
||||
// deviation calculation
|
||||
$dev = pow($unit, $exp) * ($unit - 0.05);
|
||||
// shift the exp +1 for on the border units
|
||||
if (
|
||||
$exp < 6 &&
|
||||
$abs_bytes > ($dev - (((int)$dev & 0xfff) == 0xd00 ? 52 : 0))
|
||||
) {
|
||||
$exp++;
|
||||
}
|
||||
// label name, including leading space if flagged
|
||||
$pre = ($space ? ' ' : '') . ($labels[$exp] ?? '>E') . ($si ? 'i' : '') . 'B';
|
||||
$bytes_calc = $abs_bytes / pow($unit, $exp);
|
||||
// if original is negative, reverse
|
||||
if ($bytes < 0) {
|
||||
$bytes_calc *= -1;
|
||||
}
|
||||
if ($adjust) {
|
||||
return sprintf("%.2f%s", $bytes_calc, $pre);
|
||||
} else {
|
||||
return round($bytes_calc, 2) . $pre;
|
||||
}
|
||||
} else {
|
||||
if (!is_numeric($bytes)) {
|
||||
// if anything other return as string
|
||||
return (string)$bytes;
|
||||
}
|
||||
// flags bit wise check
|
||||
// remove space between number and suffix
|
||||
if ($flags & self::BYTE_FORMAT_NOSPACE) {
|
||||
$space = false;
|
||||
} else {
|
||||
$space = true;
|
||||
}
|
||||
// use sprintf instead of round
|
||||
if ($flags & self::BYTE_FORMAT_ADJUST) {
|
||||
$adjust = true;
|
||||
} else {
|
||||
$adjust = false;
|
||||
}
|
||||
// use SI 1000 mod and not 1024 mod
|
||||
if ($flags & self::BYTE_FORMAT_SI) {
|
||||
$si = true;
|
||||
} else {
|
||||
$si = false;
|
||||
}
|
||||
if ($flags > 7) {
|
||||
throw new \InvalidArgumentException("Invalid flags parameter: $flags", 1);
|
||||
}
|
||||
|
||||
// si or normal
|
||||
$unit = $si ? 1000 : 1024;
|
||||
// always positive
|
||||
$abs_bytes = $bytes == PHP_INT_MIN ? PHP_INT_MAX : abs((float)$bytes);
|
||||
// smaller than unit is always B
|
||||
if ($abs_bytes < $unit) {
|
||||
return $bytes . 'B';
|
||||
}
|
||||
// labels in order of size [Y, Z]
|
||||
$labels = ['', 'K', 'M', 'G', 'T', 'P', 'E'];
|
||||
// exp position calculation
|
||||
$exp = (int)floor(log($abs_bytes, $unit));
|
||||
// avoid printing out anything larger than max labels
|
||||
if ($exp >= count($labels)) {
|
||||
$exp = count($labels) - 1;
|
||||
}
|
||||
// deviation calculation
|
||||
$dev = pow($unit, $exp) * ($unit - 0.05);
|
||||
// shift the exp +1 for on the border units
|
||||
if (
|
||||
$exp < 6 &&
|
||||
$abs_bytes > ($dev - (((int)$dev & 0xfff) == 0xd00 ? 52 : 0))
|
||||
) {
|
||||
$exp++;
|
||||
}
|
||||
// label name, including leading space if flagged
|
||||
$pre = ($space ? ' ' : '') . ($labels[$exp] ?? '>E') . ($si ? 'i' : '') . 'B';
|
||||
$bytes_calc = $abs_bytes / pow($unit, $exp);
|
||||
// if original is negative, reverse
|
||||
if ($bytes < 0) {
|
||||
$bytes_calc *= -1;
|
||||
}
|
||||
if ($adjust) {
|
||||
return sprintf("%.2f%s", $bytes_calc, $pre);
|
||||
} else {
|
||||
return round($bytes_calc, 2) . $pre;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2232,9 +2232,9 @@ class IO
|
||||
$milliseconds = $matches[13] ?? '';
|
||||
|
||||
// clean up, hide entries that have 00 in the time group
|
||||
$hour = $hour != '00' ? preg_replace('/^0/', '', $hour) : '';
|
||||
$minutes = $minutes != '00' ? preg_replace('/^0/', '', $minutes) : '';
|
||||
$seconds = $seconds != '00' ? preg_replace('/^0/', '', $seconds) : '';
|
||||
$hour = !empty($hour) ? preg_replace('/^0/', '', $hour) : '';
|
||||
$minutes = !empty($minutes) ? preg_replace('/^0/', '', $minutes) : '';
|
||||
$seconds = !empty($seconds) ? preg_replace('/^0/', '', $seconds) : '';
|
||||
|
||||
// strip any leading or trailing spaces
|
||||
$time_string = trim(
|
||||
|
||||
@@ -146,7 +146,7 @@ class L10n
|
||||
* @param string $locale language name, if not set, try previous set
|
||||
* @param string $domain set name for mo file, if not set, try previous set
|
||||
* @param string $path path, if not set try to get from paths array, else self
|
||||
* @param string $override_encoding if locale does not env encoding set, use this one
|
||||
* @param string $override_encoding if locale does not have encoding set, use this one
|
||||
* @return GetTextReader the main gettext reader object
|
||||
*/
|
||||
public function getTranslator(
|
||||
|
||||
@@ -86,7 +86,7 @@ enum Level: int
|
||||
|
||||
/**
|
||||
* @param value-of<self::NAMES>|LogLevel::*|'Debug'|'Info'|'Notice'|'Warning'|'Error'|'Critical'|'Alert'|'Emergency' $name
|
||||
* @return static
|
||||
* @return self
|
||||
*/
|
||||
public static function fromName(string $name): self
|
||||
{
|
||||
@@ -104,7 +104,7 @@ enum Level: int
|
||||
|
||||
/**
|
||||
* @param value-of<self::VALUES> $value
|
||||
* @return static
|
||||
* @return self
|
||||
*/
|
||||
public static function fromValue(int $value): self
|
||||
{
|
||||
|
||||
@@ -232,8 +232,15 @@ class Elements
|
||||
* @param string $class style sheet
|
||||
* @return string correct string for url href process
|
||||
*/
|
||||
private static function createUrl($href, $atag, $_1, $_2, $_3, $name, $class): string
|
||||
{
|
||||
private static function createUrl(
|
||||
string $href,
|
||||
string $atag,
|
||||
string $_1,
|
||||
string $_2,
|
||||
string $_3,
|
||||
string $name,
|
||||
string $class
|
||||
): string {
|
||||
// $this->debug('URL', "1: $_1 - 2: $_2 - $_3 - atag: $atag - name: $name - class: $class");
|
||||
// if $_1 ends with //, then we strip $_1 complete & target is also blanked (its an internal link)
|
||||
if (preg_match("/\/\/$/", $_1) && preg_match("/^\//", $_2)) {
|
||||
@@ -250,11 +257,8 @@ class Elements
|
||||
. "##GT##" . ($name ? $name : $_2 . $_3) . "##LT##/a##GT##";
|
||||
} elseif ($href && !$atag) {
|
||||
return "href=##QUOT##$_1$_2$_3##QUOT##";
|
||||
} elseif ($atag) {
|
||||
return $atag . $_2 . $_3;
|
||||
} else {
|
||||
return $href;
|
||||
}
|
||||
return $atag . $_2 . $_3;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -269,8 +273,15 @@ class Elements
|
||||
* @param string $class style sheet
|
||||
* @return string created html email a href string
|
||||
*/
|
||||
private static function createEmail($mailto, $atag, $_1, $_2, $_3, $title, $class)
|
||||
{
|
||||
private static function createEmail(
|
||||
string $mailto,
|
||||
string $atag,
|
||||
string $_1,
|
||||
string $_2,
|
||||
string $_3,
|
||||
string $title,
|
||||
string $class
|
||||
): string {
|
||||
$email = $_1 . "@" . $_2 . "." . $_3;
|
||||
if (!$mailto && !$atag) {
|
||||
return "##LT##a href=##QUOT##mailto:" . $email . "##QUOT##"
|
||||
@@ -278,12 +289,8 @@ class Elements
|
||||
. "##GT##" . ($title ? $title : $email) . "##LT##/a##GT##";
|
||||
} elseif ($mailto && !$atag) {
|
||||
return "mailto:" . $email;
|
||||
} elseif ($atag) {
|
||||
return $atag . $email;
|
||||
} else {
|
||||
// else just return email as is
|
||||
return $email;
|
||||
}
|
||||
return $atag . $email;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -954,11 +954,10 @@ class Curl implements Interface\RequestsInterface
|
||||
)
|
||||
) {
|
||||
unset($this->config['headers'][$header_key]);
|
||||
unset($this->headers_named[$header_key]);
|
||||
unset($this->headers_named[strtolower($header_key)]);
|
||||
} elseif (
|
||||
// string value, array keys = in
|
||||
// or both array and not a full match in the one before
|
||||
(is_string($value) || is_array($value)) &&
|
||||
// right side is array, and value is anything string or array
|
||||
// if right side is string, and we give value array, we do nothing
|
||||
is_array($this->config['headers'][$header_key])
|
||||
) {
|
||||
// part remove of key, value must be array
|
||||
@@ -966,10 +965,14 @@ class Curl implements Interface\RequestsInterface
|
||||
$value = [$value];
|
||||
}
|
||||
// array values so we rewrite the key pos
|
||||
$this->config['headers'][$header_key] = array_values(array_diff(
|
||||
$this->config['headers'][$header_key],
|
||||
$value
|
||||
));
|
||||
/** @var array<int|string,string> $headers */
|
||||
$headers = $this->config['headers'][$header_key];
|
||||
$this->config['headers'][$header_key] = array_values(
|
||||
array_diff(
|
||||
$headers,
|
||||
$value
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user