diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6348d4f..f0b59a6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+# v3.0.7
+## 03/05/2020
+
+1. [](#improved)
+ * Updated email validator library
+1. [](#bugfix)
+ * Fixed `Invalid resource theme://` on CLI command `test-email` on Grav 1.6.21 and later versions [#128](https://github.com/getgrav/grav-plugin-email/issues/128)
+
# v3.0.6
## 02/11/2020
diff --git a/blueprints.yaml b/blueprints.yaml
index 5b44e7f..109b7e9 100644
--- a/blueprints.yaml
+++ b/blueprints.yaml
@@ -1,5 +1,5 @@
name: Email
-version: 3.0.6
+version: 3.0.7
testing: false
description: Enables the emailing system for Grav
icon: envelope
diff --git a/cli/ClearQueueFailuresCommand.php b/cli/ClearQueueFailuresCommand.php
index 13fe9f2..d430cfe 100644
--- a/cli/ClearQueueFailuresCommand.php
+++ b/cli/ClearQueueFailuresCommand.php
@@ -40,6 +40,11 @@ protected function configure()
*/
protected function serve()
{
+ // TODO: remove when requiring Grav 1.7+
+ if (method_exists($this, 'initializeGrav')) {
+ $this->initializeGrav();
+ }
+
$grav = Grav::instance();
$this->output->writeln('');
diff --git a/cli/FlushQueueCommand.php b/cli/FlushQueueCommand.php
index 166ec8a..e0f2d0e 100644
--- a/cli/FlushQueueCommand.php
+++ b/cli/FlushQueueCommand.php
@@ -40,6 +40,11 @@ protected function configure()
*/
protected function serve()
{
+ // TODO: remove when requiring Grav 1.7+
+ if (method_exists($this, 'initializeGrav')) {
+ $this->initializeGrav();
+ }
+
$grav = Grav::instance();
$this->output->writeln('');
diff --git a/cli/TestEmailCommand.php b/cli/TestEmailCommand.php
index f18e9ed..974fb72 100644
--- a/cli/TestEmailCommand.php
+++ b/cli/TestEmailCommand.php
@@ -59,6 +59,11 @@ protected function configure()
*/
protected function serve()
{
+ // TODO: remove when requiring Grav 1.7+
+ if (method_exists($this, 'initializeGrav')) {
+ $this->initializeThemes();
+ }
+
$grav = Grav::instance();
$this->output->writeln('');
@@ -69,8 +74,6 @@ protected function serve()
$this->output->writeln('');
- require_once __DIR__ . '/../vendor/autoload.php';
-
$grav['Email'] = new Email();
$to = $this->input->getOption('to') ?: $grav['config']->get('plugins.email.to');
@@ -86,8 +89,6 @@ protected function serve()
$body = $grav['language']->translate(['PLUGIN_EMAIL.TEST_EMAIL_BODY', $configuration]);
}
- // This is the old way....
- // $sent = EmailUtils::sendEmail($subject, $body, $email_to);
$sent = EmailUtils::sendEmail(['subject'=>$subject, 'body'=>$body, 'to'=>$to]);
if ($sent) {
diff --git a/composer.lock b/composer.lock
index ac4de3c..0ca6452 100644
--- a/composer.lock
+++ b/composer.lock
@@ -70,16 +70,16 @@
},
{
"name": "egulias/email-validator",
- "version": "2.1.15",
+ "version": "2.1.17",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "e834eea5306d85d67de5a05db5882911d5b29357"
+ "reference": "ade6887fd9bd74177769645ab5c474824f8a418a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e834eea5306d85d67de5a05db5882911d5b29357",
- "reference": "e834eea5306d85d67de5a05db5882911d5b29357",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a",
+ "reference": "ade6887fd9bd74177769645ab5c474824f8a418a",
"shasum": ""
},
"require": {
@@ -124,7 +124,7 @@
"validation",
"validator"
],
- "time": "2020-01-20T21:40:59+00:00"
+ "time": "2020-02-13T22:36:52+00:00"
},
{
"name": "swiftmailer/swiftmailer",
@@ -190,16 +190,16 @@
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.13.1",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36"
+ "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36",
- "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/926832ce51059bb58211b7b2080a88e0c3b5328e",
+ "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e",
"shasum": ""
},
"require": {
@@ -211,7 +211,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"autoload": {
@@ -245,26 +245,26 @@
"portable",
"shim"
],
- "time": "2019-11-27T13:56:44+00:00"
+ "time": "2020-01-13T11:15:53+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.13.1",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46"
+ "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
- "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6842f1a39cf7d580655688069a03dd7cd83d244a",
+ "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php72": "^1.9"
+ "symfony/polyfill-php72": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
@@ -272,7 +272,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"autoload": {
@@ -307,20 +307,20 @@
"portable",
"shim"
],
- "time": "2019-11-27T13:56:44+00:00"
+ "time": "2020-01-17T12:01:36+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.13.1",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2",
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2",
"shasum": ""
},
"require": {
@@ -332,7 +332,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"autoload": {
@@ -366,20 +366,20 @@
"portable",
"shim"
],
- "time": "2019-11-27T14:18:11+00:00"
+ "time": "2020-01-13T11:15:53+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.13.1",
+ "version": "v1.14.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038"
+ "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038",
- "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
+ "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
"shasum": ""
},
"require": {
@@ -388,7 +388,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"autoload": {
@@ -421,7 +421,7 @@
"portable",
"shim"
],
- "time": "2019-11-27T13:56:44+00:00"
+ "time": "2020-01-13T11:15:53+00:00"
}
],
"packages-dev": [],
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index dc02dfb..fce8549 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -279,7 +279,7 @@ public function isClassMapAuthoritative()
*/
public function setApcuPrefix($apcuPrefix)
{
- $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
+ $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
}
/**
@@ -377,7 +377,7 @@ private function findFileWithExtension($class, $ext)
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
- $search = $subPath.'\\';
+ $search = $subPath . '\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index abf3011..fbf59dd 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -65,17 +65,17 @@
},
{
"name": "egulias/email-validator",
- "version": "2.1.15",
- "version_normalized": "2.1.15.0",
+ "version": "2.1.17",
+ "version_normalized": "2.1.17.0",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "e834eea5306d85d67de5a05db5882911d5b29357"
+ "reference": "ade6887fd9bd74177769645ab5c474824f8a418a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e834eea5306d85d67de5a05db5882911d5b29357",
- "reference": "e834eea5306d85d67de5a05db5882911d5b29357",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a",
+ "reference": "ade6887fd9bd74177769645ab5c474824f8a418a",
"shasum": ""
},
"require": {
@@ -91,7 +91,7 @@
"suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
},
- "time": "2020-01-20T21:40:59+00:00",
+ "time": "2020-02-13T22:36:52+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -189,17 +189,17 @@
},
{
"name": "symfony/polyfill-iconv",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
+ "version": "v1.14.0",
+ "version_normalized": "1.14.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36"
+ "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/a019efccc03f1a335af6b4f20c30f5ea8060be36",
- "reference": "a019efccc03f1a335af6b4f20c30f5ea8060be36",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/926832ce51059bb58211b7b2080a88e0c3b5328e",
+ "reference": "926832ce51059bb58211b7b2080a88e0c3b5328e",
"shasum": ""
},
"require": {
@@ -208,11 +208,11 @@
"suggest": {
"ext-iconv": "For best performance"
},
- "time": "2019-11-27T13:56:44+00:00",
+ "time": "2020-01-13T11:15:53+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"installation-source": "dist",
@@ -250,32 +250,32 @@
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
+ "version": "v1.14.0",
+ "version_normalized": "1.14.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46"
+ "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
- "reference": "6f9c239e61e1b0c9229a28ff89a812dc449c3d46",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6842f1a39cf7d580655688069a03dd7cd83d244a",
+ "reference": "6842f1a39cf7d580655688069a03dd7cd83d244a",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php72": "^1.9"
+ "symfony/polyfill-php72": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
},
- "time": "2019-11-27T13:56:44+00:00",
+ "time": "2020-01-17T12:01:36+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"installation-source": "dist",
@@ -314,17 +314,17 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
+ "version": "v1.14.0",
+ "version_normalized": "1.14.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2",
+ "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2",
"shasum": ""
},
"require": {
@@ -333,11 +333,11 @@
"suggest": {
"ext-mbstring": "For best performance"
},
- "time": "2019-11-27T14:18:11+00:00",
+ "time": "2020-01-13T11:15:53+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"installation-source": "dist",
@@ -375,27 +375,27 @@
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
+ "version": "v1.14.0",
+ "version_normalized": "1.14.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038"
+ "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/66fea50f6cb37a35eea048d75a7d99a45b586038",
- "reference": "66fea50f6cb37a35eea048d75a7d99a45b586038",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
+ "reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
- "time": "2019-11-27T13:56:44+00:00",
+ "time": "2020-01-13T11:15:53+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
},
"installation-source": "dist",
diff --git a/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php b/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php
index 5f6b8c2..3c21f34 100644
--- a/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php
+++ b/vendor/egulias/email-validator/EmailValidator/Parser/LocalPart.php
@@ -19,6 +19,7 @@ public function parse($localPart)
$parseDQuote = true;
$closingQuote = false;
$openedParenthesis = 0;
+ $totalLength = 0;
while ($this->lexer->token['type'] !== EmailLexer::S_AT && null !== $this->lexer->token['type']) {
if ($this->lexer->token['type'] === EmailLexer::S_DOT && null === $this->lexer->getPrevious()['type']) {
@@ -34,12 +35,13 @@ public function parse($localPart)
$this->parseComments();
$openedParenthesis += $this->getOpenedParenthesis();
}
+
if ($this->lexer->token['type'] === EmailLexer::S_CLOSEPARENTHESIS) {
if ($openedParenthesis === 0) {
throw new UnopenedComment();
- } else {
- $openedParenthesis--;
}
+
+ $openedParenthesis--;
}
$this->checkConsecutiveDots();
@@ -57,11 +59,11 @@ public function parse($localPart)
$this->parseFWS();
}
+ $totalLength += strlen($this->lexer->token['value']);
$this->lexer->moveNext();
}
- $prev = $this->lexer->getPrevious();
- if (strlen($prev['value']) > LocalTooLong::LOCAL_PART_LENGTH) {
+ if ($totalLength > LocalTooLong::LOCAL_PART_LENGTH) {
$this->warnings[LocalTooLong::CODE] = new LocalTooLong();
}
}
diff --git a/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php b/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php
index cc9e26b..d0673b9 100644
--- a/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php
+++ b/vendor/egulias/email-validator/EmailValidator/Parser/Parser.php
@@ -170,7 +170,7 @@ protected function escaped()
{
$previous = $this->lexer->getPrevious();
- if ($previous['type'] === EmailLexer::S_BACKSLASH
+ if ($previous && $previous['type'] === EmailLexer::S_BACKSLASH
&&
$this->lexer->token['type'] !== EmailLexer::GENERIC
) {
diff --git a/vendor/egulias/email-validator/psalm.baseline.xml b/vendor/egulias/email-validator/psalm.baseline.xml
new file mode 100644
index 0000000..f81df72
--- /dev/null
+++ b/vendor/egulias/email-validator/psalm.baseline.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ self::$nullToken
+
+
+
+
+ parse
+
+
+
+
+ Spoofchecker
+ Spoofchecker
+
+
+
diff --git a/vendor/egulias/email-validator/psalm.xml b/vendor/egulias/email-validator/psalm.xml
new file mode 100644
index 0000000..fb17dc8
--- /dev/null
+++ b/vendor/egulias/email-validator/psalm.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/symfony/polyfill-iconv/Resources/charset/translit.php b/vendor/symfony/polyfill-iconv/Resources/charset/translit.php
index 829ea12..ed59858 100644
--- a/vendor/symfony/polyfill-iconv/Resources/charset/translit.php
+++ b/vendor/symfony/polyfill-iconv/Resources/charset/translit.php
@@ -866,6 +866,7 @@
'㋼' => '(ヰ)',
'㋽' => '(ヱ)',
'㋾' => '(ヲ)',
+ '㋿' => '令和',
'㌀' => 'アパート',
'㌁' => 'アルファ',
'㌂' => 'アンペア',
@@ -3133,6 +3134,7 @@
'🈸' => '申',
'🈹' => '割',
'🈺' => '営',
+ '🈻' => '配',
'🉀' => '〔本〕',
'🉁' => '〔三〕',
'🉂' => '〔二〕',
@@ -3878,6 +3880,104 @@
'ỽ' => 'v',
'Ỿ' => 'Y',
'ỿ' => 'y',
+ 'Ⱡ' => 'L',
+ 'ⱡ' => 'l',
+ 'Ɫ' => 'L',
+ 'Ᵽ' => 'P',
+ 'Ɽ' => 'R',
+ 'ⱥ' => 'a',
+ 'ⱦ' => 't',
+ 'Ⱨ' => 'H',
+ 'ⱨ' => 'h',
+ 'Ⱪ' => 'K',
+ 'ⱪ' => 'k',
+ 'Ⱬ' => 'Z',
+ 'ⱬ' => 'z',
+ 'Ɱ' => 'M',
+ 'ⱱ' => 'v',
+ 'Ⱳ' => 'W',
+ 'ⱳ' => 'w',
+ 'ⱴ' => 'v',
+ 'ⱸ' => 'e',
+ 'ⱺ' => 'o',
+ 'Ȿ' => 'S',
+ 'Ɀ' => 'Z',
+ 'ꜰ' => 'F',
+ 'ꜱ' => 'S',
+ 'Ꜳ' => 'AA',
+ 'ꜳ' => 'aa',
+ 'Ꜵ' => 'AO',
+ 'ꜵ' => 'ao',
+ 'Ꜷ' => 'AU',
+ 'ꜷ' => 'au',
+ 'Ꜹ' => 'AV',
+ 'ꜹ' => 'av',
+ 'Ꜻ' => 'AV',
+ 'ꜻ' => 'av',
+ 'Ꜽ' => 'AY',
+ 'ꜽ' => 'ay',
+ 'Ꝁ' => 'K',
+ 'ꝁ' => 'k',
+ 'Ꝃ' => 'K',
+ 'ꝃ' => 'k',
+ 'Ꝅ' => 'K',
+ 'ꝅ' => 'k',
+ 'Ꝇ' => 'L',
+ 'ꝇ' => 'l',
+ 'Ꝉ' => 'L',
+ 'ꝉ' => 'l',
+ 'Ꝋ' => 'O',
+ 'ꝋ' => 'o',
+ 'Ꝍ' => 'O',
+ 'ꝍ' => 'o',
+ 'Ꝏ' => 'OO',
+ 'ꝏ' => 'oo',
+ 'Ꝑ' => 'P',
+ 'ꝑ' => 'p',
+ 'Ꝓ' => 'P',
+ 'ꝓ' => 'p',
+ 'Ꝕ' => 'P',
+ 'ꝕ' => 'p',
+ 'Ꝗ' => 'Q',
+ 'ꝗ' => 'q',
+ 'Ꝙ' => 'Q',
+ 'ꝙ' => 'q',
+ 'Ꝟ' => 'V',
+ 'ꝟ' => 'v',
+ 'Ꝡ' => 'VY',
+ 'ꝡ' => 'vy',
+ 'Ꝥ' => 'TH',
+ 'ꝥ' => 'th',
+ 'Ꝧ' => 'TH',
+ 'ꝧ' => 'th',
+ 'ꝱ' => 'd',
+ 'ꝲ' => 'l',
+ 'ꝳ' => 'm',
+ 'ꝴ' => 'n',
+ 'ꝵ' => 'r',
+ 'ꝶ' => 'R',
+ 'ꝷ' => 't',
+ 'Ꝺ' => 'D',
+ 'ꝺ' => 'd',
+ 'Ꝼ' => 'F',
+ 'ꝼ' => 'f',
+ 'Ꞇ' => 'T',
+ 'ꞇ' => 't',
+ 'Ꞑ' => 'N',
+ 'ꞑ' => 'n',
+ 'Ꞓ' => 'C',
+ 'ꞓ' => 'c',
+ 'Ꞡ' => 'G',
+ 'ꞡ' => 'g',
+ 'Ꞣ' => 'K',
+ 'ꞣ' => 'k',
+ 'Ꞥ' => 'N',
+ 'ꞥ' => 'n',
+ 'Ꞧ' => 'R',
+ 'ꞧ' => 'r',
+ 'Ꞩ' => 'S',
+ 'ꞩ' => 's',
+ 'Ɦ' => 'H',
'©' => '(C)',
'®' => '(R)',
'₠' => 'CE',
@@ -3887,8 +3987,28 @@
'₧' => 'Pts',
'₺' => 'TL',
'₹' => 'Rs',
+ '℗' => '(P)',
+ '℘' => 'P',
'℞' => 'Rx',
'〇' => '0',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ ' ' => ' ',
+ 'ʹ' => '\'',
+ 'ʺ' => '"',
+ 'ʻ' => '\'',
+ 'ʼ' => '\'',
+ 'ʽ' => '\'',
+ 'ˈ' => '\'',
+ 'ˋ' => '`',
'‘' => '\'',
'’' => '\'',
'‚' => ',',
@@ -3904,6 +4024,7 @@
'»' => '>>',
'‹' => '<',
'›' => '>',
+ '' => '-',
'‐' => '-',
'‑' => '-',
'‒' => '-',
@@ -3912,6 +4033,12 @@
'―' => '-',
'︱' => '-',
'︲' => '-',
+ '˂' => '<',
+ '˃' => '>',
+ '˄' => '^',
+ 'ˆ' => '^',
+ 'ː' => ':',
+ '˜' => '~',
'‖' => '||',
'⁄' => '/',
'⁅' => '[',
@@ -3952,6 +4079,8 @@
'﹈' => ']',
'×' => '*',
'÷' => '/',
+ '˖' => '+',
+ '˗' => '-',
'−' => '-',
'∕' => '/',
'∖' => '\\',
diff --git a/vendor/symfony/polyfill-iconv/composer.json b/vendor/symfony/polyfill-iconv/composer.json
index 0161be6..fca6f0e 100644
--- a/vendor/symfony/polyfill-iconv/composer.json
+++ b/vendor/symfony/polyfill-iconv/composer.json
@@ -28,7 +28,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
}
}
diff --git a/vendor/symfony/polyfill-intl-idn/composer.json b/vendor/symfony/polyfill-intl-idn/composer.json
index 428c13e..403f4aa 100644
--- a/vendor/symfony/polyfill-intl-idn/composer.json
+++ b/vendor/symfony/polyfill-intl-idn/composer.json
@@ -18,7 +18,7 @@
"require": {
"php": ">=5.3.3",
"symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php72": "^1.9"
+ "symfony/polyfill-php72": "^1.10"
},
"autoload": {
"psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" },
@@ -30,7 +30,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
}
}
diff --git a/vendor/symfony/polyfill-mbstring/Mbstring.php b/vendor/symfony/polyfill-mbstring/Mbstring.php
index bf882ba..15503bc 100644
--- a/vendor/symfony/polyfill-mbstring/Mbstring.php
+++ b/vendor/symfony/polyfill-mbstring/Mbstring.php
@@ -545,7 +545,14 @@ public static function mb_str_split($string, $split_length = 1, $encoding = null
}
if ('UTF-8' === $encoding = self::getEncoding($encoding)) {
- return preg_split("/(.{{$split_length}})/u", $string, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
+ $rx = '/(';
+ while (65535 < $split_length) {
+ $rx .= '.{65535}';
+ $split_length -= 65535;
+ }
+ $rx .= '.{'.$split_length.'})/us';
+
+ return preg_split($rx, $string, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
}
$result = array();
diff --git a/vendor/symfony/polyfill-mbstring/composer.json b/vendor/symfony/polyfill-mbstring/composer.json
index c968074..1a8bec5 100644
--- a/vendor/symfony/polyfill-mbstring/composer.json
+++ b/vendor/symfony/polyfill-mbstring/composer.json
@@ -28,7 +28,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
}
}
diff --git a/vendor/symfony/polyfill-php72/composer.json b/vendor/symfony/polyfill-php72/composer.json
index 0d37167..d2f8464 100644
--- a/vendor/symfony/polyfill-php72/composer.json
+++ b/vendor/symfony/polyfill-php72/composer.json
@@ -25,7 +25,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-master": "1.14-dev"
}
}
}