Update vendorja, dodan class za kontrole ankete (omejitev st. vprasanj, vabil, phishing kontrola) - V DELU
This commit is contained in:
parent
9eeb2a8dc2
commit
662974574f
80
admin/survey/classes/class.SurveyCheck.php
Normal file
80
admin/survey/classes/class.SurveyCheck.php
Normal file
@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Preverjanje ankete - limiti velikosti, vabil, preverjanmje phishinga...
|
||||
*
|
||||
*/
|
||||
|
||||
class SurveyCheck {
|
||||
|
||||
|
||||
var $anketa;
|
||||
|
||||
var $limit_vprasanja = 100;
|
||||
var $limit_vabila = 1000;
|
||||
|
||||
|
||||
public function __construct($anketa){
|
||||
|
||||
if($anketa == null || $anketa <= 0)
|
||||
return 'ID ankete ne obstaja!';
|
||||
|
||||
$this->anketa = $anketa;
|
||||
|
||||
SurveyInfo::getInstance()->SurveyInit($this->anketa);
|
||||
}
|
||||
|
||||
|
||||
// Preverimo stevilo vprasanj v anketi
|
||||
public function checkLimitSpremenljivke(){
|
||||
|
||||
// Dobimo stevilo vprasanj v anketi
|
||||
$stevilo_vprasanj = SurveyInfo::getSurveyQuestionCount();
|
||||
|
||||
// Ce je v anketi ze vec vprasanj kot je limit
|
||||
if($stevilo_vprasanj > $this->limit_vprasanja)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// Preverimo stevilo poslanih vabil
|
||||
public function checkLimitVabila(){
|
||||
|
||||
// Prestejemo poslana vabila
|
||||
$sql = sisplet_query("SELECT count(id) AS stevilo_vabil
|
||||
FROM srv_invitations_recipients
|
||||
WHERE ank_id='".$this->anketa."' AND sent='1'
|
||||
");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
|
||||
$stevilo_vabil = $row['stevilo_vabil'];
|
||||
|
||||
// Ce je poslanih ze vec vabil kot je limit
|
||||
if($stevilo_vabil > $this->limit_vabila)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// Preverimo ce je anketa potencialno phishing
|
||||
public function checkPhishing(){
|
||||
|
||||
// Prestejemo vprasanja po tipu
|
||||
$sql = sisplet_query("SELECT count(s.id) AS count_questions
|
||||
FROM srv_spremenljivka s, srv_grupa g
|
||||
WHERE g.ank_id='".$this->anketa."' AND g.id=s.gru_id
|
||||
AND (tip='21' OR tip='5')
|
||||
");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
|
||||
// Ce imamo v anketi manj kot 5 vprasanj in so vsa tipa nagovor ali text je potencialen phishing
|
||||
if($row['count_questions'] < 5)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -477,7 +477,8 @@ class SurveyInfo
|
||||
echo $prefix.$_starts[2].'.'.$_starts[1].'.'.$_starts[0].'-'.$_expire[2].'.'.$_expire[1].'.'.$_expire[0];
|
||||
$prefix = '; ';
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
echo $lang['srv_anketa_noactive2'].'!';
|
||||
}
|
||||
echo "<br />";
|
||||
@ -510,14 +511,18 @@ class SurveyInfo
|
||||
}
|
||||
}
|
||||
|
||||
static function doVariablesCount($query) {
|
||||
static function doVariablesCount($query){
|
||||
|
||||
// zloopamo skozi vprašanja in za vsako vprašan je preberemo št variabel
|
||||
$cnt= 0;
|
||||
|
||||
while ($rowVprasanje = mysqli_fetch_assoc($query)) {
|
||||
|
||||
$spr_id= $rowVprasanje['id'];
|
||||
switch ( $rowVprasanje['tip'] ) { // v odvisnosti od tipa vprašanja pohandlamo podatke
|
||||
|
||||
// v odvisnosti od tipa vprašanja pohandlamo podatke
|
||||
switch ( $rowVprasanje['tip'] ) {
|
||||
|
||||
case 1: // radio
|
||||
case 3: // dropdown
|
||||
$cnt++; // za sam header
|
||||
@ -529,12 +534,12 @@ class SurveyInfo
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: // checkbox
|
||||
case 6: // multigrid
|
||||
case 18: // vsota
|
||||
case 17: // ranking
|
||||
case 21: // text*
|
||||
// $cnt++; // za sam header
|
||||
$sqlSrvVred = self::select_sql_vrednost($rowVprasanje['id']);
|
||||
while ( $rowSrvVred = mysqli_fetch_assoc($sqlSrvVred) ) {
|
||||
$cnt++; // za vsako variablo
|
||||
@ -543,6 +548,7 @@ class SurveyInfo
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 4: // text
|
||||
case 8: // datum
|
||||
case 7: // number
|
||||
@ -553,6 +559,7 @@ class SurveyInfo
|
||||
$cnt+=2;
|
||||
}
|
||||
break;
|
||||
|
||||
case 16: // multicheckbox
|
||||
case 19: // multitext
|
||||
case 20: // multinumber
|
||||
@ -570,17 +577,21 @@ class SurveyInfo
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 26: // lokacija
|
||||
if($rowVprasanje['enota'] == 3){
|
||||
$sqlSrvVred = self::select_sql_vrednost($rowVprasanje['id']);
|
||||
while ( $rowSrvVred = mysqli_fetch_assoc($sqlSrvVred) ) {
|
||||
$cnt++; // za vsako variablo
|
||||
}
|
||||
}
|
||||
else
|
||||
$cnt++; // moja lokacija in multilokacija je 1
|
||||
|
||||
// lokacija
|
||||
case 26:
|
||||
if($rowVprasanje['enota'] == 3){
|
||||
$sqlSrvVred = self::select_sql_vrednost($rowVprasanje['id']);
|
||||
while ( $rowSrvVred = mysqli_fetch_assoc($sqlSrvVred) ) {
|
||||
$cnt++; // za vsako variablo
|
||||
}
|
||||
}
|
||||
else
|
||||
$cnt++; // moja lokacija in multilokacija je 1
|
||||
break;
|
||||
case 27: // heatmap
|
||||
|
||||
// heatmap
|
||||
case 27:
|
||||
$cnt++; // za koordinate
|
||||
$sqlSrvVred = self::select_sql_vrednost($rowVprasanje['id']);
|
||||
while ( $rowSrvVred = mysqli_fetch_assoc($sqlSrvVred) ) { //za morebitna obmocja
|
||||
|
548
composer.lock
generated
548
composer.lock
generated
@ -1,24 +1,23 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "c9fc655cdb58743c38114c03e68c1cc7",
|
||||
"content-hash": "a150435d7f20bef4fdda8cb6c59eb1a6",
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/ca-bundle",
|
||||
"version": "1.2.9",
|
||||
"version": "1.2.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/ca-bundle.git",
|
||||
"reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5"
|
||||
"reference": "9fdb22c2e97a614657716178093cd1da90a64aa8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5",
|
||||
"reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5",
|
||||
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8",
|
||||
"reference": "9fdb22c2e97a614657716178093cd1da90a64aa8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -62,7 +61,26 @@
|
||||
"ssl",
|
||||
"tls"
|
||||
],
|
||||
"time": "2021-01-12 12:10:35"
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"issues": "https://github.com/composer/ca-bundle/issues",
|
||||
"source": "https://github.com/composer/ca-bundle/tree/1.2.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://packagist.com",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/composer",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-06-07T13:58:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fgrosse/phpasn1",
|
||||
@ -133,7 +151,11 @@
|
||||
"x509",
|
||||
"x690"
|
||||
],
|
||||
"time": "2021-04-24 19:01:55"
|
||||
"support": {
|
||||
"issues": "https://github.com/fgrosse/PHPASN1/issues",
|
||||
"source": "https://github.com/fgrosse/PHPASN1/tree/v2.3.0"
|
||||
},
|
||||
"time": "2021-04-24T19:01:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "geoip2/geoip2",
|
||||
@ -186,7 +208,11 @@
|
||||
"geolocation",
|
||||
"maxmind"
|
||||
],
|
||||
"time": "2020-10-01 18:48:34"
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/GeoIP2-php/issues",
|
||||
"source": "https://github.com/maxmind/GeoIP2-php/tree/v2.11.0"
|
||||
},
|
||||
"time": "2020-10-01T18:48:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
@ -253,7 +279,11 @@
|
||||
"rest",
|
||||
"web service"
|
||||
],
|
||||
"time": "2020-06-16 21:01:06"
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/guzzle/issues",
|
||||
"source": "https://github.com/guzzle/guzzle/tree/6.5"
|
||||
},
|
||||
"time": "2020-06-16T21:01:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
@ -304,7 +334,11 @@
|
||||
"keywords": [
|
||||
"promise"
|
||||
],
|
||||
"time": "2021-03-07 09:25:29"
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/promises/issues",
|
||||
"source": "https://github.com/guzzle/promises/tree/1.4.1"
|
||||
},
|
||||
"time": "2021-03-07T09:25:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
@ -375,7 +409,11 @@
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2021-04-26 09:17:50"
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/1.8.2"
|
||||
},
|
||||
"time": "2021-04-26T09:17:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maxmind-db/reader",
|
||||
@ -436,7 +474,11 @@
|
||||
"geolocation",
|
||||
"maxmind"
|
||||
],
|
||||
"time": "2021-04-14 17:49:35"
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/MaxMind-DB-Reader-php/issues",
|
||||
"source": "https://github.com/maxmind/MaxMind-DB-Reader-php/tree/v1.10.1"
|
||||
},
|
||||
"time": "2021-04-14T17:49:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maxmind/web-service-common",
|
||||
@ -482,7 +524,11 @@
|
||||
],
|
||||
"description": "Internal MaxMind Web Service API",
|
||||
"homepage": "https://github.com/maxmind/web-service-common-php",
|
||||
"time": "2020-11-02 17:00:53"
|
||||
"support": {
|
||||
"issues": "https://github.com/maxmind/web-service-common-php/issues",
|
||||
"source": "https://github.com/maxmind/web-service-common-php/tree/v0.8.1"
|
||||
},
|
||||
"time": "2020-11-02T17:00:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "minishlink/web-push",
|
||||
@ -538,7 +584,11 @@
|
||||
"push",
|
||||
"web"
|
||||
],
|
||||
"time": "2020-08-02 08:58:01"
|
||||
"support": {
|
||||
"issues": "https://github.com/web-push-libs/web-push-php/issues",
|
||||
"source": "https://github.com/web-push-libs/web-push-php/tree/v5.2.5"
|
||||
},
|
||||
"time": "2020-08-02T08:58:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
@ -583,20 +633,25 @@
|
||||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"time": "2020-10-15 08:29:30"
|
||||
"support": {
|
||||
"email": "info@paragonie.com",
|
||||
"issues": "https://github.com/paragonie/random_compat/issues",
|
||||
"source": "https://github.com/paragonie/random_compat"
|
||||
},
|
||||
"time": "2020-10-15T08:29:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/sodium_compat",
|
||||
"version": "v1.15.4",
|
||||
"version": "v1.17.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/sodium_compat.git",
|
||||
"reference": "8a93bfe047c7f699f819459de8ddda144cd636a4"
|
||||
"reference": "c59cac21abbcc0df06a3dd18076450ea4797b321"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/8a93bfe047c7f699f819459de8ddda144cd636a4",
|
||||
"reference": "8a93bfe047c7f699f819459de8ddda144cd636a4",
|
||||
"url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/c59cac21abbcc0df06a3dd18076450ea4797b321",
|
||||
"reference": "c59cac21abbcc0df06a3dd18076450ea4797b321",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -665,7 +720,11 @@
|
||||
"secret-key cryptography",
|
||||
"side-channel resistant"
|
||||
],
|
||||
"time": "2021-04-17 09:00:05"
|
||||
"support": {
|
||||
"issues": "https://github.com/paragonie/sodium_compat/issues",
|
||||
"source": "https://github.com/paragonie/sodium_compat/tree/v1.17.0"
|
||||
},
|
||||
"time": "2021-08-10T02:43:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paypal/paypal-checkout-sdk",
|
||||
@ -714,7 +773,11 @@
|
||||
"rest",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2019-11-07 23:16:44"
|
||||
"support": {
|
||||
"issues": "https://github.com/paypal/Checkout-PHP-SDK/issues",
|
||||
"source": "https://github.com/paypal/Checkout-PHP-SDK/tree/1.0.1"
|
||||
},
|
||||
"time": "2019-11-07T23:16:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paypal/paypalhttp",
|
||||
@ -753,20 +816,25 @@
|
||||
"homepage": "https://github.com/paypal/paypalhttp_php/contributors"
|
||||
}
|
||||
],
|
||||
"time": "2019-11-06 21:27:12"
|
||||
"support": {
|
||||
"issues": "https://github.com/paypal/paypalhttp_php/issues",
|
||||
"source": "https://github.com/paypal/paypalhttp_php/tree/1.0.0"
|
||||
},
|
||||
"abandoned": true,
|
||||
"time": "2019-11-06T21:27:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpmailer/phpmailer",
|
||||
"version": "v6.4.1",
|
||||
"version": "v6.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPMailer/PHPMailer.git",
|
||||
"reference": "9256f12d8fb0cd0500f93b19e18c356906cbed3d"
|
||||
"reference": "dd803df5ad7492e1b40637f7ebd258fee5ca7355"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/9256f12d8fb0cd0500f93b19e18c356906cbed3d",
|
||||
"reference": "9256f12d8fb0cd0500f93b19e18c356906cbed3d",
|
||||
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/dd803df5ad7492e1b40637f7ebd258fee5ca7355",
|
||||
"reference": "dd803df5ad7492e1b40637f7ebd258fee5ca7355",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -778,10 +846,12 @@
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"doctrine/annotations": "^1.2",
|
||||
"php-parallel-lint/php-console-highlighter": "^0.5.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.3",
|
||||
"phpcompatibility/php-compatibility": "^9.3.5",
|
||||
"roave/security-advisories": "dev-latest",
|
||||
"squizlabs/php_codesniffer": "^3.5.6",
|
||||
"yoast/phpunit-polyfills": "^0.2.0"
|
||||
"squizlabs/php_codesniffer": "^3.6.0",
|
||||
"yoast/phpunit-polyfills": "^1.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
|
||||
@ -819,7 +889,17 @@
|
||||
}
|
||||
],
|
||||
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
|
||||
"time": "2021-04-29 12:25:04"
|
||||
"support": {
|
||||
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
|
||||
"source": "https://github.com/PHPMailer/PHPMailer/tree/v6.5.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/Synchro",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-08-18T09:14:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
@ -869,7 +949,10 @@
|
||||
"request",
|
||||
"response"
|
||||
],
|
||||
"time": "2016-08-06 14:39:51"
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-message/tree/master"
|
||||
},
|
||||
"time": "2016-08-06T14:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
@ -909,27 +992,31 @@
|
||||
}
|
||||
],
|
||||
"description": "A polyfill for getallheaders.",
|
||||
"time": "2019-03-08 08:55:37"
|
||||
"support": {
|
||||
"issues": "https://github.com/ralouphie/getallheaders/issues",
|
||||
"source": "https://github.com/ralouphie/getallheaders/tree/develop"
|
||||
},
|
||||
"time": "2019-03-08T08:55:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sonata-project/google-authenticator",
|
||||
"version": "2.2.0",
|
||||
"version": "2.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sonata-project/GoogleAuthenticator.git",
|
||||
"reference": "feda53899b26af24e3db2fe7a3e5f053ca483762"
|
||||
"reference": "71a4189228f93a9662574dc8c65e77ef55061b59"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sonata-project/GoogleAuthenticator/zipball/feda53899b26af24e3db2fe7a3e5f053ca483762",
|
||||
"reference": "feda53899b26af24e3db2fe7a3e5f053ca483762",
|
||||
"url": "https://api.github.com/repos/sonata-project/GoogleAuthenticator/zipball/71a4189228f93a9662574dc8c65e77ef55061b59",
|
||||
"reference": "71a4189228f93a9662574dc8c65e77ef55061b59",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1"
|
||||
"php": "^7.3 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^4.0"
|
||||
"symfony/phpunit-bridge": "^5.1.8"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -948,6 +1035,10 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Thomas Rabaix",
|
||||
"email": "thomas.rabaix@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Christian Stocker",
|
||||
"email": "me@chregu.tv"
|
||||
@ -955,10 +1046,6 @@
|
||||
{
|
||||
"name": "Andre DeMarre",
|
||||
"homepage": "http://www.devnetwork.net/viewtopic.php?f=50&t=94989"
|
||||
},
|
||||
{
|
||||
"name": "Thomas Rabaix",
|
||||
"email": "thomas.rabaix@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Library to integrate Google Authenticator into a PHP project",
|
||||
@ -966,7 +1053,29 @@
|
||||
"keywords": [
|
||||
"google authenticator"
|
||||
],
|
||||
"time": "2018-07-18 22:08:02"
|
||||
"support": {
|
||||
"issues": "https://github.com/sonata-project/GoogleAuthenticator/issues",
|
||||
"source": "https://github.com/sonata-project/GoogleAuthenticator/tree/2.3.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/OskarStark",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/VincentLanglet",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/core23",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/wbloszyk",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-15T19:23:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spomky-labs/base64url",
|
||||
@ -1017,20 +1126,34 @@
|
||||
"safe",
|
||||
"url"
|
||||
],
|
||||
"time": "2020-11-03 09:10:25"
|
||||
"support": {
|
||||
"issues": "https://github.com/Spomky-Labs/base64url/issues",
|
||||
"source": "https://github.com/Spomky-Labs/base64url/tree/v2.0.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/Spomky",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-11-03T09:10:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "stripe/stripe-php",
|
||||
"version": "v7.77.0",
|
||||
"version": "v7.94.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/stripe/stripe-php.git",
|
||||
"reference": "f6724447481f6fb8c2e714165e092adad9ca470a"
|
||||
"reference": "03cd6b5c1c4fc9087ddd1dd046457bff274294d6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/f6724447481f6fb8c2e714165e092adad9ca470a",
|
||||
"reference": "f6724447481f6fb8c2e714165e092adad9ca470a",
|
||||
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/03cd6b5c1c4fc9087ddd1dd046457bff274294d6",
|
||||
"reference": "03cd6b5c1c4fc9087ddd1dd046457bff274294d6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1074,20 +1197,24 @@
|
||||
"payment processing",
|
||||
"stripe"
|
||||
],
|
||||
"time": "2021-04-12 17:19:16"
|
||||
"support": {
|
||||
"issues": "https://github.com/stripe/stripe-php/issues",
|
||||
"source": "https://github.com/stripe/stripe-php/tree/v7.94.0"
|
||||
},
|
||||
"time": "2021-08-19T14:15:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-idn",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||
"reference": "2d63434d922daf7da8dd863e7907e67ee3031483"
|
||||
"reference": "65bd267525e82759e7d8c4e8ceea44f398838e65"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483",
|
||||
"reference": "2d63434d922daf7da8dd863e7907e67ee3031483",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65",
|
||||
"reference": "65bd267525e82759e7d8c4e8ceea44f398838e65",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1101,7 +1228,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@ -1144,20 +1271,37 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2021-01-22 09:19:47"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T09:27:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248"
|
||||
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248",
|
||||
"reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
|
||||
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1169,7 +1313,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@ -1211,20 +1355,37 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2021-01-22 09:19:47"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-19T12:13:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php72",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||
"reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9"
|
||||
"reference": "9a142215a36a3888e30d0a9eeea9766764e96976"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
|
||||
"reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976",
|
||||
"reference": "9a142215a36a3888e30d0a9eeea9766764e96976",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1233,7 +1394,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@ -1270,7 +1431,24 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2021-01-07 16:49:33"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T09:17:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-core",
|
||||
@ -1345,7 +1523,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-core/tree/v1.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-key-mgmt",
|
||||
@ -1422,7 +1609,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-key-mgmt/tree/v1.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature",
|
||||
@ -1502,7 +1698,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature/tree/v1.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature-algorithm-ecdsa",
|
||||
@ -1569,7 +1774,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature-algorithm-ecdsa/tree/v1.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature-algorithm-eddsa",
|
||||
@ -1636,7 +1850,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature-algorithm-eddsa/tree/v1.3.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature-algorithm-hmac",
|
||||
@ -1703,7 +1926,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature-algorithm-hmac/tree/v1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature-algorithm-none",
|
||||
@ -1770,7 +2002,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature-algorithm-none/tree/v1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-signature-algorithm-rsa",
|
||||
@ -1837,7 +2078,16 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-signature-algorithm-rsa/tree/v1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "web-token/jwt-util-ecc",
|
||||
@ -1906,22 +2156,31 @@
|
||||
"jwt",
|
||||
"symfony"
|
||||
],
|
||||
"time": "2020-03-20 13:29:04"
|
||||
"support": {
|
||||
"source": "https://github.com/web-token/jwt-util-ecc/tree/v1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.patreon.com/FlorentMorselli",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2020-03-20T13:29:04+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "filp/whoops",
|
||||
"version": "2.12.1",
|
||||
"version": "2.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/filp/whoops.git",
|
||||
"reference": "c13c0be93cff50f88bbd70827d993026821914dd"
|
||||
"reference": "fdf92f03e150ed84d5967a833ae93abffac0315b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/filp/whoops/zipball/c13c0be93cff50f88bbd70827d993026821914dd",
|
||||
"reference": "c13c0be93cff50f88bbd70827d993026821914dd",
|
||||
"url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b",
|
||||
"reference": "fdf92f03e150ed84d5967a833ae93abffac0315b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1969,7 +2228,17 @@
|
||||
"throwable",
|
||||
"whoops"
|
||||
],
|
||||
"time": "2021-04-25 12:00:00"
|
||||
"support": {
|
||||
"issues": "https://github.com/filp/whoops/issues",
|
||||
"source": "https://github.com/filp/whoops/tree/2.14.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/denis-sokolov",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-13T12:00:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "kint-php/kint",
|
||||
@ -2020,20 +2289,24 @@
|
||||
"kint",
|
||||
"php"
|
||||
],
|
||||
"time": "2017-01-15 14:23:43"
|
||||
"support": {
|
||||
"issues": "https://github.com/kint-php/kint/issues",
|
||||
"source": "https://github.com/kint-php/kint/tree/1.1"
|
||||
},
|
||||
"time": "2017-01-15T14:23:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "maximebf/debugbar",
|
||||
"version": "v1.16.5",
|
||||
"version": "v1.17.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/maximebf/php-debugbar.git",
|
||||
"reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62"
|
||||
"reference": "0a3532556be0145603f8a9de23e76dc28eed7054"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62",
|
||||
"reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62",
|
||||
"url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0a3532556be0145603f8a9de23e76dc28eed7054",
|
||||
"reference": "0a3532556be0145603f8a9de23e76dc28eed7054",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2052,7 +2325,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.16-dev"
|
||||
"dev-master": "1.17-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -2081,7 +2354,11 @@
|
||||
"debug",
|
||||
"debugbar"
|
||||
],
|
||||
"time": "2020-12-07 11:07:24"
|
||||
"support": {
|
||||
"issues": "https://github.com/maximebf/php-debugbar/issues",
|
||||
"source": "https://github.com/maximebf/php-debugbar/tree/v1.17.1"
|
||||
},
|
||||
"time": "2021-08-01T09:19:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
@ -2128,20 +2405,23 @@
|
||||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2021-05-03 11:20:27"
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/log/tree/1.1.4"
|
||||
},
|
||||
"time": "2021-05-03T11:20:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "5232de97ee3b75b0360528dae24e73db49566ab1"
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1",
|
||||
"reference": "5232de97ee3b75b0360528dae24e73db49566ab1",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2153,7 +2433,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@ -2191,20 +2471,37 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2021-01-22 09:19:47"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-05-27T12:26:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.22.1",
|
||||
"version": "v1.23.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
|
||||
"reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2213,7 +2510,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.22-dev"
|
||||
"dev-main": "1.23-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
@ -2257,27 +2554,44 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2021-01-07 16:49:33"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-28T13:41:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.4.22",
|
||||
"version": "v4.4.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "c194bcedde6295f3ec3e9eba1f5d484ea97c41a7"
|
||||
"reference": "391d6d0e7a06ab54eb7c38fab29b8d174471b3ba"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/c194bcedde6295f3ec3e9eba1f5d484ea97c41a7",
|
||||
"reference": "c194bcedde6295f3ec3e9eba1f5d484ea97c41a7",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/391d6d0e7a06ab54eb7c38fab29b8d174471b3ba",
|
||||
"reference": "391d6d0e7a06ab54eb7c38fab29b8d174471b3ba",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1.3",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"symfony/polyfill-php72": "~1.5",
|
||||
"symfony/polyfill-php80": "^1.15"
|
||||
"symfony/polyfill-php80": "^1.16"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
|
||||
@ -2329,7 +2643,24 @@
|
||||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2021-04-19 13:36:17"
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.27"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-07-23T15:41:52+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
@ -2340,5 +2671,6 @@
|
||||
"platform": {
|
||||
"php": "^5.5|^7.0"
|
||||
},
|
||||
"platform-dev": []
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.1.0"
|
||||
}
|
||||
|
42
vendor/composer/ClassLoader.php
vendored
42
vendor/composer/ClassLoader.php
vendored
@ -37,11 +37,13 @@ namespace Composer\Autoload;
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see http://www.php-fig.org/psr/psr-0/
|
||||
* @see http://www.php-fig.org/psr/psr-4/
|
||||
* @see https://www.php-fig.org/psr/psr-0/
|
||||
* @see https://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
@ -57,6 +59,13 @@ class ClassLoader
|
||||
private $missingClasses = array();
|
||||
private $apcuPrefix;
|
||||
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
}
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
@ -300,6 +309,17 @@ class ClassLoader
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
|
||||
if (null === $this->vendorDir) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($prepend) {
|
||||
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
||||
} else {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
self::$registeredLoaders[$this->vendorDir] = $this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -308,13 +328,17 @@ class ClassLoader
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
|
||||
if (null !== $this->vendorDir) {
|
||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
* @return true|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
@ -323,6 +347,8 @@ class ClassLoader
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -367,6 +393,16 @@ class ClassLoader
|
||||
return $file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
||||
*
|
||||
* @return self[]
|
||||
*/
|
||||
public static function getRegisteredLoaders()
|
||||
{
|
||||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
|
337
vendor/composer/InstalledVersions.php
vendored
Normal file
337
vendor/composer/InstalledVersions.php
vendored
Normal file
@ -0,0 +1,337 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
/**
|
||||
* This class is copied in every Composer installed project and available to all
|
||||
*
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require it's presence, you can require `composer-runtime-api ^2.0`
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
private static $installed;
|
||||
private static $canGetVendors;
|
||||
private static $installedByVendor = array();
|
||||
|
||||
/**
|
||||
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
||||
*
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of all package names with a specific type e.g. 'library'
|
||||
*
|
||||
* @param string $type
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackagesByType($type)
|
||||
{
|
||||
$packagesByType = array();
|
||||
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
foreach ($installed['versions'] as $name => $package) {
|
||||
if (isset($package['type']) && $package['type'] === $type) {
|
||||
$packagesByType[] = $name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $packagesByType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package is installed
|
||||
*
|
||||
* This also returns true if the package name is provided or replaced by another package
|
||||
*
|
||||
* @param string $packageName
|
||||
* @param bool $includeDevRequirements
|
||||
* @return bool
|
||||
*/
|
||||
public static function isInstalled($packageName, $includeDevRequirements = true)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package satisfies a version constraint
|
||||
*
|
||||
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
||||
*
|
||||
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
||||
*
|
||||
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
||||
* @param string $packageName
|
||||
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
||||
* @return bool
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a version constraint representing all the range(s) which are installed for a given package
|
||||
*
|
||||
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
||||
* whether a given version of a package is installed, and not just whether it exists
|
||||
*
|
||||
* @param string $packageName
|
||||
* @return string Version constraint usable with composer/semver
|
||||
*/
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
||||
*/
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
||||
*/
|
||||
public static function getInstallPath($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw installed.php data for custom implementations
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = include __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
return self::getInstalled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you reload the static array from another file
|
||||
*
|
||||
* This is only useful for complex integrations in which a project needs to use
|
||||
* this class but then also needs to execute another project's autoloader in process,
|
||||
* and wants to ensure both projects have access to their version of installed.php.
|
||||
*
|
||||
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
||||
* the data it needs from this class, then call reload() with
|
||||
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
||||
* the project in which it runs can then also use this class safely, without
|
||||
* interference between PHPUnit's dependencies and the project's dependencies.
|
||||
*
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = require __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
14
vendor/composer/autoload_classmap.php
vendored
14
vendor/composer/autoload_classmap.php
vendored
@ -66,6 +66,7 @@ return array(
|
||||
'CheckboxXml' => $baseDir . '/admin/survey/export/xmlClasses/Vprasanja/CheckboxXml.php',
|
||||
'Common' => $baseDir . '/admin/survey/classes/class.Common.php',
|
||||
'Composer\\CaBundle\\CaBundle' => $vendorDir . '/composer/ca-bundle/src/CaBundle.php',
|
||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
||||
'CrossRoad' => $baseDir . '/admin/survey/classes/tracking/CrossRoad.php',
|
||||
'DatumLatex' => $baseDir . '/admin/survey/export/latexclasses/Vprasanja/DatumLatex.php',
|
||||
'Demografija' => $baseDir . '/admin/survey/classes/class.Demografija.php',
|
||||
@ -706,6 +707,7 @@ return array(
|
||||
'Stripe\\BalanceTransaction' => $vendorDir . '/stripe/stripe-php/lib/BalanceTransaction.php',
|
||||
'Stripe\\BankAccount' => $vendorDir . '/stripe/stripe-php/lib/BankAccount.php',
|
||||
'Stripe\\BaseStripeClient' => $vendorDir . '/stripe/stripe-php/lib/BaseStripeClient.php',
|
||||
'Stripe\\BaseStripeClientInterface' => $vendorDir . '/stripe/stripe-php/lib/BaseStripeClientInterface.php',
|
||||
'Stripe\\BillingPortal\\Configuration' => $vendorDir . '/stripe/stripe-php/lib/BillingPortal/Configuration.php',
|
||||
'Stripe\\BillingPortal\\Session' => $vendorDir . '/stripe/stripe-php/lib/BillingPortal/Session.php',
|
||||
'Stripe\\BitcoinReceiver' => $vendorDir . '/stripe/stripe-php/lib/BitcoinReceiver.php',
|
||||
@ -754,6 +756,9 @@ return array(
|
||||
'Stripe\\FileLink' => $vendorDir . '/stripe/stripe-php/lib/FileLink.php',
|
||||
'Stripe\\HttpClient\\ClientInterface' => $vendorDir . '/stripe/stripe-php/lib/HttpClient/ClientInterface.php',
|
||||
'Stripe\\HttpClient\\CurlClient' => $vendorDir . '/stripe/stripe-php/lib/HttpClient/CurlClient.php',
|
||||
'Stripe\\HttpClient\\StreamingClientInterface' => $vendorDir . '/stripe/stripe-php/lib/HttpClient/StreamingClientInterface.php',
|
||||
'Stripe\\Identity\\VerificationReport' => $vendorDir . '/stripe/stripe-php/lib/Identity/VerificationReport.php',
|
||||
'Stripe\\Identity\\VerificationSession' => $vendorDir . '/stripe/stripe-php/lib/Identity/VerificationSession.php',
|
||||
'Stripe\\Invoice' => $vendorDir . '/stripe/stripe-php/lib/Invoice.php',
|
||||
'Stripe\\InvoiceItem' => $vendorDir . '/stripe/stripe-php/lib/InvoiceItem.php',
|
||||
'Stripe\\InvoiceLineItem' => $vendorDir . '/stripe/stripe-php/lib/InvoiceLineItem.php',
|
||||
@ -779,6 +784,7 @@ return array(
|
||||
'Stripe\\Price' => $vendorDir . '/stripe/stripe-php/lib/Price.php',
|
||||
'Stripe\\Product' => $vendorDir . '/stripe/stripe-php/lib/Product.php',
|
||||
'Stripe\\PromotionCode' => $vendorDir . '/stripe/stripe-php/lib/PromotionCode.php',
|
||||
'Stripe\\Quote' => $vendorDir . '/stripe/stripe-php/lib/Quote.php',
|
||||
'Stripe\\Radar\\EarlyFraudWarning' => $vendorDir . '/stripe/stripe-php/lib/Radar/EarlyFraudWarning.php',
|
||||
'Stripe\\Radar\\ValueList' => $vendorDir . '/stripe/stripe-php/lib/Radar/ValueList.php',
|
||||
'Stripe\\Radar\\ValueListItem' => $vendorDir . '/stripe/stripe-php/lib/Radar/ValueListItem.php',
|
||||
@ -815,6 +821,9 @@ return array(
|
||||
'Stripe\\Service\\ExchangeRateService' => $vendorDir . '/stripe/stripe-php/lib/Service/ExchangeRateService.php',
|
||||
'Stripe\\Service\\FileLinkService' => $vendorDir . '/stripe/stripe-php/lib/Service/FileLinkService.php',
|
||||
'Stripe\\Service\\FileService' => $vendorDir . '/stripe/stripe-php/lib/Service/FileService.php',
|
||||
'Stripe\\Service\\Identity\\IdentityServiceFactory' => $vendorDir . '/stripe/stripe-php/lib/Service/Identity/IdentityServiceFactory.php',
|
||||
'Stripe\\Service\\Identity\\VerificationReportService' => $vendorDir . '/stripe/stripe-php/lib/Service/Identity/VerificationReportService.php',
|
||||
'Stripe\\Service\\Identity\\VerificationSessionService' => $vendorDir . '/stripe/stripe-php/lib/Service/Identity/VerificationSessionService.php',
|
||||
'Stripe\\Service\\InvoiceItemService' => $vendorDir . '/stripe/stripe-php/lib/Service/InvoiceItemService.php',
|
||||
'Stripe\\Service\\InvoiceService' => $vendorDir . '/stripe/stripe-php/lib/Service/InvoiceService.php',
|
||||
'Stripe\\Service\\Issuing\\AuthorizationService' => $vendorDir . '/stripe/stripe-php/lib/Service/Issuing/AuthorizationService.php',
|
||||
@ -834,6 +843,7 @@ return array(
|
||||
'Stripe\\Service\\PriceService' => $vendorDir . '/stripe/stripe-php/lib/Service/PriceService.php',
|
||||
'Stripe\\Service\\ProductService' => $vendorDir . '/stripe/stripe-php/lib/Service/ProductService.php',
|
||||
'Stripe\\Service\\PromotionCodeService' => $vendorDir . '/stripe/stripe-php/lib/Service/PromotionCodeService.php',
|
||||
'Stripe\\Service\\QuoteService' => $vendorDir . '/stripe/stripe-php/lib/Service/QuoteService.php',
|
||||
'Stripe\\Service\\Radar\\EarlyFraudWarningService' => $vendorDir . '/stripe/stripe-php/lib/Service/Radar/EarlyFraudWarningService.php',
|
||||
'Stripe\\Service\\Radar\\RadarServiceFactory' => $vendorDir . '/stripe/stripe-php/lib/Service/Radar/RadarServiceFactory.php',
|
||||
'Stripe\\Service\\Radar\\ValueListItemService' => $vendorDir . '/stripe/stripe-php/lib/Service/Radar/ValueListItemService.php',
|
||||
@ -852,6 +862,7 @@ return array(
|
||||
'Stripe\\Service\\SubscriptionItemService' => $vendorDir . '/stripe/stripe-php/lib/Service/SubscriptionItemService.php',
|
||||
'Stripe\\Service\\SubscriptionScheduleService' => $vendorDir . '/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php',
|
||||
'Stripe\\Service\\SubscriptionService' => $vendorDir . '/stripe/stripe-php/lib/Service/SubscriptionService.php',
|
||||
'Stripe\\Service\\TaxCodeService' => $vendorDir . '/stripe/stripe-php/lib/Service/TaxCodeService.php',
|
||||
'Stripe\\Service\\TaxRateService' => $vendorDir . '/stripe/stripe-php/lib/Service/TaxRateService.php',
|
||||
'Stripe\\Service\\Terminal\\ConnectionTokenService' => $vendorDir . '/stripe/stripe-php/lib/Service/Terminal/ConnectionTokenService.php',
|
||||
'Stripe\\Service\\Terminal\\LocationService' => $vendorDir . '/stripe/stripe-php/lib/Service/Terminal/LocationService.php',
|
||||
@ -871,9 +882,11 @@ return array(
|
||||
'Stripe\\StripeClient' => $vendorDir . '/stripe/stripe-php/lib/StripeClient.php',
|
||||
'Stripe\\StripeClientInterface' => $vendorDir . '/stripe/stripe-php/lib/StripeClientInterface.php',
|
||||
'Stripe\\StripeObject' => $vendorDir . '/stripe/stripe-php/lib/StripeObject.php',
|
||||
'Stripe\\StripeStreamingClientInterface' => $vendorDir . '/stripe/stripe-php/lib/StripeStreamingClientInterface.php',
|
||||
'Stripe\\Subscription' => $vendorDir . '/stripe/stripe-php/lib/Subscription.php',
|
||||
'Stripe\\SubscriptionItem' => $vendorDir . '/stripe/stripe-php/lib/SubscriptionItem.php',
|
||||
'Stripe\\SubscriptionSchedule' => $vendorDir . '/stripe/stripe-php/lib/SubscriptionSchedule.php',
|
||||
'Stripe\\TaxCode' => $vendorDir . '/stripe/stripe-php/lib/TaxCode.php',
|
||||
'Stripe\\TaxId' => $vendorDir . '/stripe/stripe-php/lib/TaxId.php',
|
||||
'Stripe\\TaxRate' => $vendorDir . '/stripe/stripe-php/lib/TaxRate.php',
|
||||
'Stripe\\Terminal\\ConnectionToken' => $vendorDir . '/stripe/stripe-php/lib/Terminal/ConnectionToken.php',
|
||||
@ -919,6 +932,7 @@ return array(
|
||||
'SurveyBreak' => $baseDir . '/admin/survey/classes/surveyAnalysis/class.SurveyBreak.php',
|
||||
'SurveyChart' => $baseDir . '/admin/survey/classes/surveyAnalysis/class.SurveyChart.php',
|
||||
'SurveyChat' => $baseDir . '/admin/survey/modules/mod_chat/class.SurveyChat.php',
|
||||
'SurveyCheck' => $baseDir . '/admin/survey/classes/class.SurveyCheck.php',
|
||||
'SurveyCondition' => $baseDir . '/admin/survey/classes/class.SurveyCondition.php',
|
||||
'SurveyConditionProfiles' => $baseDir . '/admin/survey/classes/class.SurveyConditionProfiles.php',
|
||||
'SurveyConnect' => $baseDir . '/admin/survey/classes/class.SurveyConnect.php',
|
||||
|
6
vendor/composer/autoload_files.php
vendored
6
vendor/composer/autoload_files.php
vendored
@ -7,12 +7,12 @@ $baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'3109cb1a231dcd04bee1f9f620d46975' => $vendorDir . '/paragonie/sodium_compat/autoload.php',
|
||||
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
|
||||
'3109cb1a231dcd04bee1f9f620d46975' => $vendorDir . '/paragonie/sodium_compat/autoload.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'2bf0564df058fbe21b5554296cc8571a' => $baseDir . '/main/survey/class.EvalvacijaMain.php',
|
||||
'5bc35216aa4f6cb823ce4a5cec52fdce' => $baseDir . '/main/survey/mobile-detect/Mobile_Detect.php',
|
||||
|
6
vendor/composer/autoload_real.php
vendored
6
vendor/composer/autoload_real.php
vendored
@ -22,13 +22,15 @@ class ComposerAutoloaderInit6b03163c371c5541881b55b762b8c779
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit6b03163c371c5541881b55b762b8c779', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit6b03163c371c5541881b55b762b8c779', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
require __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInit6b03163c371c5541881b55b762b8c779::getInitializer($loader));
|
||||
} else {
|
||||
|
29
vendor/composer/autoload_static.php
vendored
29
vendor/composer/autoload_static.php
vendored
@ -8,12 +8,12 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
{
|
||||
public static $files = array (
|
||||
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
|
||||
'3109cb1a231dcd04bee1f9f620d46975' => __DIR__ . '/..' . '/paragonie/sodium_compat/autoload.php',
|
||||
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
|
||||
'3109cb1a231dcd04bee1f9f620d46975' => __DIR__ . '/..' . '/paragonie/sodium_compat/autoload.php',
|
||||
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
|
||||
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
|
||||
'2bf0564df058fbe21b5554296cc8571a' => __DIR__ . '/../..' . '/main/survey/class.EvalvacijaMain.php',
|
||||
'5bc35216aa4f6cb823ce4a5cec52fdce' => __DIR__ . '/../..' . '/main/survey/mobile-detect/Mobile_Detect.php',
|
||||
@ -145,11 +145,11 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
),
|
||||
'Jose\\Component\\Signature\\Algorithm\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-rsa',
|
||||
1 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-none',
|
||||
0 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-ecdsa',
|
||||
1 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-eddsa',
|
||||
2 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-hmac',
|
||||
3 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-eddsa',
|
||||
4 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-ecdsa',
|
||||
3 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-none',
|
||||
4 => __DIR__ . '/..' . '/web-token/jwt-signature-algorithm-rsa',
|
||||
),
|
||||
'Jose\\Component\\Signature\\' =>
|
||||
array (
|
||||
@ -258,7 +258,6 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'App\\Controllers\\Vprasanja\\TextController' => __DIR__ . '/../..' . '/main/survey/app/Controllers/Vprasanja/TextController.php',
|
||||
'App\\Controllers\\Vprasanja\\VprasanjaController' => __DIR__ . '/../..' . '/main/survey/app/Controllers/Vprasanja/VprasanjaController.php',
|
||||
'App\\Controllers\\Vprasanja\\VsotaController' => __DIR__ . '/../..' . '/main/survey/app/Controllers/Vprasanja/VsotaController.php',
|
||||
'App\\Controllers\\Vprasanja\\in' => __DIR__ . '/../..' . '/main/survey/app/Controllers/Vprasanja/MultigridController.php',
|
||||
'App\\Models\\Model' => __DIR__ . '/../..' . '/main/survey/app/Models/Model.php',
|
||||
'App\\Models\\SaveSurvey' => __DIR__ . '/../..' . '/main/survey/app/Models/SaveSurvey.php',
|
||||
'App\\Models\\User' => __DIR__ . '/../..' . '/main/survey/app/Models/User.php',
|
||||
@ -271,6 +270,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'CheckboxXml' => __DIR__ . '/../..' . '/admin/survey/export/xmlClasses/Vprasanja/CheckboxXml.php',
|
||||
'Common' => __DIR__ . '/../..' . '/admin/survey/classes/class.Common.php',
|
||||
'Composer\\CaBundle\\CaBundle' => __DIR__ . '/..' . '/composer/ca-bundle/src/CaBundle.php',
|
||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
||||
'CrossRoad' => __DIR__ . '/../..' . '/admin/survey/classes/tracking/CrossRoad.php',
|
||||
'DatumLatex' => __DIR__ . '/../..' . '/admin/survey/export/latexclasses/Vprasanja/DatumLatex.php',
|
||||
'Demografija' => __DIR__ . '/../..' . '/admin/survey/classes/class.Demografija.php',
|
||||
@ -911,6 +911,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\BalanceTransaction' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BalanceTransaction.php',
|
||||
'Stripe\\BankAccount' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BankAccount.php',
|
||||
'Stripe\\BaseStripeClient' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BaseStripeClient.php',
|
||||
'Stripe\\BaseStripeClientInterface' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BaseStripeClientInterface.php',
|
||||
'Stripe\\BillingPortal\\Configuration' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BillingPortal/Configuration.php',
|
||||
'Stripe\\BillingPortal\\Session' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BillingPortal/Session.php',
|
||||
'Stripe\\BitcoinReceiver' => __DIR__ . '/..' . '/stripe/stripe-php/lib/BitcoinReceiver.php',
|
||||
@ -959,6 +960,9 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\FileLink' => __DIR__ . '/..' . '/stripe/stripe-php/lib/FileLink.php',
|
||||
'Stripe\\HttpClient\\ClientInterface' => __DIR__ . '/..' . '/stripe/stripe-php/lib/HttpClient/ClientInterface.php',
|
||||
'Stripe\\HttpClient\\CurlClient' => __DIR__ . '/..' . '/stripe/stripe-php/lib/HttpClient/CurlClient.php',
|
||||
'Stripe\\HttpClient\\StreamingClientInterface' => __DIR__ . '/..' . '/stripe/stripe-php/lib/HttpClient/StreamingClientInterface.php',
|
||||
'Stripe\\Identity\\VerificationReport' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Identity/VerificationReport.php',
|
||||
'Stripe\\Identity\\VerificationSession' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Identity/VerificationSession.php',
|
||||
'Stripe\\Invoice' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Invoice.php',
|
||||
'Stripe\\InvoiceItem' => __DIR__ . '/..' . '/stripe/stripe-php/lib/InvoiceItem.php',
|
||||
'Stripe\\InvoiceLineItem' => __DIR__ . '/..' . '/stripe/stripe-php/lib/InvoiceLineItem.php',
|
||||
@ -984,6 +988,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\Price' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Price.php',
|
||||
'Stripe\\Product' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Product.php',
|
||||
'Stripe\\PromotionCode' => __DIR__ . '/..' . '/stripe/stripe-php/lib/PromotionCode.php',
|
||||
'Stripe\\Quote' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Quote.php',
|
||||
'Stripe\\Radar\\EarlyFraudWarning' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Radar/EarlyFraudWarning.php',
|
||||
'Stripe\\Radar\\ValueList' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Radar/ValueList.php',
|
||||
'Stripe\\Radar\\ValueListItem' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Radar/ValueListItem.php',
|
||||
@ -1020,6 +1025,9 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\Service\\ExchangeRateService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/ExchangeRateService.php',
|
||||
'Stripe\\Service\\FileLinkService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/FileLinkService.php',
|
||||
'Stripe\\Service\\FileService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/FileService.php',
|
||||
'Stripe\\Service\\Identity\\IdentityServiceFactory' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Identity/IdentityServiceFactory.php',
|
||||
'Stripe\\Service\\Identity\\VerificationReportService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Identity/VerificationReportService.php',
|
||||
'Stripe\\Service\\Identity\\VerificationSessionService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Identity/VerificationSessionService.php',
|
||||
'Stripe\\Service\\InvoiceItemService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/InvoiceItemService.php',
|
||||
'Stripe\\Service\\InvoiceService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/InvoiceService.php',
|
||||
'Stripe\\Service\\Issuing\\AuthorizationService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Issuing/AuthorizationService.php',
|
||||
@ -1039,6 +1047,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\Service\\PriceService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/PriceService.php',
|
||||
'Stripe\\Service\\ProductService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/ProductService.php',
|
||||
'Stripe\\Service\\PromotionCodeService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/PromotionCodeService.php',
|
||||
'Stripe\\Service\\QuoteService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/QuoteService.php',
|
||||
'Stripe\\Service\\Radar\\EarlyFraudWarningService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Radar/EarlyFraudWarningService.php',
|
||||
'Stripe\\Service\\Radar\\RadarServiceFactory' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Radar/RadarServiceFactory.php',
|
||||
'Stripe\\Service\\Radar\\ValueListItemService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Radar/ValueListItemService.php',
|
||||
@ -1057,6 +1066,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\Service\\SubscriptionItemService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/SubscriptionItemService.php',
|
||||
'Stripe\\Service\\SubscriptionScheduleService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/SubscriptionScheduleService.php',
|
||||
'Stripe\\Service\\SubscriptionService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/SubscriptionService.php',
|
||||
'Stripe\\Service\\TaxCodeService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/TaxCodeService.php',
|
||||
'Stripe\\Service\\TaxRateService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/TaxRateService.php',
|
||||
'Stripe\\Service\\Terminal\\ConnectionTokenService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Terminal/ConnectionTokenService.php',
|
||||
'Stripe\\Service\\Terminal\\LocationService' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Service/Terminal/LocationService.php',
|
||||
@ -1076,9 +1086,11 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'Stripe\\StripeClient' => __DIR__ . '/..' . '/stripe/stripe-php/lib/StripeClient.php',
|
||||
'Stripe\\StripeClientInterface' => __DIR__ . '/..' . '/stripe/stripe-php/lib/StripeClientInterface.php',
|
||||
'Stripe\\StripeObject' => __DIR__ . '/..' . '/stripe/stripe-php/lib/StripeObject.php',
|
||||
'Stripe\\StripeStreamingClientInterface' => __DIR__ . '/..' . '/stripe/stripe-php/lib/StripeStreamingClientInterface.php',
|
||||
'Stripe\\Subscription' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Subscription.php',
|
||||
'Stripe\\SubscriptionItem' => __DIR__ . '/..' . '/stripe/stripe-php/lib/SubscriptionItem.php',
|
||||
'Stripe\\SubscriptionSchedule' => __DIR__ . '/..' . '/stripe/stripe-php/lib/SubscriptionSchedule.php',
|
||||
'Stripe\\TaxCode' => __DIR__ . '/..' . '/stripe/stripe-php/lib/TaxCode.php',
|
||||
'Stripe\\TaxId' => __DIR__ . '/..' . '/stripe/stripe-php/lib/TaxId.php',
|
||||
'Stripe\\TaxRate' => __DIR__ . '/..' . '/stripe/stripe-php/lib/TaxRate.php',
|
||||
'Stripe\\Terminal\\ConnectionToken' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Terminal/ConnectionToken.php',
|
||||
@ -1124,6 +1136,7 @@ class ComposerStaticInit6b03163c371c5541881b55b762b8c779
|
||||
'SurveyBreak' => __DIR__ . '/../..' . '/admin/survey/classes/surveyAnalysis/class.SurveyBreak.php',
|
||||
'SurveyChart' => __DIR__ . '/../..' . '/admin/survey/classes/surveyAnalysis/class.SurveyChart.php',
|
||||
'SurveyChat' => __DIR__ . '/../..' . '/admin/survey/modules/mod_chat/class.SurveyChat.php',
|
||||
'SurveyCheck' => __DIR__ . '/../..' . '/admin/survey/classes/class.SurveyCheck.php',
|
||||
'SurveyCondition' => __DIR__ . '/../..' . '/admin/survey/classes/class.SurveyCondition.php',
|
||||
'SurveyConditionProfiles' => __DIR__ . '/../..' . '/admin/survey/classes/class.SurveyConditionProfiles.php',
|
||||
'SurveyConnect' => __DIR__ . '/../..' . '/admin/survey/classes/class.SurveyConnect.php',
|
||||
|
5
vendor/composer/ca-bundle/phpstan.neon.dist
vendored
5
vendor/composer/ca-bundle/phpstan.neon.dist
vendored
@ -1,5 +0,0 @@
|
||||
parameters:
|
||||
level: 8
|
||||
paths:
|
||||
- src
|
||||
- tests
|
485
vendor/composer/ca-bundle/res/cacert.pem
vendored
485
vendor/composer/ca-bundle/res/cacert.pem
vendored
@ -1,7 +1,7 @@
|
||||
##
|
||||
## Bundle of CA Root Certificates
|
||||
##
|
||||
## Certificate data from Mozilla as of: Tue Dec 8 04:12:05 2020 GMT
|
||||
## Certificate data from Mozilla as of: Tue May 25 03:12:05 2021 GMT
|
||||
##
|
||||
## This is a bundle of X.509 certificates of public Certificate Authorities
|
||||
## (CA). These were automatically extracted from Mozilla's root certificates
|
||||
@ -14,7 +14,7 @@
|
||||
## Just configure this file as the SSLCACertificateFile.
|
||||
##
|
||||
## Conversion done with mk-ca-bundle.pl version 1.28.
|
||||
## SHA256: d820b8696d8ffe42064a1384a56a8981cdc7e7e198036bbb5fa04a6c282dd9a2
|
||||
## SHA256: e292bd4e2d500c86df45b830d89417be5c42ee670408f1d2c454c63d8a782865
|
||||
##
|
||||
|
||||
|
||||
@ -132,87 +132,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
||||
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Global CA
|
||||
==================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
||||
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
|
||||
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
||||
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
|
||||
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
|
||||
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
|
||||
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
|
||||
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
|
||||
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
|
||||
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
|
||||
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
|
||||
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
|
||||
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
|
||||
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
||||
Mw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Universal CA
|
||||
=====================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
||||
R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
|
||||
MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
|
||||
Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
||||
ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
|
||||
JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
|
||||
RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
|
||||
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
|
||||
8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
|
||||
qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
|
||||
Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
|
||||
Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
|
||||
KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
|
||||
ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
|
||||
XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
|
||||
hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
|
||||
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
|
||||
qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
|
||||
oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
|
||||
xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
|
||||
KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
|
||||
DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
|
||||
xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
|
||||
p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
|
||||
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Universal CA 2
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
||||
R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
|
||||
MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
|
||||
SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
|
||||
A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
|
||||
DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
|
||||
j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
|
||||
JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
|
||||
QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
|
||||
WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
|
||||
20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
|
||||
ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
|
||||
SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
|
||||
8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
|
||||
+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
|
||||
BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
|
||||
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
|
||||
4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
|
||||
mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
|
||||
A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
|
||||
Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
|
||||
pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
|
||||
FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
|
||||
gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
|
||||
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Comodo AAA Services root
|
||||
========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@ -596,78 +515,6 @@ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
|
||||
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
|
||||
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
|
||||
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
|
||||
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
|
||||
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
|
||||
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
|
||||
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
|
||||
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
|
||||
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
||||
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
|
||||
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
|
||||
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
|
||||
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
|
||||
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
|
||||
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
|
||||
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
||||
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
|
||||
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
|
||||
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
|
||||
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
|
||||
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
|
||||
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
|
||||
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
|
||||
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
|
||||
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
|
||||
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
|
||||
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
|
||||
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
|
||||
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
||||
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
|
||||
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
|
||||
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G5
|
||||
============================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
|
||||
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
||||
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
||||
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
|
||||
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
|
||||
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
|
||||
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
|
||||
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
|
||||
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
||||
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
|
||||
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
|
||||
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
|
||||
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
|
||||
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
|
||||
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
|
||||
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
||||
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
|
||||
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
|
||||
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
|
||||
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
|
||||
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
|
||||
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
SecureTrust CA
|
||||
==============
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@ -871,136 +718,6 @@ vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
||||
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority - G3
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
||||
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
||||
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
||||
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
||||
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
||||
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
||||
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
||||
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
||||
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
||||
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
||||
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
|
||||
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
||||
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
||||
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
||||
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
||||
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
||||
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA - G2
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
|
||||
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
|
||||
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
|
||||
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
|
||||
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
|
||||
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
|
||||
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
|
||||
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
|
||||
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
|
||||
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
|
||||
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
|
||||
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA - G3
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
|
||||
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
||||
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
|
||||
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
||||
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
|
||||
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
|
||||
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
|
||||
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
|
||||
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
|
||||
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
|
||||
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
|
||||
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
|
||||
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
|
||||
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
||||
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
|
||||
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
|
||||
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority - G2
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
|
||||
VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
|
||||
Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
|
||||
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
|
||||
OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
|
||||
MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
|
||||
b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
|
||||
BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
|
||||
KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
|
||||
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
|
||||
EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
|
||||
ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
|
||||
npaqBA+K
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
VeriSign Universal Root Certification Authority
|
||||
===============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
|
||||
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
||||
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
||||
IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
|
||||
IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
|
||||
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
||||
cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
||||
IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
|
||||
1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
|
||||
MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
|
||||
9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
|
||||
AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
|
||||
tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
|
||||
CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
|
||||
a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
|
||||
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
|
||||
Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
|
||||
Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
|
||||
P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
|
||||
wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
|
||||
mJO37M2CYfE45k+XmCpajQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G4
|
||||
============================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
|
||||
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
|
||||
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
|
||||
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
|
||||
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
|
||||
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
|
||||
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
||||
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
|
||||
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
|
||||
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
|
||||
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
|
||||
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
|
||||
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
|
||||
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
|
||||
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
NetLock Arany (Class Gold) Főtanúsítvány
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@ -1176,82 +893,6 @@ Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
|
||||
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Chambers of Commerce Root - 2008
|
||||
================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
|
||||
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
||||
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
||||
QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
|
||||
Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
|
||||
ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
|
||||
EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
|
||||
cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
||||
AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
|
||||
XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
|
||||
h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
|
||||
ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
|
||||
NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
|
||||
D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
|
||||
lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
|
||||
0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
|
||||
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
|
||||
EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
|
||||
G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
|
||||
BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
|
||||
bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
|
||||
bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
|
||||
CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
|
||||
AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
|
||||
wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
|
||||
3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
|
||||
RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
|
||||
M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
|
||||
YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
|
||||
9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
|
||||
zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
|
||||
nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
|
||||
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Global Chambersign Root - 2008
|
||||
==============================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
|
||||
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
||||
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
||||
QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
|
||||
NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
|
||||
Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
|
||||
QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
|
||||
aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
|
||||
VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
|
||||
XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
|
||||
ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
|
||||
/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
|
||||
TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
|
||||
H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
|
||||
Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
|
||||
HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
|
||||
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
|
||||
AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
|
||||
BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
|
||||
BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
|
||||
aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
|
||||
aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
|
||||
1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
|
||||
dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
|
||||
/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
|
||||
ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
|
||||
dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
|
||||
9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
|
||||
foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
|
||||
qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
|
||||
P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
|
||||
c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
|
||||
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Go Daddy Root Certificate Authority - G2
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@ -2218,36 +1859,6 @@ uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
|
||||
yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Staat der Nederlanden Root CA - G3
|
||||
==================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
|
||||
CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
|
||||
Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC
|
||||
TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
|
||||
ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y
|
||||
olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
|
||||
x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy
|
||||
EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K
|
||||
Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
|
||||
mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5
|
||||
1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp
|
||||
07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo
|
||||
FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE
|
||||
41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB
|
||||
AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu
|
||||
yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD
|
||||
U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq
|
||||
KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1
|
||||
v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
|
||||
8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b
|
||||
8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r
|
||||
mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
|
||||
1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI
|
||||
JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
|
||||
tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Staat der Nederlanden EV Root CA
|
||||
================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@ -3433,3 +3044,95 @@ HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn
|
||||
ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl
|
||||
CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
NAVER Global Root Certification Authority
|
||||
=========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG
|
||||
A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD
|
||||
DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4
|
||||
NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT
|
||||
UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv
|
||||
biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb
|
||||
UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW
|
||||
+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7
|
||||
XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2
|
||||
aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4
|
||||
Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z
|
||||
VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B
|
||||
A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai
|
||||
cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy
|
||||
YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV
|
||||
HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK
|
||||
21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB
|
||||
jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx
|
||||
hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg
|
||||
E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH
|
||||
D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ
|
||||
A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY
|
||||
qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG
|
||||
I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg
|
||||
kpzNNIaRkPpkUZ3+/uul9XXeifdy
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
AC RAIZ FNMT-RCM SERVIDORES SEGUROS
|
||||
===================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF
|
||||
UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy
|
||||
NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4
|
||||
MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt
|
||||
UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB
|
||||
QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
|
||||
BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2
|
||||
LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw
|
||||
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG
|
||||
SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD
|
||||
zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GlobalSign Root R46
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUAMEYxCzAJBgNV
|
||||
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJv
|
||||
b3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAX
|
||||
BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIi
|
||||
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08Es
|
||||
CVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQGvGIFAha/
|
||||
r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud316HCkD7rRlr+/fKYIje
|
||||
2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEt
|
||||
bWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvj
|
||||
K8Cd+RTyG/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD4
|
||||
12lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCNI/on
|
||||
ccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzsx2sZy/N78CsHpdls
|
||||
eVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9
|
||||
vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYD
|
||||
VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEM
|
||||
BQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg
|
||||
JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti2kM3S+LGteWy
|
||||
gxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92
|
||||
CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZm
|
||||
OUdkLG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qq
|
||||
JZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwye
|
||||
qiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboz
|
||||
nxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7
|
||||
DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3
|
||||
QEUxeCp6
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GlobalSign Root E46
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT
|
||||
AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg
|
||||
RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV
|
||||
BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq
|
||||
hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB
|
||||
jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj
|
||||
QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL
|
||||
gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk
|
||||
vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+
|
||||
CAezNIm8BZ/3Hobui3A=
|
||||
-----END CERTIFICATE-----
|
||||
|
4029
vendor/composer/installed.json
vendored
4029
vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load Diff
308
vendor/composer/installed.php
vendored
Normal file
308
vendor/composer/installed.php
vendored
Normal file
@ -0,0 +1,308 @@
|
||||
<?php return array(
|
||||
'root' => array(
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '7dadd6ede285708f874a020c0152511e73fbf4b2',
|
||||
'name' => '1ka/1ka.si',
|
||||
'dev' => false,
|
||||
),
|
||||
'versions' => array(
|
||||
'1ka/1ka.si' => array(
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '7dadd6ede285708f874a020c0152511e73fbf4b2',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'composer/ca-bundle' => array(
|
||||
'pretty_version' => '1.2.10',
|
||||
'version' => '1.2.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/./ca-bundle',
|
||||
'aliases' => array(),
|
||||
'reference' => '9fdb22c2e97a614657716178093cd1da90a64aa8',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'fgrosse/phpasn1' => array(
|
||||
'pretty_version' => 'v2.3.0',
|
||||
'version' => '2.3.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../fgrosse/phpasn1',
|
||||
'aliases' => array(),
|
||||
'reference' => '20299033c35f4300eb656e7e8e88cf52d1d6694e',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'geoip2/geoip2' => array(
|
||||
'pretty_version' => 'v2.11.0',
|
||||
'version' => '2.11.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../geoip2/geoip2',
|
||||
'aliases' => array(),
|
||||
'reference' => 'd01be5894a5c1a3381c58c9b1795cd07f96c30f7',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/guzzle' => array(
|
||||
'pretty_version' => '6.5.5',
|
||||
'version' => '6.5.5.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
|
||||
'aliases' => array(),
|
||||
'reference' => '9d4290de1cfd701f38099ef7e183b64b4b7b0c5e',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/promises' => array(
|
||||
'pretty_version' => '1.4.1',
|
||||
'version' => '1.4.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/promises',
|
||||
'aliases' => array(),
|
||||
'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'guzzlehttp/psr7' => array(
|
||||
'pretty_version' => '1.8.2',
|
||||
'version' => '1.8.2.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../guzzlehttp/psr7',
|
||||
'aliases' => array(),
|
||||
'reference' => 'dc960a912984efb74d0a90222870c72c87f10c91',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'maxmind-db/reader' => array(
|
||||
'pretty_version' => 'v1.10.1',
|
||||
'version' => '1.10.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../maxmind-db/reader',
|
||||
'aliases' => array(),
|
||||
'reference' => '569bd44d97d30a4ec12c7793a33004a76d4caf18',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'maxmind/web-service-common' => array(
|
||||
'pretty_version' => 'v0.8.1',
|
||||
'version' => '0.8.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../maxmind/web-service-common',
|
||||
'aliases' => array(),
|
||||
'reference' => '32f274051c543fc865e5a84d3a2c703913641ea8',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'minishlink/web-push' => array(
|
||||
'pretty_version' => 'v5.2.5',
|
||||
'version' => '5.2.5.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../minishlink/web-push',
|
||||
'aliases' => array(),
|
||||
'reference' => '0e75af425126435794ed42d7aa92119fd563e503',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'paragonie/random_compat' => array(
|
||||
'pretty_version' => 'v9.99.100',
|
||||
'version' => '9.99.100.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../paragonie/random_compat',
|
||||
'aliases' => array(),
|
||||
'reference' => '996434e5492cb4c3edcb9168db6fbb1359ef965a',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'paragonie/sodium_compat' => array(
|
||||
'pretty_version' => 'v1.17.0',
|
||||
'version' => '1.17.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../paragonie/sodium_compat',
|
||||
'aliases' => array(),
|
||||
'reference' => 'c59cac21abbcc0df06a3dd18076450ea4797b321',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'paypal/paypal-checkout-sdk' => array(
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../paypal/paypal-checkout-sdk',
|
||||
'aliases' => array(),
|
||||
'reference' => 'ed6a55075448308b87a8b59dcb7fedf04a048cb1',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'paypal/paypalhttp' => array(
|
||||
'pretty_version' => '1.0.0',
|
||||
'version' => '1.0.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../paypal/paypalhttp',
|
||||
'aliases' => array(),
|
||||
'reference' => '1ad9b846a046f09d6135cbf2cbaa7701bbc630a3',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'phpmailer/phpmailer' => array(
|
||||
'pretty_version' => 'v6.5.1',
|
||||
'version' => '6.5.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../phpmailer/phpmailer',
|
||||
'aliases' => array(),
|
||||
'reference' => 'dd803df5ad7492e1b40637f7ebd258fee5ca7355',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-message' => array(
|
||||
'pretty_version' => '1.0.1',
|
||||
'version' => '1.0.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/http-message',
|
||||
'aliases' => array(),
|
||||
'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-message-implementation' => array(
|
||||
'dev_requirement' => false,
|
||||
'provided' => array(
|
||||
0 => '1.0',
|
||||
),
|
||||
),
|
||||
'ralouphie/getallheaders' => array(
|
||||
'pretty_version' => '3.0.3',
|
||||
'version' => '3.0.3.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../ralouphie/getallheaders',
|
||||
'aliases' => array(),
|
||||
'reference' => '120b605dfeb996808c31b6477290a714d356e822',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'sonata-project/google-authenticator' => array(
|
||||
'pretty_version' => '2.3.1',
|
||||
'version' => '2.3.1.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../sonata-project/google-authenticator',
|
||||
'aliases' => array(),
|
||||
'reference' => '71a4189228f93a9662574dc8c65e77ef55061b59',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spomky-labs/base64url' => array(
|
||||
'pretty_version' => 'v2.0.4',
|
||||
'version' => '2.0.4.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spomky-labs/base64url',
|
||||
'aliases' => array(),
|
||||
'reference' => '7752ce931ec285da4ed1f4c5aa27e45e097be61d',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'stripe/stripe-php' => array(
|
||||
'pretty_version' => 'v7.94.0',
|
||||
'version' => '7.94.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../stripe/stripe-php',
|
||||
'aliases' => array(),
|
||||
'reference' => '03cd6b5c1c4fc9087ddd1dd046457bff274294d6',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-intl-idn' => array(
|
||||
'pretty_version' => 'v1.23.0',
|
||||
'version' => '1.23.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn',
|
||||
'aliases' => array(),
|
||||
'reference' => '65bd267525e82759e7d8c4e8ceea44f398838e65',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-intl-normalizer' => array(
|
||||
'pretty_version' => 'v1.23.0',
|
||||
'version' => '1.23.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
|
||||
'aliases' => array(),
|
||||
'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-php72' => array(
|
||||
'pretty_version' => 'v1.23.0',
|
||||
'version' => '1.23.0.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/polyfill-php72',
|
||||
'aliases' => array(),
|
||||
'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-core' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-core',
|
||||
'aliases' => array(),
|
||||
'reference' => '30e9df9e040d933043b16237f9dba7a3be746566',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-key-mgmt' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-key-mgmt',
|
||||
'aliases' => array(),
|
||||
'reference' => '65b1e908e50b0e5be6b28135085d3c1097b81801',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature',
|
||||
'aliases' => array(),
|
||||
'reference' => '00f23e997c9032536444f819bc3338ab475d69f9',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature-algorithm-ecdsa' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature-algorithm-ecdsa',
|
||||
'aliases' => array(),
|
||||
'reference' => 'a3babd3b82c29c739d426271ccb9dc1a56222e36',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature-algorithm-eddsa' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature-algorithm-eddsa',
|
||||
'aliases' => array(),
|
||||
'reference' => 'b0dad134313b14b3ba077b63a7afcc2b38e5f793',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature-algorithm-hmac' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature-algorithm-hmac',
|
||||
'aliases' => array(),
|
||||
'reference' => '3bc85e1d13804902a8d81a11f58c28c9a471b5e2',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature-algorithm-none' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature-algorithm-none',
|
||||
'aliases' => array(),
|
||||
'reference' => '0391e160367e85846736e63ea6026e2dab667b6e',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-signature-algorithm-rsa' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-signature-algorithm-rsa',
|
||||
'aliases' => array(),
|
||||
'reference' => '344181ef6cdd3aca77f7ff7defc9fb502eb33ec0',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'web-token/jwt-util-ecc' => array(
|
||||
'pretty_version' => 'v1.3.10',
|
||||
'version' => '1.3.10.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../web-token/jwt-util-ecc',
|
||||
'aliases' => array(),
|
||||
'reference' => '2011af8454561ebce06a77fcd681c29a252e0068',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
);
|
26
vendor/composer/platform_check.php
vendored
Normal file
26
vendor/composer/platform_check.php
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
// platform_check.php @generated by Composer
|
||||
|
||||
$issues = array();
|
||||
|
||||
if (!(PHP_VERSION_ID >= 70300)) {
|
||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.';
|
||||
}
|
||||
|
||||
if ($issues) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
||||
} elseif (!headers_sent()) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
@ -7,10 +7,10 @@ jobs:
|
||||
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
operating-system: ['ubuntu-16.04']
|
||||
operating-system: ['ubuntu-18.04']
|
||||
php-versions: ['5.3', '5.4', '5.5', '5.6', '7.0']
|
||||
phpunit-versions: ['7.5.20']
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
@ -20,25 +20,28 @@ jobs:
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, intl
|
||||
ini-values: post_max_size=256M, max_execution_time=180
|
||||
tools: psalm, phpunit:${{ matrix.phpunit-versions }}
|
||||
ini-values: max_execution_time=600, memory_limit=256M, error_reporting=-1, display_errors=On
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer self-update --1; composer install
|
||||
- name: Use Composer 1.x
|
||||
run: composer self-update --1
|
||||
|
||||
- name: Install Composer dependencies
|
||||
uses: "ramsey/composer-install@v1"
|
||||
|
||||
- name: PHPUnit tests
|
||||
uses: php-actions/phpunit@v2
|
||||
with:
|
||||
memory_limit: 256M
|
||||
run: vendor/bin/phpunit
|
||||
|
||||
moderate:
|
||||
moderate-modern:
|
||||
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ['ubuntu-latest']
|
||||
php-versions: ['7.1', '7.2', '7.3']
|
||||
phpunit-versions: ['latest']
|
||||
php-versions: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
|
||||
|
||||
continue-on-error: ${{ matrix.php-versions == '8.1' }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
@ -48,49 +51,18 @@ jobs:
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, intl, sodium
|
||||
ini-values: post_max_size=256M, max_execution_time=180
|
||||
tools: psalm, phpunit:${{ matrix.phpunit-versions }}
|
||||
ini-values: error_reporting=-1, display_errors=On
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install
|
||||
- name: Install Composer dependencies (PHP < 8.1)
|
||||
if: ${{ matrix.php-versions != '8.1' }}
|
||||
uses: "ramsey/composer-install@v1"
|
||||
|
||||
- name: Install Composer dependencies - ignore-platform-reqs (PHP 8.1)
|
||||
if: ${{ matrix.php-versions == '8.1' }}
|
||||
uses: "ramsey/composer-install@v1"
|
||||
with:
|
||||
composer-options: --ignore-platform-reqs
|
||||
|
||||
- name: PHPUnit tests
|
||||
uses: php-actions/phpunit@v2
|
||||
timeout-minutes: 30
|
||||
with:
|
||||
memory_limit: 256M
|
||||
|
||||
modern:
|
||||
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ['ubuntu-latest']
|
||||
php-versions: ['7.4', '8.0']
|
||||
phpunit-versions: ['latest']
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, intl, sodium
|
||||
ini-values: post_max_size=256M, max_execution_time=180
|
||||
tools: psalm, phpunit:${{ matrix.phpunit-versions }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install
|
||||
|
||||
- name: PHPUnit tests
|
||||
uses: php-actions/phpunit@v2
|
||||
timeout-minutes: 30
|
||||
with:
|
||||
memory_limit: 256M
|
||||
|
||||
- name: Install Psalm
|
||||
run: composer require --dev vimeo/psalm:^4; cp psalm-above-3.xml psalm.xml
|
||||
|
||||
- name: Static Analysis
|
||||
run: vendor/bin/psalm
|
||||
run: vendor/bin/phpunit
|
||||
|
33
vendor/paragonie/sodium_compat/.github/workflows/psalm.yml
vendored
Normal file
33
vendor/paragonie/sodium_compat/.github/workflows/psalm.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
name: Psalm
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
psalm:
|
||||
name: Psalm on PHP ${{ matrix.php-versions }}
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: ['ubuntu-latest']
|
||||
php-versions: ['7.4']
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
tools: psalm:4
|
||||
coverage: none
|
||||
|
||||
- name: Install Composer dependencies
|
||||
uses: "ramsey/composer-install@v1"
|
||||
with:
|
||||
composer-options: --no-dev
|
||||
|
||||
- name: Put Psalm config in place
|
||||
run: cp psalm-above-3.xml psalm.xml
|
||||
|
||||
- name: Static Analysis
|
||||
run: psalm
|
37
vendor/paragonie/sodium_compat/LICENSE
vendored
37
vendor/paragonie/sodium_compat/LICENSE
vendored
@ -1,21 +1,16 @@
|
||||
/*
|
||||
* ISC License
|
||||
*
|
||||
* Copyright (c) 2016-2019
|
||||
* Paragon Initiative Enterprises <security at paragonie dot com>
|
||||
*
|
||||
* Copyright (c) 2013-2019
|
||||
* Frank Denis <j at pureftpd dot org>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
ISC License
|
||||
|
||||
Copyright (c) 2016-2021, Paragon Initiative Enterprises <security at paragonie dot com>
|
||||
Copyright (c) 2013-2019, Frank Denis <j at pureftpd dot org>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
1
vendor/paragonie/sodium_compat/README.md
vendored
1
vendor/paragonie/sodium_compat/README.md
vendored
@ -1,6 +1,7 @@
|
||||
# Sodium Compat
|
||||
|
||||
[](https://github.com/paragonie/sodium_compat/actions)
|
||||
[](https://github.com/paragonie/sodium_compat/actions)
|
||||
[](https://ci.appveyor.com/project/paragonie-scott/sodium-compat)
|
||||
[](https://packagist.org/packages/paragonie/sodium_compat)
|
||||
[](https://packagist.org/packages/paragonie/sodium_compat)
|
||||
|
@ -5,3 +5,4 @@ require_once (dirname(__FILE__) . '/vendor/autoload.php');
|
||||
if (PHP_VERSION_ID >= 50300) {
|
||||
require_once (dirname(__FILE__) . '/tests/phpunit-shim.php');
|
||||
}
|
||||
require_once (dirname(__FILE__) . '/autoload.php');
|
||||
|
4
vendor/paragonie/sodium_compat/autoload.php
vendored
4
vendor/paragonie/sodium_compat/autoload.php
vendored
@ -41,6 +41,9 @@ if (PHP_VERSION_ID < 70000) {
|
||||
require_once dirname(__FILE__) . '/autoload-php7.php';
|
||||
}
|
||||
|
||||
/* Explicitly, always load the Compat class: */
|
||||
require_once dirname(__FILE__) . '/src/Compat.php';
|
||||
|
||||
if (!class_exists('SodiumException', false)) {
|
||||
require_once dirname(__FILE__) . '/src/SodiumException.php';
|
||||
}
|
||||
@ -66,3 +69,4 @@ if (PHP_VERSION_ID < 70200 || !extension_loaded('sodium')) {
|
||||
// Older versions of {PHP, ext/sodium} will not define these
|
||||
require_once(dirname(__FILE__) . '/lib/php72compat.php');
|
||||
}
|
||||
require_once(dirname(__FILE__) . '/lib/ristretto255.php');
|
||||
|
239
vendor/paragonie/sodium_compat/lib/ristretto255.php
vendored
Normal file
239
vendor/paragonie/sodium_compat/lib/ristretto255.php
vendored
Normal file
@ -0,0 +1,239 @@
|
||||
<?php
|
||||
|
||||
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_BYTES
|
||||
);
|
||||
define('SODIUM_COMPAT_POLYFILLED_RISTRETTO255', true);
|
||||
}
|
||||
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_HASHBYTES
|
||||
);
|
||||
}
|
||||
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_SCALARBYTES
|
||||
);
|
||||
}
|
||||
if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES
|
||||
);
|
||||
}
|
||||
if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES
|
||||
);
|
||||
}
|
||||
if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES')) {
|
||||
define(
|
||||
'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES',
|
||||
ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_BYTES
|
||||
);
|
||||
}
|
||||
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_add')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_add()
|
||||
*
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_add($p, $q)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_add($p, $q, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_from_hash')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_from_hash()
|
||||
*
|
||||
* @param string $r
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_from_hash($r)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_from_hash($r, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_is_valid_point')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_is_valid_point()
|
||||
*
|
||||
* @param string $p
|
||||
* @return bool
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_is_valid_point($p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_is_valid_point($p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_random')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_random()
|
||||
*
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_random()
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_random(true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_add')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_add()
|
||||
*
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_add($p, $q)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_add($p, $q, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_complement')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_complement()
|
||||
*
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_complement($p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_complement($p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_invert')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_invert()
|
||||
*
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_invert($p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_invert($p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_mul')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_mul()
|
||||
*
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_mul($p, $q)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_mul($p, $q, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_negate')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_negate()
|
||||
*
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_negate($p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_negate($p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_random')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_random()
|
||||
*
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_random()
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_random(true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_reduce')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_reduce()
|
||||
*
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_reduce($p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_reduce($p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_scalar_sub')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_scalar_sub()
|
||||
*
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_scalar_sub($p, $q)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_scalar_sub($p, $q, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_core_ristretto255_sub')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::ristretto255_sub()
|
||||
*
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
function sodium_crypto_core_ristretto255_sub($p, $q)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::ristretto255_sub($p, $q, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_scalarmult_ristretto255')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255()
|
||||
* @param string $n
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
* @throws TypeError
|
||||
*/
|
||||
function sodium_crypto_scalarmult_ristretto255($n, $p)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::scalarmult_ristretto255($n, $p, true);
|
||||
}
|
||||
}
|
||||
if (!is_callable('sodium_crypto_scalarmult_ristretto255_base')) {
|
||||
/**
|
||||
* @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255_base()
|
||||
* @param string $n
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
* @throws TypeError
|
||||
*/
|
||||
function sodium_crypto_scalarmult_ristretto255_base($n)
|
||||
{
|
||||
return ParagonIE_Sodium_Compat::scalarmult_ristretto255_base($n, true);
|
||||
}
|
||||
}
|
41
vendor/paragonie/sodium_compat/phpunit.xml.dist
vendored
41
vendor/paragonie/sodium_compat/phpunit.xml.dist
vendored
@ -1,27 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit
|
||||
backupGlobals="true"
|
||||
backupStaticAttributes="false"
|
||||
bootstrap="autoload-phpunit.php"
|
||||
colors="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
processIsolation="false"
|
||||
stopOnError="false"
|
||||
stopOnFailure="false"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Unit Tests">
|
||||
<directory suffix="Test.php">./tests/unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Libsodium Compatibility Tests">
|
||||
<directory suffix="Test.php">./tests/compat</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">./src</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
</phpunit>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="true" backupStaticAttributes="false" bootstrap="autoload-phpunit.php" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnError="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<coverage processUncoveredFiles="true">
|
||||
<include>
|
||||
<directory suffix=".php">./src</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Unit Tests">
|
||||
<directory suffix="Test.php">./tests/unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Libsodium Compatibility Tests">
|
||||
<directory suffix="Test.php">./tests/compat</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
||||
|
281
vendor/paragonie/sodium_compat/src/Compat.php
vendored
281
vendor/paragonie/sodium_compat/src/Compat.php
vendored
@ -80,6 +80,10 @@ class ParagonIE_Sodium_Compat
|
||||
const CRYPTO_BOX_MACBYTES = 16;
|
||||
const CRYPTO_BOX_NONCEBYTES = 24;
|
||||
const CRYPTO_BOX_SEEDBYTES = 32;
|
||||
const CRYPTO_CORE_RISTRETTO255_BYTES = 32;
|
||||
const CRYPTO_CORE_RISTRETTO255_SCALARBYTES = 32;
|
||||
const CRYPTO_CORE_RISTRETTO255_HASHBYTES = 64;
|
||||
const CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES = 64;
|
||||
const CRYPTO_KDF_BYTES_MIN = 16;
|
||||
const CRYPTO_KDF_BYTES_MAX = 64;
|
||||
const CRYPTO_KDF_CONTEXTBYTES = 8;
|
||||
@ -115,6 +119,8 @@ class ParagonIE_Sodium_Compat
|
||||
const CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE = 1073741824;
|
||||
const CRYPTO_SCALARMULT_BYTES = 32;
|
||||
const CRYPTO_SCALARMULT_SCALARBYTES = 32;
|
||||
const CRYPTO_SCALARMULT_RISTRETTO255_BYTES = 32;
|
||||
const CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES = 32;
|
||||
const CRYPTO_SHORTHASH_BYTES = 8;
|
||||
const CRYPTO_SHORTHASH_KEYBYTES = 16;
|
||||
const CRYPTO_SECRETBOX_KEYBYTES = 32;
|
||||
@ -3007,7 +3013,7 @@ class ParagonIE_Sodium_Compat
|
||||
/**
|
||||
* DANGER! UNAUTHENTICATED ENCRYPTION!
|
||||
*
|
||||
* Unless you are following expert advice, do not used this feature.
|
||||
* Unless you are following expert advice, do not use this feature.
|
||||
*
|
||||
* Algorithm: XSalsa20
|
||||
*
|
||||
@ -3106,7 +3112,7 @@ class ParagonIE_Sodium_Compat
|
||||
/**
|
||||
* DANGER! UNAUTHENTICATED ENCRYPTION!
|
||||
*
|
||||
* Unless you are following expert advice, do not used this feature.
|
||||
* Unless you are following expert advice, do not use this feature.
|
||||
*
|
||||
* Algorithm: XChaCha20
|
||||
*
|
||||
@ -3224,6 +3230,21 @@ class ParagonIE_Sodium_Compat
|
||||
$var = $copy;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $str
|
||||
* @return bool
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function is_zero($str)
|
||||
{
|
||||
$d = 0;
|
||||
for ($i = 0; $i < 32; ++$i) {
|
||||
$d |= ParagonIE_Sodium_Core_Util::chrToInt($str[$i]);
|
||||
}
|
||||
return ((($d - 1) >> 31) & 1) === 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* The equivalent to the libsodium minor version we aim to be compatible
|
||||
* with (sans pwhash and memzero).
|
||||
@ -3561,6 +3582,232 @@ class ParagonIE_Sodium_Compat
|
||||
return random_int(0, 65535);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @param bool $dontFallback
|
||||
* @return bool
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_is_valid_point($p, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_is_valid_point($p);
|
||||
}
|
||||
try {
|
||||
$r = ParagonIE_Sodium_Core_Ristretto255::ristretto255_frombytes($p);
|
||||
return $r['res'] === 0 &&
|
||||
ParagonIE_Sodium_Core_Ristretto255::ristretto255_point_is_canonical($p) === 1;
|
||||
} catch (SodiumException $ex) {
|
||||
if ($ex->getMessage() === 'S is not canonical') {
|
||||
return false;
|
||||
}
|
||||
throw $ex;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_add($p, $q, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_add($p, $q);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_add($p, $q);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_sub($p, $q, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_sub($p, $q);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_sub($p, $q);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $r
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_from_hash($r, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_from_hash($r);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_from_hash($r);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_random($dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_random();
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_random();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_random($dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_random();
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_random();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_invert($s, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_invert($s);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_invert($s);
|
||||
}
|
||||
/**
|
||||
* @param string $s
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_negate($s, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_negate($s);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_negate($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_complement($s, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_complement($s);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_complement($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_add($x, $y, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_add($x, $y);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_add($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_sub($x, $y, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_sub($x, $y);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_sub($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_mul($x, $y, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_mul($x, $y);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::ristretto255_scalar_mul($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $n
|
||||
* @param string $p
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalarmult_ristretto255($n, $p, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_scalarmult_ristretto255($n, $p);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::scalarmult_ristretto255($n, $p);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $n
|
||||
* @param string $p
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalarmult_ristretto255_base($n, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_scalarmult_ristretto255_base($n);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::scalarmult_ristretto255_base($n);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @param bool $dontFallback
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_reduce($s, $dontFallback = false)
|
||||
{
|
||||
if (self::useNewSodiumAPI() && !$dontFallback) {
|
||||
return sodium_crypto_core_ristretto255_scalar_reduce($s);
|
||||
}
|
||||
return ParagonIE_Sodium_Core_Ristretto255::sc_reduce($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime testing method for 32-bit platforms.
|
||||
*
|
||||
@ -3597,6 +3844,36 @@ class ParagonIE_Sodium_Compat
|
||||
return $diff < $maxTimeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add two numbers (little-endian unsigned), storing the value in the first
|
||||
* parameter.
|
||||
*
|
||||
* This mutates $val.
|
||||
*
|
||||
* @param string $val
|
||||
* @param string $addv
|
||||
* @return void
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function sub(&$val, $addv)
|
||||
{
|
||||
$val_len = ParagonIE_Sodium_Core_Util::strlen($val);
|
||||
$addv_len = ParagonIE_Sodium_Core_Util::strlen($addv);
|
||||
if ($val_len !== $addv_len) {
|
||||
throw new SodiumException('values must have the same length');
|
||||
}
|
||||
$A = ParagonIE_Sodium_Core_Util::stringToIntArray($val);
|
||||
$B = ParagonIE_Sodium_Core_Util::stringToIntArray($addv);
|
||||
|
||||
$c = 0;
|
||||
for ($i = 0; $i < $val_len; $i++) {
|
||||
$c = ($A[$i] - $B[$i] - $c);
|
||||
$A[$i] = ($c & 0xff);
|
||||
$c = ($c >> 8) & 1;
|
||||
}
|
||||
$val = ParagonIE_Sodium_Core_Util::intArrayToString($A);
|
||||
}
|
||||
|
||||
/**
|
||||
* This emulates libsodium's version_string() function, except ours is
|
||||
* prefixed with 'polyfill-'.
|
||||
|
@ -644,6 +644,7 @@ abstract class ParagonIE_Sodium_Core_BLAKE2b extends ParagonIE_Sodium_Core_Util
|
||||
*
|
||||
* @param string $str
|
||||
* @return SplFixedArray
|
||||
* @psalm-suppress MixedArgumentTypeCoercion
|
||||
*/
|
||||
public static function stringToSplFixedArray($str = '')
|
||||
{
|
||||
|
@ -69,6 +69,7 @@ class ParagonIE_Sodium_Core_ChaCha20_Ctx extends ParagonIE_Sodium_Core_Util impl
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (!is_int($offset)) {
|
||||
@ -86,6 +87,7 @@ class ParagonIE_Sodium_Core_ChaCha20_Ctx extends ParagonIE_Sodium_Core_Util impl
|
||||
* @param int $offset
|
||||
* @return bool
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->container[$offset]);
|
||||
@ -98,6 +100,7 @@ class ParagonIE_Sodium_Core_ChaCha20_Ctx extends ParagonIE_Sodium_Core_Util impl
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->container[$offset]);
|
||||
@ -110,6 +113,7 @@ class ParagonIE_Sodium_Core_ChaCha20_Ctx extends ParagonIE_Sodium_Core_Util impl
|
||||
* @return mixed|null
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return isset($this->container[$offset])
|
||||
|
1541
vendor/paragonie/sodium_compat/src/Core/Curve25519.php
vendored
1541
vendor/paragonie/sodium_compat/src/Core/Curve25519.php
vendored
File diff suppressed because it is too large
Load Diff
@ -60,6 +60,7 @@ class ParagonIE_Sodium_Core_Curve25519_Fe implements ArrayAccess
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (!is_int($value)) {
|
||||
@ -79,6 +80,7 @@ class ParagonIE_Sodium_Core_Curve25519_Fe implements ArrayAccess
|
||||
* @return bool
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->container[$offset]);
|
||||
@ -91,6 +93,7 @@ class ParagonIE_Sodium_Core_Curve25519_Fe implements ArrayAccess
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->container[$offset]);
|
||||
@ -103,6 +106,7 @@ class ParagonIE_Sodium_Core_Curve25519_Fe implements ArrayAccess
|
||||
* @return int
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
if (!isset($this->container[$offset])) {
|
||||
|
@ -1464,4 +1464,86 @@ class ParagonIE_Sodium_Core_Curve25519_H extends ParagonIE_Sodium_Core_Util
|
||||
326686,
|
||||
11406482
|
||||
);
|
||||
|
||||
/**
|
||||
* 1 / sqrt(a - d)
|
||||
*
|
||||
* @var array<int, int>
|
||||
*/
|
||||
protected static $invsqrtamd = array(
|
||||
6111485,
|
||||
4156064,
|
||||
-27798727,
|
||||
12243468,
|
||||
-25904040,
|
||||
120897,
|
||||
20826367,
|
||||
-7060776,
|
||||
6093568,
|
||||
-1986012
|
||||
);
|
||||
|
||||
/**
|
||||
* sqrt(ad - 1) with a = -1 (mod p)
|
||||
*
|
||||
* @var array<int, int>
|
||||
*/
|
||||
protected static $sqrtadm1 = array(
|
||||
24849947,
|
||||
-153582,
|
||||
-23613485,
|
||||
6347715,
|
||||
-21072328,
|
||||
-667138,
|
||||
-25271143,
|
||||
-15367704,
|
||||
-870347,
|
||||
14525639
|
||||
);
|
||||
|
||||
/**
|
||||
* 1 - d ^ 2
|
||||
*
|
||||
* @var array<int, int>
|
||||
*/
|
||||
protected static $onemsqd = array(
|
||||
6275446,
|
||||
-16617371,
|
||||
-22938544,
|
||||
-3773710,
|
||||
11667077,
|
||||
7397348,
|
||||
-27922721,
|
||||
1766195,
|
||||
-24433858,
|
||||
672203
|
||||
);
|
||||
|
||||
/**
|
||||
* (d - 1) ^ 2
|
||||
* @var array<int, int>
|
||||
*/
|
||||
protected static $sqdmone = array(
|
||||
15551795,
|
||||
-11097455,
|
||||
-13425098,
|
||||
-10125071,
|
||||
-11896535,
|
||||
10178284,
|
||||
-26634327,
|
||||
4729244,
|
||||
-5282110,
|
||||
-10116402
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* 2^252+27742317777372353535851937790883648493
|
||||
static const unsigned char L[] = {
|
||||
0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7,
|
||||
0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10
|
||||
};
|
||||
*/
|
||||
const L = "\xed\xd3\xf5\x5c\x1a\x63\x12\x58\xd6\x9c\xf7\xa2\xde\xf9\xde\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10";
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ abstract class ParagonIE_Sodium_Core_Ed25519 extends ParagonIE_Sodium_Core_Curve
|
||||
{
|
||||
const KEYPAIR_BYTES = 96;
|
||||
const SEED_BYTES = 32;
|
||||
const SCALAR_BYTES = 32;
|
||||
|
||||
/**
|
||||
* @internal You should not use this directly from another application
|
||||
@ -477,4 +478,74 @@ abstract class ParagonIE_Sodium_Core_Ed25519 extends ParagonIE_Sodium_Core_Curve
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalar_complement($s)
|
||||
{
|
||||
$t_ = self::L . str_repeat("\x00", 32);
|
||||
sodium_increment($t_);
|
||||
$s_ = $s . str_repeat("\x00", 32);
|
||||
ParagonIE_Sodium_Compat::sub($t_, $s_);
|
||||
return self::sc_reduce($t_);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalar_random()
|
||||
{
|
||||
do {
|
||||
$r = ParagonIE_Sodium_Compat::randombytes_buf(self::SCALAR_BYTES);
|
||||
$r[self::SCALAR_BYTES - 1] = self::intToChr(
|
||||
self::chrToInt($r[self::SCALAR_BYTES - 1]) & 0x1f
|
||||
);
|
||||
} while (
|
||||
!self::check_S_lt_L($r) || ParagonIE_Sodium_Compat::is_zero($r)
|
||||
);
|
||||
return $r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalar_negate($s)
|
||||
{
|
||||
$t_ = self::L . str_repeat("\x00", 32) ;
|
||||
$s_ = $s . str_repeat("\x00", 32) ;
|
||||
ParagonIE_Sodium_Compat::sub($t_, $s_);
|
||||
return self::sc_reduce($t_);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $a
|
||||
* @param string $b
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalar_add($a, $b)
|
||||
{
|
||||
$a_ = $a . str_repeat("\x00", 32);
|
||||
$b_ = $b . str_repeat("\x00", 32);
|
||||
ParagonIE_Sodium_Compat::add($a_, $b_);
|
||||
return self::sc_reduce($a_);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalar_sub($x, $y)
|
||||
{
|
||||
$yn = self::scalar_negate($y);
|
||||
return self::scalar_add($x, $yn);
|
||||
}
|
||||
}
|
||||
|
707
vendor/paragonie/sodium_compat/src/Core/Ristretto255.php
vendored
Normal file
707
vendor/paragonie/sodium_compat/src/Core/Ristretto255.php
vendored
Normal file
@ -0,0 +1,707 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class ParagonIE_Sodium_Core_Ristretto255
|
||||
*/
|
||||
class ParagonIE_Sodium_Core_Ristretto255 extends ParagonIE_Sodium_Core_Ed25519
|
||||
{
|
||||
const crypto_core_ristretto255_HASHBYTES = 64;
|
||||
const HASH_SC_L = 48;
|
||||
const CORE_H2C_SHA256 = 1;
|
||||
const CORE_H2C_SHA512 = 2;
|
||||
|
||||
/**
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $f
|
||||
* @param int $b
|
||||
* @return ParagonIE_Sodium_Core_Curve25519_Fe
|
||||
*/
|
||||
public static function fe_cneg(ParagonIE_Sodium_Core_Curve25519_Fe $f, $b)
|
||||
{
|
||||
$negf = self::fe_neg($f);
|
||||
return self::fe_cmov($f, $negf, $b);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $f
|
||||
* @return ParagonIE_Sodium_Core_Curve25519_Fe
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function fe_abs(ParagonIE_Sodium_Core_Curve25519_Fe $f)
|
||||
{
|
||||
return self::fe_cneg($f, self::fe_isnegative($f));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns 0 if this field element results in all NUL bytes.
|
||||
*
|
||||
* @internal You should not use this directly from another application
|
||||
*
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $f
|
||||
* @return int
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function fe_iszero(ParagonIE_Sodium_Core_Curve25519_Fe $f)
|
||||
{
|
||||
static $zero;
|
||||
if ($zero === null) {
|
||||
$zero = str_repeat("\x00", 32);
|
||||
}
|
||||
/** @var string $zero */
|
||||
$str = self::fe_tobytes($f);
|
||||
|
||||
$d = 0;
|
||||
for ($i = 0; $i < 32; ++$i) {
|
||||
$d |= self::chrToInt($str[$i]);
|
||||
}
|
||||
return (($d - 1) >> 31) & 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $u
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $v
|
||||
* @return array{x: ParagonIE_Sodium_Core_Curve25519_Fe, nonsquare: int}
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_sqrt_ratio_m1(
|
||||
ParagonIE_Sodium_Core_Curve25519_Fe $u,
|
||||
ParagonIE_Sodium_Core_Curve25519_Fe $v
|
||||
) {
|
||||
$sqrtm1 = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$sqrtm1);
|
||||
|
||||
$v3 = self::fe_mul(
|
||||
self::fe_sq($v),
|
||||
$v
|
||||
); /* v3 = v^3 */
|
||||
$x = self::fe_mul(
|
||||
self::fe_mul(
|
||||
self::fe_sq($v3),
|
||||
$u
|
||||
),
|
||||
$v
|
||||
); /* x = uv^7 */
|
||||
|
||||
$x = self::fe_mul(
|
||||
self::fe_mul(
|
||||
self::fe_pow22523($x), /* x = (uv^7)^((q-5)/8) */
|
||||
$v3
|
||||
),
|
||||
$u
|
||||
); /* x = uv^3(uv^7)^((q-5)/8) */
|
||||
|
||||
$vxx = self::fe_mul(
|
||||
self::fe_sq($x),
|
||||
$v
|
||||
); /* vx^2 */
|
||||
|
||||
$m_root_check = self::fe_sub($vxx, $u); /* vx^2-u */
|
||||
$p_root_check = self::fe_add($vxx, $u); /* vx^2+u */
|
||||
$f_root_check = self::fe_mul($u, $sqrtm1); /* u*sqrt(-1) */
|
||||
$f_root_check = self::fe_add($vxx, $f_root_check); /* vx^2+u*sqrt(-1) */
|
||||
|
||||
$has_m_root = self::fe_iszero($m_root_check);
|
||||
$has_p_root = self::fe_iszero($p_root_check);
|
||||
$has_f_root = self::fe_iszero($f_root_check);
|
||||
|
||||
$x_sqrtm1 = self::fe_mul($x, $sqrtm1); /* x*sqrt(-1) */
|
||||
|
||||
$x = self::fe_abs(
|
||||
self::fe_cmov($x, $x_sqrtm1, $has_p_root | $has_f_root)
|
||||
);
|
||||
return array(
|
||||
'x' => $x,
|
||||
'nonsquare' => $has_m_root | $has_p_root
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return int
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_point_is_canonical($s)
|
||||
{
|
||||
$c = (self::chrToInt($s[31]) & 0x7f) ^ 0x7f;
|
||||
for ($i = 30; $i > 0; --$i) {
|
||||
$c |= self::chrToInt($s[$i]) ^ 0xff;
|
||||
}
|
||||
$c = ($c - 1) >> 8;
|
||||
$d = (0xed - 1 - self::chrToInt($s[0])) >> 8;
|
||||
$e = self::chrToInt($s[31]) >> 7;
|
||||
|
||||
return 1 - ((($c & $d) | $e | self::chrToInt($s[0])) & 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @param bool $skipCanonicalCheck
|
||||
* @return array{h: ParagonIE_Sodium_Core_Curve25519_Ge_P3, res: int}
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_frombytes($s, $skipCanonicalCheck = false)
|
||||
{
|
||||
if (!$skipCanonicalCheck) {
|
||||
if (!self::ristretto255_point_is_canonical($s)) {
|
||||
throw new SodiumException('S is not canonical');
|
||||
}
|
||||
}
|
||||
|
||||
$s_ = self::fe_frombytes($s);
|
||||
$ss = self::fe_sq($s_); /* ss = s^2 */
|
||||
|
||||
$u1 = self::fe_sub(self::fe_1(), $ss); /* u1 = 1-ss */
|
||||
$u1u1 = self::fe_sq($u1); /* u1u1 = u1^2 */
|
||||
|
||||
$u2 = self::fe_add(self::fe_1(), $ss); /* u2 = 1+ss */
|
||||
$u2u2 = self::fe_sq($u2); /* u2u2 = u2^2 */
|
||||
|
||||
$v = self::fe_mul(
|
||||
ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$d),
|
||||
$u1u1
|
||||
); /* v = d*u1^2 */
|
||||
$v = self::fe_neg($v); /* v = -d*u1^2 */
|
||||
$v = self::fe_sub($v, $u2u2); /* v = -(d*u1^2)-u2^2 */
|
||||
$v_u2u2 = self::fe_mul($v, $u2u2); /* v_u2u2 = v*u2^2 */
|
||||
|
||||
// fe25519_1(one);
|
||||
// notsquare = ristretto255_sqrt_ratio_m1(inv_sqrt, one, v_u2u2);
|
||||
$one = self::fe_1();
|
||||
$result = self::ristretto255_sqrt_ratio_m1($one, $v_u2u2);
|
||||
$inv_sqrt = $result['x'];
|
||||
$notsquare = $result['nonsquare'];
|
||||
|
||||
$h = new ParagonIE_Sodium_Core_Curve25519_Ge_P3();
|
||||
|
||||
$h->X = self::fe_mul($inv_sqrt, $u2);
|
||||
$h->Y = self::fe_mul(self::fe_mul($inv_sqrt, $h->X), $v);
|
||||
|
||||
$h->X = self::fe_mul($h->X, $s_);
|
||||
$h->X = self::fe_abs(
|
||||
self::fe_add($h->X, $h->X)
|
||||
);
|
||||
$h->Y = self::fe_mul($u1, $h->Y);
|
||||
$h->Z = self::fe_1();
|
||||
$h->T = self::fe_mul($h->X, $h->Y);
|
||||
|
||||
$res = - ((1 - $notsquare) | self::fe_isnegative($h->T) | self::fe_iszero($h->Y));
|
||||
return array('h' => $h, 'res' => $res);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Ge_P3 $h
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_p3_tobytes(ParagonIE_Sodium_Core_Curve25519_Ge_P3 $h)
|
||||
{
|
||||
$sqrtm1 = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$sqrtm1);
|
||||
$invsqrtamd = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$invsqrtamd);
|
||||
|
||||
$u1 = self::fe_add($h->Z, $h->Y); /* u1 = Z+Y */
|
||||
$zmy = self::fe_sub($h->Z, $h->Y); /* zmy = Z-Y */
|
||||
$u1 = self::fe_mul($u1, $zmy); /* u1 = (Z+Y)*(Z-Y) */
|
||||
$u2 = self::fe_mul($h->X, $h->Y); /* u2 = X*Y */
|
||||
|
||||
$u1_u2u2 = self::fe_mul(self::fe_sq($u2), $u1); /* u1_u2u2 = u1*u2^2 */
|
||||
$one = self::fe_1();
|
||||
|
||||
// fe25519_1(one);
|
||||
// (void) ristretto255_sqrt_ratio_m1(inv_sqrt, one, u1_u2u2);
|
||||
$result = self::ristretto255_sqrt_ratio_m1($one, $u1_u2u2);
|
||||
$inv_sqrt = $result['x'];
|
||||
|
||||
$den1 = self::fe_mul($inv_sqrt, $u1); /* den1 = inv_sqrt*u1 */
|
||||
$den2 = self::fe_mul($inv_sqrt, $u2); /* den2 = inv_sqrt*u2 */
|
||||
$z_inv = self::fe_mul($h->T, self::fe_mul($den1, $den2)); /* z_inv = den1*den2*T */
|
||||
|
||||
$ix = self::fe_mul($h->X, $sqrtm1); /* ix = X*sqrt(-1) */
|
||||
$iy = self::fe_mul($h->Y, $sqrtm1); /* iy = Y*sqrt(-1) */
|
||||
$eden = self::fe_mul($den1, $invsqrtamd);
|
||||
|
||||
$t_z_inv = self::fe_mul($h->T, $z_inv); /* t_z_inv = T*z_inv */
|
||||
$rotate = self::fe_isnegative($t_z_inv);
|
||||
|
||||
$x_ = self::fe_copy($h->X);
|
||||
$y_ = self::fe_copy($h->Y);
|
||||
$den_inv = self::fe_copy($den2);
|
||||
|
||||
$x_ = self::fe_cmov($x_, $iy, $rotate);
|
||||
$y_ = self::fe_cmov($y_, $ix, $rotate);
|
||||
$den_inv = self::fe_cmov($den_inv, $eden, $rotate);
|
||||
|
||||
$x_z_inv = self::fe_mul($x_, $z_inv);
|
||||
$y_ = self::fe_cneg($y_, self::fe_isnegative($x_z_inv));
|
||||
|
||||
|
||||
// fe25519_sub(s_, h->Z, y_);
|
||||
// fe25519_mul(s_, den_inv, s_);
|
||||
// fe25519_abs(s_, s_);
|
||||
// fe25519_tobytes(s, s_);
|
||||
return self::fe_tobytes(
|
||||
self::fe_abs(
|
||||
self::fe_mul(
|
||||
$den_inv,
|
||||
self::fe_sub($h->Z, $y_)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ParagonIE_Sodium_Core_Curve25519_Fe $t
|
||||
* @return ParagonIE_Sodium_Core_Curve25519_Ge_P3
|
||||
*
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_elligator(ParagonIE_Sodium_Core_Curve25519_Fe $t)
|
||||
{
|
||||
$sqrtm1 = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$sqrtm1);
|
||||
$onemsqd = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$onemsqd);
|
||||
$d = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$d);
|
||||
$sqdmone = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$sqdmone);
|
||||
$sqrtadm1 = ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(self::$sqrtadm1);
|
||||
|
||||
$one = self::fe_1();
|
||||
$r = self::fe_mul($sqrtm1, self::fe_sq($t)); /* r = sqrt(-1)*t^2 */
|
||||
$u = self::fe_mul(self::fe_add($r, $one), $onemsqd); /* u = (r+1)*(1-d^2) */
|
||||
$c = self::fe_neg(self::fe_1()); /* c = -1 */
|
||||
$rpd = self::fe_add($r, $d); /* rpd = r+d */
|
||||
|
||||
$v = self::fe_mul(
|
||||
self::fe_sub(
|
||||
$c,
|
||||
self::fe_mul($r, $d)
|
||||
),
|
||||
$rpd
|
||||
); /* v = (c-r*d)*(r+d) */
|
||||
|
||||
$result = self::ristretto255_sqrt_ratio_m1($u, $v);
|
||||
$s = $result['x'];
|
||||
$wasnt_square = 1 - $result['nonsquare'];
|
||||
|
||||
$s_prime = self::fe_neg(
|
||||
self::fe_abs(
|
||||
self::fe_mul($s, $t)
|
||||
)
|
||||
); /* s_prime = -|s*t| */
|
||||
$s = self::fe_cmov($s, $s_prime, $wasnt_square);
|
||||
$c = self::fe_cmov($c, $r, $wasnt_square);
|
||||
|
||||
// fe25519_sub(n, r, one); /* n = r-1 */
|
||||
// fe25519_mul(n, n, c); /* n = c*(r-1) */
|
||||
// fe25519_mul(n, n, ed25519_sqdmone); /* n = c*(r-1)*(d-1)^2 */
|
||||
// fe25519_sub(n, n, v); /* n = c*(r-1)*(d-1)^2-v */
|
||||
$n = self::fe_sub(
|
||||
self::fe_mul(
|
||||
self::fe_mul(
|
||||
self::fe_sub($r, $one),
|
||||
$c
|
||||
),
|
||||
$sqdmone
|
||||
),
|
||||
$v
|
||||
); /* n = c*(r-1)*(d-1)^2-v */
|
||||
|
||||
$w0 = self::fe_mul(
|
||||
self::fe_add($s, $s),
|
||||
$v
|
||||
); /* w0 = 2s*v */
|
||||
|
||||
$w1 = self::fe_mul($n, $sqrtadm1); /* w1 = n*sqrt(ad-1) */
|
||||
$ss = self::fe_sq($s); /* ss = s^2 */
|
||||
$w2 = self::fe_sub($one, $ss); /* w2 = 1-s^2 */
|
||||
$w3 = self::fe_add($one, $ss); /* w3 = 1+s^2 */
|
||||
|
||||
return new ParagonIE_Sodium_Core_Curve25519_Ge_P3(
|
||||
self::fe_mul($w0, $w3),
|
||||
self::fe_mul($w2, $w1),
|
||||
self::fe_mul($w1, $w3),
|
||||
self::fe_mul($w0, $w2)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $h
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_from_hash($h)
|
||||
{
|
||||
if (self::strlen($h) !== 64) {
|
||||
throw new SodiumException('Hash must be 64 bytes');
|
||||
}
|
||||
//fe25519_frombytes(r0, h);
|
||||
//fe25519_frombytes(r1, h + 32);
|
||||
$r0 = self::fe_frombytes(self::substr($h, 0, 32));
|
||||
$r1 = self::fe_frombytes(self::substr($h, 32, 32));
|
||||
|
||||
//ristretto255_elligator(&p0, r0);
|
||||
//ristretto255_elligator(&p1, r1);
|
||||
$p0 = self::ristretto255_elligator($r0);
|
||||
$p1 = self::ristretto255_elligator($r1);
|
||||
|
||||
//ge25519_p3_to_cached(&p1_cached, &p1);
|
||||
//ge25519_add_cached(&p_p1p1, &p0, &p1_cached);
|
||||
$p_p1p1 = self::ge_add(
|
||||
$p0,
|
||||
self::ge_p3_to_cached($p1)
|
||||
);
|
||||
|
||||
//ge25519_p1p1_to_p3(&p, &p_p1p1);
|
||||
//ristretto255_p3_tobytes(s, &p);
|
||||
return self::ristretto255_p3_tobytes(
|
||||
self::ge_p1p1_to_p3($p_p1p1)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @return int
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function is_valid_point($p)
|
||||
{
|
||||
$result = self::ristretto255_frombytes($p);
|
||||
if ($result['res'] !== 0) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_add($p, $q)
|
||||
{
|
||||
$p_res = self::ristretto255_frombytes($p);
|
||||
$q_res = self::ristretto255_frombytes($q);
|
||||
if ($p_res['res'] !== 0 || $q_res['res'] !== 0) {
|
||||
throw new SodiumException('Could not add points');
|
||||
}
|
||||
$p_p3 = $p_res['h'];
|
||||
$q_p3 = $q_res['h'];
|
||||
$q_cached = self::ge_p3_to_cached($q_p3);
|
||||
$r_p1p1 = self::ge_add($p_p3, $q_cached);
|
||||
$r_p3 = self::ge_p1p1_to_p3($r_p1p1);
|
||||
return self::ristretto255_p3_tobytes($r_p3);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $p
|
||||
* @param string $q
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_sub($p, $q)
|
||||
{
|
||||
$p_res = self::ristretto255_frombytes($p);
|
||||
$q_res = self::ristretto255_frombytes($q);
|
||||
if ($p_res['res'] !== 0 || $q_res['res'] !== 0) {
|
||||
throw new SodiumException('Could not add points');
|
||||
}
|
||||
$p_p3 = $p_res['h'];
|
||||
$q_p3 = $q_res['h'];
|
||||
$q_cached = self::ge_p3_to_cached($q_p3);
|
||||
$r_p1p1 = self::ge_sub($p_p3, $q_cached);
|
||||
$r_p3 = self::ge_p1p1_to_p3($r_p1p1);
|
||||
return self::ristretto255_p3_tobytes($r_p3);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param int $hLen
|
||||
* @param ?string $ctx
|
||||
* @param string $msg
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
* @psalm-suppress PossiblyInvalidArgument hash API
|
||||
*/
|
||||
protected static function h2c_string_to_hash_sha256($hLen, $ctx, $msg)
|
||||
{
|
||||
$h = array_fill(0, $hLen, 0);
|
||||
$ctx_len = !is_null($ctx) ? self::strlen($ctx) : 0;
|
||||
if ($hLen > 0xff) {
|
||||
throw new SodiumException('Hash must be less than 256 bytes');
|
||||
}
|
||||
|
||||
if ($ctx_len > 0xff) {
|
||||
$st = hash_init('sha256');
|
||||
self::hash_update($st, "H2C-OVERSIZE-DST-");
|
||||
self::hash_update($st, $ctx);
|
||||
$ctx = hash_final($st, true);
|
||||
$ctx_len = 32;
|
||||
}
|
||||
$t = array(0, $hLen, 0);
|
||||
$ux = str_repeat("\0", 64);
|
||||
$st = hash_init('sha256');
|
||||
self::hash_update($st, $ux);
|
||||
self::hash_update($st, $msg);
|
||||
self::hash_update($st, self::intArrayToString($t));
|
||||
self::hash_update($st, $ctx);
|
||||
self::hash_update($st, self::intToChr($ctx_len));
|
||||
$u0 = hash_final($st, true);
|
||||
|
||||
for ($i = 0; $i < $hLen; $i += 64) {
|
||||
$ux = self::xorStrings($ux, $u0);
|
||||
++$t[2];
|
||||
$st = hash_init('sha256');
|
||||
self::hash_update($st, $ux);
|
||||
self::hash_update($st, self::intToChr($t[2]));
|
||||
self::hash_update($st, $ctx);
|
||||
self::hash_update($st, self::intToChr($ctx_len));
|
||||
$ux = hash_final($st, true);
|
||||
$amount = min($hLen - $i, 64);
|
||||
for ($j = 0; $j < $amount; ++$j) {
|
||||
$h[$i + $j] = self::chrToInt($ux[$i]);
|
||||
}
|
||||
}
|
||||
return self::intArrayToString(array_slice($h, 0, $hLen));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $hLen
|
||||
* @param ?string $ctx
|
||||
* @param string $msg
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
* @psalm-suppress PossiblyInvalidArgument hash API
|
||||
*/
|
||||
protected static function h2c_string_to_hash_sha512($hLen, $ctx, $msg)
|
||||
{
|
||||
$h = array_fill(0, $hLen, 0);
|
||||
$ctx_len = !is_null($ctx) ? self::strlen($ctx) : 0;
|
||||
if ($hLen > 0xff) {
|
||||
throw new SodiumException('Hash must be less than 256 bytes');
|
||||
}
|
||||
|
||||
if ($ctx_len > 0xff) {
|
||||
$st = hash_init('sha256');
|
||||
self::hash_update($st, "H2C-OVERSIZE-DST-");
|
||||
self::hash_update($st, $ctx);
|
||||
$ctx = hash_final($st, true);
|
||||
$ctx_len = 32;
|
||||
}
|
||||
$t = array(0, $hLen, 0);
|
||||
$ux = str_repeat("\0", 128);
|
||||
$st = hash_init('sha512');
|
||||
self::hash_update($st, $ux);
|
||||
self::hash_update($st, $msg);
|
||||
self::hash_update($st, self::intArrayToString($t));
|
||||
self::hash_update($st, $ctx);
|
||||
self::hash_update($st, self::intToChr($ctx_len));
|
||||
$u0 = hash_final($st, true);
|
||||
|
||||
for ($i = 0; $i < $hLen; $i += 128) {
|
||||
$ux = self::xorStrings($ux, $u0);
|
||||
++$t[2];
|
||||
$st = hash_init('sha512');
|
||||
self::hash_update($st, $ux);
|
||||
self::hash_update($st, self::intToChr($t[2]));
|
||||
self::hash_update($st, $ctx);
|
||||
self::hash_update($st, self::intToChr($ctx_len));
|
||||
$ux = hash_final($st, true);
|
||||
$amount = min($hLen - $i, 128);
|
||||
for ($j = 0; $j < $amount; ++$j) {
|
||||
$h[$i + $j] = self::chrToInt($ux[$i]);
|
||||
}
|
||||
}
|
||||
return self::intArrayToString(array_slice($h, 0, $hLen));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $hLen
|
||||
* @param ?string $ctx
|
||||
* @param string $msg
|
||||
* @param int $hash_alg
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function h2c_string_to_hash($hLen, $ctx, $msg, $hash_alg)
|
||||
{
|
||||
switch ($hash_alg) {
|
||||
case self::CORE_H2C_SHA256:
|
||||
return self::h2c_string_to_hash_sha256($hLen, $ctx, $msg);
|
||||
case self::CORE_H2C_SHA512:
|
||||
return self::h2c_string_to_hash_sha512($hLen, $ctx, $msg);
|
||||
default:
|
||||
throw new SodiumException('Invalid H2C hash algorithm');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ?string $ctx
|
||||
* @param string $msg
|
||||
* @param int $hash_alg
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
protected static function _string_to_element($ctx, $msg, $hash_alg)
|
||||
{
|
||||
return self::ristretto255_from_hash(
|
||||
self::h2c_string_to_hash(self::crypto_core_ristretto255_HASHBYTES, $ctx, $msg, $hash_alg)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function ristretto255_random()
|
||||
{
|
||||
return self::ristretto255_from_hash(
|
||||
ParagonIE_Sodium_Compat::randombytes_buf(self::crypto_core_ristretto255_HASHBYTES)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_random()
|
||||
{
|
||||
return self::scalar_random();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_complement($s)
|
||||
{
|
||||
return self::scalar_complement($s);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
*/
|
||||
public static function ristretto255_scalar_invert($s)
|
||||
{
|
||||
return self::sc25519_invert($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_negate($s)
|
||||
{
|
||||
return self::scalar_negate($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @return string
|
||||
*/
|
||||
public static function ristretto255_scalar_add($x, $y)
|
||||
{
|
||||
return self::scalar_add($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @return string
|
||||
*/
|
||||
public static function ristretto255_scalar_sub($x, $y)
|
||||
{
|
||||
return self::scalar_sub($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $x
|
||||
* @param string $y
|
||||
* @return string
|
||||
*/
|
||||
public static function ristretto255_scalar_mul($x, $y)
|
||||
{
|
||||
return self::sc25519_mul($x, $y);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $ctx
|
||||
* @param string $msg
|
||||
* @param int $hash_alg
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function ristretto255_scalar_from_string($ctx, $msg, $hash_alg)
|
||||
{
|
||||
$h = array_fill(0, 64, 0);
|
||||
$h_be = self::stringToIntArray(
|
||||
self::h2c_string_to_hash(
|
||||
self::HASH_SC_L, $ctx, $msg, $hash_alg
|
||||
)
|
||||
);
|
||||
|
||||
for ($i = 0; $i < self::HASH_SC_L; ++$i) {
|
||||
$h[$i] = $h_be[self::HASH_SC_L - 1 - $i];
|
||||
}
|
||||
return self::ristretto255_scalar_reduce(self::intArrayToString($h));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $s
|
||||
* @return string
|
||||
*/
|
||||
public static function ristretto255_scalar_reduce($s)
|
||||
{
|
||||
return self::sc_reduce($s);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $n
|
||||
* @param string $p
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalarmult_ristretto255($n, $p)
|
||||
{
|
||||
if (self::strlen($n) !== 32) {
|
||||
throw new SodiumException('Scalar must be 32 bytes, ' . self::strlen($p) . ' given.');
|
||||
}
|
||||
if (self::strlen($p) !== 32) {
|
||||
throw new SodiumException('Point must be 32 bytes, ' . self::strlen($p) . ' given.');
|
||||
}
|
||||
$result = self::ristretto255_frombytes($p);
|
||||
if ($result['res'] !== 0) {
|
||||
throw new SodiumException('Could not multiply points');
|
||||
}
|
||||
$P = $result['h'];
|
||||
|
||||
$t = self::stringToIntArray($n);
|
||||
$t[31] &= 0x7f;
|
||||
$Q = self::ge_scalarmult(self::intArrayToString($t), $P);
|
||||
$q = self::ristretto255_p3_tobytes($Q);
|
||||
if (ParagonIE_Sodium_Compat::is_zero($q)) {
|
||||
throw new SodiumException('An unknown error has occurred');
|
||||
}
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $n
|
||||
* @return string
|
||||
* @throws SodiumException
|
||||
*/
|
||||
public static function scalarmult_ristretto255_base($n)
|
||||
{
|
||||
$t = self::stringToIntArray($n);
|
||||
$t[31] &= 0x7f;
|
||||
$Q = self::ge_scalarmult_base(self::intArrayToString($t));
|
||||
$q = self::ristretto255_p3_tobytes($Q);
|
||||
if (ParagonIE_Sodium_Compat::is_zero($q)) {
|
||||
throw new SodiumException('An unknown error has occurred');
|
||||
}
|
||||
return $q;
|
||||
}
|
||||
}
|
21
vendor/paragonie/sodium_compat/src/Core/Util.php
vendored
21
vendor/paragonie/sodium_compat/src/Core/Util.php
vendored
@ -286,6 +286,22 @@ abstract class ParagonIE_Sodium_Core_Util
|
||||
return $left === $right;
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch hash_update() failures and throw instead of silently proceeding
|
||||
*
|
||||
* @param HashContext|resource &$hs
|
||||
* @param string $data
|
||||
* @return void
|
||||
* @throws SodiumException
|
||||
* @psalm-suppress PossiblyInvalidArgument
|
||||
*/
|
||||
protected static function hash_update(&$hs, $data)
|
||||
{
|
||||
if (!hash_update($hs, $data)) {
|
||||
throw new SodiumException('hash_update() failed');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a hexadecimal string into a binary string without cache-timing
|
||||
* leaks
|
||||
@ -570,6 +586,7 @@ abstract class ParagonIE_Sodium_Core_Util
|
||||
$a <<= 1;
|
||||
$b >>= 1;
|
||||
}
|
||||
$c = (int) @($c & -1);
|
||||
|
||||
/**
|
||||
* If $b was negative, we then apply the same value to $c here.
|
||||
@ -913,6 +930,10 @@ abstract class ParagonIE_Sodium_Core_Util
|
||||
static $mbstring = null;
|
||||
|
||||
if ($mbstring === null) {
|
||||
if (!defined('MB_OVERLOAD_STRING')) {
|
||||
$mbstring = false;
|
||||
return $mbstring;
|
||||
}
|
||||
$mbstring = extension_loaded('mbstring')
|
||||
&& defined('MB_OVERLOAD_STRING')
|
||||
&&
|
||||
|
@ -577,6 +577,7 @@ abstract class ParagonIE_Sodium_Core32_BLAKE2b extends ParagonIE_Sodium_Core_Uti
|
||||
*
|
||||
* @param string $str
|
||||
* @return SplFixedArray
|
||||
* @psalm-suppress MixedArgumentTypeCoercion
|
||||
*/
|
||||
public static function stringToSplFixedArray($str = '')
|
||||
{
|
||||
|
@ -70,6 +70,7 @@ class ParagonIE_Sodium_Core32_ChaCha20_Ctx extends ParagonIE_Sodium_Core32_Util
|
||||
* @param int|ParagonIE_Sodium_Core32_Int32 $value
|
||||
* @return void
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (!is_int($offset)) {
|
||||
@ -93,6 +94,7 @@ class ParagonIE_Sodium_Core32_ChaCha20_Ctx extends ParagonIE_Sodium_Core32_Util
|
||||
* @return bool
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->container[$offset]);
|
||||
@ -105,6 +107,7 @@ class ParagonIE_Sodium_Core32_ChaCha20_Ctx extends ParagonIE_Sodium_Core32_Util
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->container[$offset]);
|
||||
@ -117,6 +120,7 @@ class ParagonIE_Sodium_Core32_ChaCha20_Ctx extends ParagonIE_Sodium_Core32_Util
|
||||
* @return mixed|null
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return isset($this->container[$offset])
|
||||
|
@ -104,6 +104,7 @@ class ParagonIE_Sodium_Core32_Curve25519_Fe implements ArrayAccess
|
||||
* @throws SodiumException
|
||||
* @throws TypeError
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (!($value instanceof ParagonIE_Sodium_Core32_Int32)) {
|
||||
@ -124,6 +125,7 @@ class ParagonIE_Sodium_Core32_Curve25519_Fe implements ArrayAccess
|
||||
* @return bool
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->container[$offset]);
|
||||
@ -136,6 +138,7 @@ class ParagonIE_Sodium_Core32_Curve25519_Fe implements ArrayAccess
|
||||
* @return void
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->container[$offset]);
|
||||
@ -148,6 +151,7 @@ class ParagonIE_Sodium_Core32_Curve25519_Fe implements ArrayAccess
|
||||
* @return ParagonIE_Sodium_Core32_Int32
|
||||
* @psalm-suppress MixedArrayOffset
|
||||
*/
|
||||
#[ReturnTypeWillChange]
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
if (!isset($this->container[$offset])) {
|
||||
|
@ -479,20 +479,4 @@ abstract class ParagonIE_Sodium_Core32_Ed25519 extends ParagonIE_Sodium_Core32_C
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch self::hash_update() failures and throw instead of silently proceding
|
||||
*
|
||||
* @param HashContext|resource &$hs
|
||||
* @param string $data
|
||||
* @return void
|
||||
* @throws SodiumException
|
||||
* @psalm-suppress PossiblyInvalidArgument
|
||||
*/
|
||||
private static function hash_update(&$hs, $data)
|
||||
{
|
||||
if (!hash_update($hs, $data)) {
|
||||
throw new SodiumException('self::hash_update() failed');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
16
vendor/paragonie/sodium_compat/src/File.php
vendored
16
vendor/paragonie/sodium_compat/src/File.php
vendored
@ -1557,20 +1557,4 @@ class ParagonIE_Sodium_File extends ParagonIE_Sodium_Core_Util
|
||||
}
|
||||
return (int) $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Catch hash_update() failures and throw instead of silently proceding
|
||||
*
|
||||
* @param HashContext|resource &$hs
|
||||
* @param string $data
|
||||
* @return void
|
||||
* @throws SodiumException
|
||||
* @psalm-suppress PossiblyInvalidArgument
|
||||
*/
|
||||
private static function hash_update(&$hs, $data)
|
||||
{
|
||||
if (!hash_update($hs, $data)) {
|
||||
throw new SodiumException('hash_update() failed');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
17
vendor/phpmailer/phpmailer/README.md
vendored
17
vendor/phpmailer/phpmailer/README.md
vendored
@ -2,7 +2,12 @@
|
||||
|
||||
# PHPMailer – A full-featured email creation and transfer class for PHP
|
||||
|
||||
[](https://github.com/PHPMailer/PHPMailer/actions) [](https://packagist.org/packages/phpmailer/phpmailer) [](https://packagist.org/packages/phpmailer/phpmailer) [](https://packagist.org/packages/phpmailer/phpmailer) [](https://phpmailer.github.io/PHPMailer/)
|
||||
[](https://github.com/PHPMailer/PHPMailer/actions)
|
||||
[](https://codecov.io/gh/PHPMailer/PHPMailer)
|
||||
[](https://packagist.org/packages/phpmailer/phpmailer)
|
||||
[](https://packagist.org/packages/phpmailer/phpmailer)
|
||||
[](https://packagist.org/packages/phpmailer/phpmailer)
|
||||
[](https://phpmailer.github.io/PHPMailer/)
|
||||
|
||||
## Features
|
||||
- Probably the world's most popular code for sending email from PHP!
|
||||
@ -17,7 +22,7 @@
|
||||
- Protects against header injection attacks
|
||||
- Error messages in over 50 languages!
|
||||
- DKIM and S/MIME signing support
|
||||
- Compatible with PHP 5.5 and later, including PHP 8.0
|
||||
- Compatible with PHP 5.5 and later, including PHP 8.1
|
||||
- Namespaced to prevent name clashes
|
||||
- Much more!
|
||||
|
||||
@ -39,7 +44,7 @@ This software is distributed under the [LGPL 2.1](http://www.gnu.org/licenses/lg
|
||||
PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file:
|
||||
|
||||
```json
|
||||
"phpmailer/phpmailer": "^6.2"
|
||||
"phpmailer/phpmailer": "^6.5"
|
||||
```
|
||||
|
||||
or run
|
||||
@ -89,7 +94,7 @@ use PHPMailer\PHPMailer\Exception;
|
||||
//Load Composer's autoloader
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
//Instantiation and passing `true` enables exceptions
|
||||
//Create an instance; passing `true` enables exceptions
|
||||
$mail = new PHPMailer(true);
|
||||
|
||||
try {
|
||||
@ -100,8 +105,8 @@ try {
|
||||
$mail->SMTPAuth = true; //Enable SMTP authentication
|
||||
$mail->Username = 'user@example.com'; //SMTP username
|
||||
$mail->Password = 'secret'; //SMTP password
|
||||
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
|
||||
$mail->Port = 587; //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
|
||||
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
|
||||
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
|
||||
|
||||
//Recipients
|
||||
$mail->setFrom('from@example.com', 'Mailer');
|
||||
|
5
vendor/phpmailer/phpmailer/SECURITY.md
vendored
5
vendor/phpmailer/phpmailer/SECURITY.md
vendored
@ -2,6 +2,11 @@
|
||||
|
||||
Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
|
||||
|
||||
PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
|
||||
|
||||
PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
|
||||
PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
|
||||
|
||||
PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
|
||||
|
||||
PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
|
||||
|
2
vendor/phpmailer/phpmailer/VERSION
vendored
2
vendor/phpmailer/phpmailer/VERSION
vendored
@ -1 +1 @@
|
||||
6.4.1
|
||||
6.5.1
|
12
vendor/phpmailer/phpmailer/composer.json
vendored
12
vendor/phpmailer/phpmailer/composer.json
vendored
@ -34,10 +34,12 @@
|
||||
"require-dev": {
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"doctrine/annotations": "^1.2",
|
||||
"php-parallel-lint/php-console-highlighter": "^0.5.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.3",
|
||||
"phpcompatibility/php-compatibility": "^9.3.5",
|
||||
"roave/security-advisories": "dev-latest",
|
||||
"squizlabs/php_codesniffer": "^3.5.6",
|
||||
"yoast/phpunit-polyfills": "^0.2.0"
|
||||
"squizlabs/php_codesniffer": "^3.6.0",
|
||||
"yoast/phpunit-polyfills": "^1.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses",
|
||||
@ -60,6 +62,10 @@
|
||||
"license": "LGPL-2.1-only",
|
||||
"scripts": {
|
||||
"check": "./vendor/bin/phpcs",
|
||||
"test": "./vendor/bin/phpunit"
|
||||
"test": "./vendor/bin/phpunit --no-coverage",
|
||||
"coverage": "./vendor/bin/phpunit",
|
||||
"lint": [
|
||||
"@php ./vendor/php-parallel-lint/php-parallel-lint/parallel-lint . -e php,phps --exclude vendor --exclude .git --exclude build"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,7 @@ $PHPMAILER_LANG['instantiate'] = 'لا يمكن توفير خدمة ا
|
||||
$PHPMAILER_LANG['invalid_address'] = 'الإرسال غير ممكن لأن عنوان البريد الإلكتروني غير صالح: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' برنامج الإرسال غير مدعوم.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'يجب توفير عنوان البريد الإلكتروني لمستلم واحد على الأقل.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'خطأ SMTP: الأخطاء التالية ' .
|
||||
'فشل في الارسال لكل من : ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'خطأ SMTP: الأخطاء التالية فشل في الارسال لكل من : ';
|
||||
$PHPMAILER_LANG['signing'] = 'خطأ في التوقيع: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() غير ممكن.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'خطأ على مستوى الخادم SMTP: ';
|
||||
|
@ -5,24 +5,25 @@
|
||||
* @package PHPMailer
|
||||
* @author Mitsuhiro Yoshida <http://mitstek.com/>
|
||||
* @author Yoshi Sakai <http://bluemooninc.jp/>
|
||||
* @author Arisophy <https://github.com/arisophy/>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['empty_message'] = 'メール本文が空です。';
|
||||
$PHPMAILER_LANG['encoding'] = '不明なエンコーディング: ';
|
||||
$PHPMAILER_LANG['execute'] = '実行できませんでした: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。';
|
||||
//$PHPMAILER_LANG['invalid_address'] = 'Invalid address: ';
|
||||
$PHPMAILER_LANG['invalid_address'] = '不正なメールアドレス: ';
|
||||
$PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
//$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: ';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
||||
$PHPMAILER_LANG['signing'] = '署名エラー: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP接続に失敗しました。';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTPサーバーエラー: ';
|
||||
$PHPMAILER_LANG['variable_set'] = '変数が存在しません: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = '拡張機能が見つかりません: ';
|
||||
|
@ -7,23 +7,28 @@
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP-fout: authenticatie mislukt.';
|
||||
$PHPMAILER_LANG['buggy_php'] = 'PHP versie gededecteerd die onderhavig is aan een bug die kan resulteren in gecorrumpeerde berichten. Om dit te voorkomen, gebruik SMTP voor het verzenden van berichten, zet de mail.add_x_header optie in uw php.ini file uit, gebruik MacOS of Linux, of pas de gebruikte PHP versie aan naar versie 7.0.17+ or 7.1.3+.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP-fout: kon niet verbinden met SMTP-host.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-fout: data niet geaccepteerd.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'Berichttekst is leeg';
|
||||
$PHPMAILER_LANG['encoding'] = 'Onbekende codering: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kon niet uitvoeren: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = 'Extensie afwezig: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Kreeg geen toegang tot bestand: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Bestandsfout: kon bestand niet openen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Het volgende afzendersadres is mislukt: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kon mailfunctie niet initialiseren.';
|
||||
$PHPMAILER_LANG['invalid_address'] = 'Ongeldig adres: ';
|
||||
$PHPMAILER_LANG['invalid_header'] = 'Ongeldige header naam of waarde';
|
||||
$PHPMAILER_LANG['invalid_hostentry'] = 'Ongeldige hostentry: ';
|
||||
$PHPMAILER_LANG['invalid_host'] = 'Ongeldige host: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wordt niet ondersteund.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Er moet minstens één ontvanger worden opgegeven.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-fout: de volgende ontvangers zijn mislukt: ';
|
||||
$PHPMAILER_LANG['signing'] = 'Signeerfout: ';
|
||||
$PHPMAILER_LANG['smtp_code'] = 'SMTP code: ';
|
||||
$PHPMAILER_LANG['smtp_code_ex'] = 'Aanvullende SMTP informatie: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Verbinding mislukt.';
|
||||
$PHPMAILER_LANG['smtp_detail'] = 'Detail: ';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP-serverfout: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Kan de volgende variabele niet instellen of resetten: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = 'Extensie afwezig: ';
|
||||
|
35
vendor/phpmailer/phpmailer/phpunit.xml.dist
vendored
35
vendor/phpmailer/phpmailer/phpunit.xml.dist
vendored
@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.5/phpunit.xsd"
|
||||
backupGlobals="true"
|
||||
bootstrap="vendor/autoload.php"
|
||||
verbose="true"
|
||||
colors="true"
|
||||
forceCoversAnnotation="false"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="PHPMailerTests">
|
||||
<directory>./test/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<listeners>
|
||||
<listener class="PHPMailer\Test\DebugLogTestListener" />
|
||||
</listeners>
|
||||
<groups>
|
||||
<exclude>
|
||||
<group>languages</group>
|
||||
<group>pop3</group>
|
||||
</exclude>
|
||||
</groups>
|
||||
<filter>
|
||||
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||
<directory suffix=".php">./src</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
<logging>
|
||||
<log type="coverage-text" target="php://stdout" showUncoveredFiles="true"/>
|
||||
<log type="coverage-clover" target="build/logs/clover.xml"/>
|
||||
<log type="junit" target="build/logs/junit.xml"/>
|
||||
</logging>
|
||||
</phpunit>
|
2
vendor/phpmailer/phpmailer/src/Exception.php
vendored
2
vendor/phpmailer/phpmailer/src/Exception.php
vendored
@ -35,6 +35,6 @@ class Exception extends \Exception
|
||||
*/
|
||||
public function errorMessage()
|
||||
{
|
||||
return '<strong>' . htmlspecialchars($this->getMessage()) . "</strong><br />\n";
|
||||
return '<strong>' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "</strong><br />\n";
|
||||
}
|
||||
}
|
||||
|
169
vendor/phpmailer/phpmailer/src/PHPMailer.php
vendored
169
vendor/phpmailer/phpmailer/src/PHPMailer.php
vendored
@ -103,14 +103,14 @@ class PHPMailer
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $From = 'root@localhost';
|
||||
public $From = '';
|
||||
|
||||
/**
|
||||
* The From name of the message.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $FromName = 'Root User';
|
||||
public $FromName = '';
|
||||
|
||||
/**
|
||||
* The envelope sender of the message.
|
||||
@ -428,9 +428,11 @@ class PHPMailer
|
||||
public $Debugoutput = 'echo';
|
||||
|
||||
/**
|
||||
* Whether to keep SMTP connection open after each message.
|
||||
* If this is set to true then to close the connection
|
||||
* requires an explicit call to smtpClose().
|
||||
* Whether to keep the SMTP connection open after each message.
|
||||
* If this is set to true then the connection will remain open after a send,
|
||||
* and closing the connection will require an explicit call to smtpClose().
|
||||
* It's a good idea to use this if you are sending multiple messages as it reduces overhead.
|
||||
* See the mailing list example for how to use it.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
@ -687,7 +689,7 @@ class PHPMailer
|
||||
protected $boundary = [];
|
||||
|
||||
/**
|
||||
* The array of available languages.
|
||||
* The array of available text strings for the current language.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
@ -748,7 +750,7 @@ class PHPMailer
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '6.4.1';
|
||||
const VERSION = '6.5.1';
|
||||
|
||||
/**
|
||||
* Error severity: message only, continue processing.
|
||||
@ -1186,25 +1188,33 @@ class PHPMailer
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function parseAddresses($addrstr, $useimap = true)
|
||||
public static function parseAddresses($addrstr, $useimap = true, $charset = self::CHARSET_ISO88591)
|
||||
{
|
||||
$addresses = [];
|
||||
if ($useimap && function_exists('imap_rfc822_parse_adrlist')) {
|
||||
//Use this built-in parser if it's available
|
||||
$list = imap_rfc822_parse_adrlist($addrstr, '');
|
||||
// Clear any potential IMAP errors to get rid of notices being thrown at end of script.
|
||||
imap_errors();
|
||||
foreach ($list as $address) {
|
||||
if (
|
||||
('.SYNTAX-ERROR.' !== $address->host) && static::validateAddress(
|
||||
$address->mailbox . '@' . $address->host
|
||||
)
|
||||
'.SYNTAX-ERROR.' !== $address->host &&
|
||||
static::validateAddress($address->mailbox . '@' . $address->host)
|
||||
) {
|
||||
//Decode the name part if it's present and encoded
|
||||
if (
|
||||
property_exists($address, 'personal') &&
|
||||
extension_loaded('mbstring') &&
|
||||
preg_match('/^=\?.*\?=$/', $address->personal)
|
||||
//Check for a Mbstring constant rather than using extension_loaded, which is sometimes disabled
|
||||
defined('MB_CASE_UPPER') &&
|
||||
preg_match('/^=\?.*\?=$/s', $address->personal)
|
||||
) {
|
||||
$origCharset = mb_internal_encoding();
|
||||
mb_internal_encoding($charset);
|
||||
//Undo any RFC2047-encoded spaces-as-underscores
|
||||
$address->personal = str_replace('_', '=20', $address->personal);
|
||||
//Decode the name
|
||||
$address->personal = mb_decode_mimeheader($address->personal);
|
||||
mb_internal_encoding($origCharset);
|
||||
}
|
||||
|
||||
$addresses[] = [
|
||||
@ -1232,9 +1242,16 @@ class PHPMailer
|
||||
$email = trim(str_replace('>', '', $email));
|
||||
$name = trim($name);
|
||||
if (static::validateAddress($email)) {
|
||||
//Check for a Mbstring constant rather than using extension_loaded, which is sometimes disabled
|
||||
//If this name is encoded, decode it
|
||||
if (preg_match('/^=\?.*\?=$/', $name)) {
|
||||
if (defined('MB_CASE_UPPER') && preg_match('/^=\?.*\?=$/s', $name)) {
|
||||
$origCharset = mb_internal_encoding();
|
||||
mb_internal_encoding($charset);
|
||||
//Undo any RFC2047-encoded spaces-as-underscores
|
||||
$name = str_replace('_', '=20', $name);
|
||||
//Decode the name
|
||||
$name = mb_decode_mimeheader($name);
|
||||
mb_internal_encoding($origCharset);
|
||||
}
|
||||
$addresses[] = [
|
||||
//Remove any surrounding quotes and spaces from the name
|
||||
@ -1335,7 +1352,8 @@ class PHPMailer
|
||||
if (null === $patternselect) {
|
||||
$patternselect = static::$validator;
|
||||
}
|
||||
if (is_callable($patternselect)) {
|
||||
//Don't allow strings as callables, see SECURITY.md and CVE-2021-3603
|
||||
if (is_callable($patternselect) && !is_string($patternselect)) {
|
||||
return call_user_func($patternselect, $address);
|
||||
}
|
||||
//Reject line breaks in addresses; it's valid RFC5322, but not RFC5321
|
||||
@ -1505,12 +1523,7 @@ class PHPMailer
|
||||
&& ini_get('mail.add_x_header') === '1'
|
||||
&& stripos(PHP_OS, 'WIN') === 0
|
||||
) {
|
||||
trigger_error(
|
||||
'Your version of PHP is affected by a bug that may result in corrupted messages.' .
|
||||
' To fix it, switch to sending using SMTP, disable the mail.add_x_header option in' .
|
||||
' your php.ini, switch to MacOS or Linux, or upgrade your PHP to version 7.0.17+ or 7.1.3+.',
|
||||
E_USER_WARNING
|
||||
);
|
||||
trigger_error($this->lang('buggy_php'), E_USER_WARNING);
|
||||
}
|
||||
|
||||
try {
|
||||
@ -1721,7 +1734,7 @@ class PHPMailer
|
||||
fwrite($mail, $header);
|
||||
fwrite($mail, $body);
|
||||
$result = pclose($mail);
|
||||
$addrinfo = static::parseAddresses($toAddr);
|
||||
$addrinfo = static::parseAddresses($toAddr, true, $this->charSet);
|
||||
$this->doCallback(
|
||||
($result === 0),
|
||||
[[$addrinfo['address'], $addrinfo['name']]],
|
||||
@ -1881,7 +1894,7 @@ class PHPMailer
|
||||
if ($this->SingleTo && count($toArr) > 1) {
|
||||
foreach ($toArr as $toAddr) {
|
||||
$result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params);
|
||||
$addrinfo = static::parseAddresses($toAddr);
|
||||
$addrinfo = static::parseAddresses($toAddr, true, $this->charSet);
|
||||
$this->doCallback(
|
||||
$result,
|
||||
[[$addrinfo['address'], $addrinfo['name']]],
|
||||
@ -2178,13 +2191,15 @@ class PHPMailer
|
||||
|
||||
/**
|
||||
* Set the language for error messages.
|
||||
* Returns false if it cannot load the language file.
|
||||
* The default language is English.
|
||||
*
|
||||
* @param string $langcode ISO 639-1 2-character language code (e.g. French is "fr")
|
||||
* @param string $lang_path Path to the language file directory, with trailing separator (slash)
|
||||
* Optionally, the language code can be enhanced with a 4-character
|
||||
* script annotation and/or a 2-character country annotation.
|
||||
* @param string $lang_path Path to the language file directory, with trailing separator (slash).D
|
||||
* Do not set this from user input!
|
||||
*
|
||||
* @return bool
|
||||
* @return bool Returns true if the requested language was loaded, false otherwise.
|
||||
*/
|
||||
public function setLanguage($langcode = 'en', $lang_path = '')
|
||||
{
|
||||
@ -2207,51 +2222,102 @@ class PHPMailer
|
||||
//Define full set of translatable strings in English
|
||||
$PHPMAILER_LANG = [
|
||||
'authenticate' => 'SMTP Error: Could not authenticate.',
|
||||
'buggy_php' => 'Your version of PHP is affected by a bug that may result in corrupted messages.' .
|
||||
' To fix it, switch to sending using SMTP, disable the mail.add_x_header option in' .
|
||||
' your php.ini, switch to MacOS or Linux, or upgrade your PHP to version 7.0.17+ or 7.1.3+.',
|
||||
'connect_host' => 'SMTP Error: Could not connect to SMTP host.',
|
||||
'data_not_accepted' => 'SMTP Error: data not accepted.',
|
||||
'empty_message' => 'Message body empty',
|
||||
'encoding' => 'Unknown encoding: ',
|
||||
'execute' => 'Could not execute: ',
|
||||
'extension_missing' => 'Extension missing: ',
|
||||
'file_access' => 'Could not access file: ',
|
||||
'file_open' => 'File Error: Could not open file: ',
|
||||
'from_failed' => 'The following From address failed: ',
|
||||
'instantiate' => 'Could not instantiate mail function.',
|
||||
'invalid_address' => 'Invalid address: ',
|
||||
'invalid_header' => 'Invalid header name or value',
|
||||
'invalid_hostentry' => 'Invalid hostentry: ',
|
||||
'invalid_host' => 'Invalid host: ',
|
||||
'mailer_not_supported' => ' mailer is not supported.',
|
||||
'provide_address' => 'You must provide at least one recipient email address.',
|
||||
'recipients_failed' => 'SMTP Error: The following recipients failed: ',
|
||||
'signing' => 'Signing Error: ',
|
||||
'smtp_code' => 'SMTP code: ',
|
||||
'smtp_code_ex' => 'Additional SMTP info: ',
|
||||
'smtp_connect_failed' => 'SMTP connect() failed.',
|
||||
'smtp_detail' => 'Detail: ',
|
||||
'smtp_error' => 'SMTP server error: ',
|
||||
'variable_set' => 'Cannot set or reset variable: ',
|
||||
'extension_missing' => 'Extension missing: ',
|
||||
];
|
||||
if (empty($lang_path)) {
|
||||
//Calculate an absolute path so it can work if CWD is not here
|
||||
$lang_path = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR;
|
||||
}
|
||||
|
||||
//Validate $langcode
|
||||
if (!preg_match('/^[a-z]{2}(?:_[a-zA-Z]{2})?$/', $langcode)) {
|
||||
$foundlang = true;
|
||||
$langcode = strtolower($langcode);
|
||||
if (
|
||||
!preg_match('/^(?P<lang>[a-z]{2})(?P<script>_[a-z]{4})?(?P<country>_[a-z]{2})?$/', $langcode, $matches)
|
||||
&& $langcode !== 'en'
|
||||
) {
|
||||
$foundlang = false;
|
||||
$langcode = 'en';
|
||||
}
|
||||
$foundlang = true;
|
||||
$lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';
|
||||
|
||||
//There is no English translation file
|
||||
if ('en' !== $langcode) {
|
||||
//Make sure language file path is readable
|
||||
if (!static::fileIsAccessible($lang_file)) {
|
||||
$langcodes = [];
|
||||
if (!empty($matches['script']) && !empty($matches['country'])) {
|
||||
$langcodes[] = $matches['lang'] . $matches['script'] . $matches['country'];
|
||||
}
|
||||
if (!empty($matches['country'])) {
|
||||
$langcodes[] = $matches['lang'] . $matches['country'];
|
||||
}
|
||||
if (!empty($matches['script'])) {
|
||||
$langcodes[] = $matches['lang'] . $matches['script'];
|
||||
}
|
||||
$langcodes[] = $matches['lang'];
|
||||
|
||||
//Try and find a readable language file for the requested language.
|
||||
$foundFile = false;
|
||||
foreach ($langcodes as $code) {
|
||||
$lang_file = $lang_path . 'phpmailer.lang-' . $code . '.php';
|
||||
if (static::fileIsAccessible($lang_file)) {
|
||||
$foundFile = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($foundFile === false) {
|
||||
$foundlang = false;
|
||||
} else {
|
||||
//Overwrite language-specific strings.
|
||||
//This way we'll never have missing translation keys.
|
||||
$foundlang = include $lang_file;
|
||||
$lines = file($lang_file);
|
||||
foreach ($lines as $line) {
|
||||
//Translation file lines look like this:
|
||||
//$PHPMAILER_LANG['authenticate'] = 'SMTP-Fehler: Authentifizierung fehlgeschlagen.';
|
||||
//These files are parsed as text and not PHP so as to avoid the possibility of code injection
|
||||
//See https://blog.stevenlevithan.com/archives/match-quoted-string
|
||||
$matches = [];
|
||||
if (
|
||||
preg_match(
|
||||
'/^\$PHPMAILER_LANG\[\'([a-z\d_]+)\'\]\s*=\s*(["\'])(.+)*?\2;/',
|
||||
$line,
|
||||
$matches
|
||||
) &&
|
||||
//Ignore unknown translation keys
|
||||
array_key_exists($matches[1], $PHPMAILER_LANG)
|
||||
) {
|
||||
//Overwrite language-specific strings so we'll never have missing translation keys.
|
||||
$PHPMAILER_LANG[$matches[1]] = (string)$matches[3];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->language = $PHPMAILER_LANG;
|
||||
|
||||
return (bool) $foundlang; //Returns false if language not found
|
||||
return $foundlang; //Returns false if language not found
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2261,6 +2327,10 @@ class PHPMailer
|
||||
*/
|
||||
public function getTranslations()
|
||||
{
|
||||
if (empty($this->language)) {
|
||||
$this->setLanguage(); // Set the default language.
|
||||
}
|
||||
|
||||
return $this->language;
|
||||
}
|
||||
|
||||
@ -2529,7 +2599,17 @@ class PHPMailer
|
||||
|
||||
//Only allow a custom message ID if it conforms to RFC 5322 section 3.6.4
|
||||
//https://tools.ietf.org/html/rfc5322#section-3.6.4
|
||||
if ('' !== $this->MessageID && preg_match('/^<.*@.*>$/', $this->MessageID)) {
|
||||
if (
|
||||
'' !== $this->MessageID &&
|
||||
preg_match(
|
||||
'/^<((([a-z\d!#$%&\'*+\/=?^_`{|}~-]+(\.[a-z\d!#$%&\'*+\/=?^_`{|}~-]+)*)' .
|
||||
'|("(([\x01-\x08\x0B\x0C\x0E-\x1F\x7F]|[\x21\x23-\x5B\x5D-\x7E])' .
|
||||
'|(\\[\x01-\x09\x0B\x0C\x0E-\x7F]))*"))@(([a-z\d!#$%&\'*+\/=?^_`{|}~-]+' .
|
||||
'(\.[a-z\d!#$%&\'*+\/=?^_`{|}~-]+)*)|(\[(([\x01-\x08\x0B\x0C\x0E-\x1F\x7F]' .
|
||||
'|[\x21-\x5A\x5E-\x7E])|(\\[\x01-\x09\x0B\x0C\x0E-\x7F]))*\])))>$/Di',
|
||||
$this->MessageID
|
||||
)
|
||||
) {
|
||||
$this->lastMessageID = $this->MessageID;
|
||||
} else {
|
||||
$this->lastMessageID = sprintf('<%s@%s>', $this->uniqueid, $this->serverHostname());
|
||||
@ -3913,13 +3993,13 @@ class PHPMailer
|
||||
if (!empty($lasterror['error'])) {
|
||||
$msg .= $this->lang('smtp_error') . $lasterror['error'];
|
||||
if (!empty($lasterror['detail'])) {
|
||||
$msg .= ' Detail: ' . $lasterror['detail'];
|
||||
$msg .= ' ' . $this->lang('smtp_detail') . $lasterror['detail'];
|
||||
}
|
||||
if (!empty($lasterror['smtp_code'])) {
|
||||
$msg .= ' SMTP code: ' . $lasterror['smtp_code'];
|
||||
$msg .= ' ' . $this->lang('smtp_code') . $lasterror['smtp_code'];
|
||||
}
|
||||
if (!empty($lasterror['smtp_code_ex'])) {
|
||||
$msg .= ' Additional SMTP info: ' . $lasterror['smtp_code_ex'];
|
||||
$msg .= ' ' . $this->lang('smtp_code_ex') . $lasterror['smtp_code_ex'];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3980,7 +4060,7 @@ class PHPMailer
|
||||
empty($host)
|
||||
|| !is_string($host)
|
||||
|| strlen($host) > 256
|
||||
|| !preg_match('/^([a-zA-Z\d.-]*|\[[a-fA-F\d:]+])$/', $host)
|
||||
|| !preg_match('/^([a-zA-Z\d.-]*|\[[a-fA-F\d:]+\])$/', $host)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
@ -4057,11 +4137,11 @@ class PHPMailer
|
||||
list($name, $value) = explode(':', $name, 2);
|
||||
}
|
||||
$name = trim($name);
|
||||
$value = trim($value);
|
||||
$value = (null === $value) ? '' : trim($value);
|
||||
//Ensure name is not empty, and that neither name nor value contain line breaks
|
||||
if (empty($name) || strpbrk($name . $value, "\r\n") !== false) {
|
||||
if ($this->exceptions) {
|
||||
throw new Exception('Invalid header name or value');
|
||||
throw new Exception($this->lang('invalid_header'));
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -4215,7 +4295,8 @@ class PHPMailer
|
||||
*
|
||||
* @param string $html The HTML text to convert
|
||||
* @param bool|callable $advanced Any boolean value to use the internal converter,
|
||||
* or provide your own callable for custom conversion
|
||||
* or provide your own callable for custom conversion.
|
||||
* *Never* pass user-supplied data into this parameter
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
2
vendor/phpmailer/phpmailer/src/POP3.php
vendored
2
vendor/phpmailer/phpmailer/src/POP3.php
vendored
@ -46,7 +46,7 @@ class POP3
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '6.4.1';
|
||||
const VERSION = '6.5.1';
|
||||
|
||||
/**
|
||||
* Default POP3 port number.
|
||||
|
3
vendor/phpmailer/phpmailer/src/SMTP.php
vendored
3
vendor/phpmailer/phpmailer/src/SMTP.php
vendored
@ -35,7 +35,7 @@ class SMTP
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '6.4.1';
|
||||
const VERSION = '6.5.1';
|
||||
|
||||
/**
|
||||
* SMTP line break constant.
|
||||
@ -186,6 +186,7 @@ class SMTP
|
||||
'Amazon_SES' => '/[\d]{3} Ok (.*)/',
|
||||
'SendGrid' => '/[\d]{3} Ok: queued as (.*)/',
|
||||
'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/',
|
||||
'Haraka' => '/[\d]{3} Message Queued \((.*)\)/',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -1,60 +0,0 @@
|
||||
# DO NOT EDIT THIS FILE!
|
||||
#
|
||||
# It's auto-generated by sonata-project/dev-kit package.
|
||||
|
||||
all:
|
||||
@echo "Please choose a task."
|
||||
.PHONY: all
|
||||
|
||||
lint: lint-composer lint-yaml lint-composer lint-xml lint-php
|
||||
.PHONY: lint
|
||||
|
||||
lint-composer:
|
||||
composer validate
|
||||
.PHONY: lint-composer
|
||||
|
||||
lint-yaml:
|
||||
yaml-lint --ignore-non-yaml-files --quiet --exclude vendor .
|
||||
|
||||
.PHONY: lint-yaml
|
||||
|
||||
lint-xml:
|
||||
find . \( -name '*.xml' -or -name '*.xliff' \) \
|
||||
-not -path './vendor/*' \
|
||||
-not -path './src/Resources/public/vendor/*' \
|
||||
| while read xmlFile; \
|
||||
do \
|
||||
XMLLINT_INDENT=' ' xmllint --encode UTF-8 --format "$$xmlFile"|diff - "$$xmlFile"; \
|
||||
if [ $$? -ne 0 ] ;then exit 1; fi; \
|
||||
done
|
||||
|
||||
.PHONY: lint-xml
|
||||
|
||||
lint-php:
|
||||
php-cs-fixer fix --ansi --verbose --diff --dry-run
|
||||
.PHONY: lint-php
|
||||
|
||||
cs-fix: cs-fix-php cs-fix-xml
|
||||
.PHONY: cs-fix
|
||||
|
||||
cs-fix-php:
|
||||
php-cs-fixer fix --verbose
|
||||
.PHONY: cs-fix-php
|
||||
|
||||
cs-fix-xml:
|
||||
find . \( -name '*.xml' -or -name '*.xliff' \) \
|
||||
-not -path './vendor/*' \
|
||||
-not -path './src/Resources/public/vendor/*' \
|
||||
| while read xmlFile; \
|
||||
do \
|
||||
XMLLINT_INDENT=' ' xmllint --encode UTF-8 --format "$$xmlFile" --output "$$xmlFile"; \
|
||||
done
|
||||
.PHONY: cs-fix-xml
|
||||
|
||||
test:
|
||||
phpunit -c phpunit.xml.dist --coverage-clover build/logs/clover.xml
|
||||
.PHONY: test
|
||||
|
||||
docs:
|
||||
cd docs && sphinx-build -W -b html -d _build/doctrees . _build/html
|
||||
.PHONY: docs
|
@ -22,10 +22,10 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.1"
|
||||
"php": "^7.3 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^4.0"
|
||||
"symfony/phpunit-bridge": "^5.1.8"
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
|
@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
DO NOT EDIT THIS FILE!
|
||||
|
||||
It's auto-generated by sonata-project/dev-kit package.
|
||||
-->
|
||||
|
||||
<phpunit backupGlobals="false"
|
||||
backupStaticAttributes="false"
|
||||
colors="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
processIsolation="false"
|
||||
stopOnFailure="false"
|
||||
syntaxCheck="false"
|
||||
bootstrap="tests/bootstrap.php"
|
||||
>
|
||||
<testsuites>
|
||||
<testsuite name="Sonata Google Authenticator Test Suite">
|
||||
<directory suffix="Test.php">./tests/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<listeners>
|
||||
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
|
||||
</listeners>
|
||||
|
||||
<filter>
|
||||
<whitelist>
|
||||
<directory suffix=".php">./src/</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
||||
<php>
|
||||
<ini name="precision" value="8"/>
|
||||
</php>
|
||||
|
||||
</phpunit>
|
@ -82,7 +82,7 @@ class User
|
||||
|
||||
public function isOTP()
|
||||
{
|
||||
if (isset($_SESSION['OTP']) && true == $_SESSION['OTP']) {
|
||||
if (isset($_SESSION['OTP']) && true === $_SESSION['OTP']) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -91,8 +91,8 @@ class User
|
||||
|
||||
public function isLoggedIn()
|
||||
{
|
||||
if (isset($_SESSION['loggedin']) && true == $_SESSION['loggedin'] &&
|
||||
isset($_SESSION['ua']) && $_SESSION['ua'] == $_SERVER['HTTP_USER_AGENT']
|
||||
if (isset($_SESSION['loggedin']) && true === $_SESSION['loggedin'] &&
|
||||
isset($_SESSION['ua']) && $_SESSION['ua'] === $_SERVER['HTTP_USER_AGENT']
|
||||
) {
|
||||
return $_SESSION['username'];
|
||||
}
|
||||
@ -143,9 +143,9 @@ class User
|
||||
$daysUntilInvalid = 0;
|
||||
$time = (string) floor((time() / (3600 * 24))); // get day number
|
||||
if (isset($_COOKIE['otp'])) {
|
||||
list($otpday, $hash) = explode(':', $_COOKIE['otp']);
|
||||
[$otpday, $hash] = explode(':', $_COOKIE['otp']);
|
||||
|
||||
if ($otpday >= $time - $daysUntilInvalid && $hash == hash_hmac('sha1', $this->getUsername().':'.$otpday.':'.$_SERVER['HTTP_USER_AGENT'], $this->getSecret())) {
|
||||
if ($otpday >= $time - $daysUntilInvalid && $hash === hash_hmac('sha1', $this->getUsername().':'.$otpday.':'.$_SERVER['HTTP_USER_AGENT'], $this->getSecret())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ if ($username = $users->hasSession()) {
|
||||
include __DIR__.'/../tmpl/login.php';
|
||||
}
|
||||
}
|
||||
die();
|
||||
exit();
|
||||
}
|
||||
//if the username is set in _POST, then we assume the user filled in the login form.
|
||||
|
||||
@ -101,14 +101,14 @@ if ($username = $users->hasSession()) {
|
||||
}
|
||||
}
|
||||
|
||||
die();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
// if we're here, something went wrong, destroy the session and show a login error
|
||||
session_destroy();
|
||||
|
||||
include __DIR__.'/../tmpl/login-error.php';
|
||||
die();
|
||||
exit();
|
||||
}
|
||||
|
||||
// if neither a session nor tried to submit the login credentials -> login screen
|
||||
|
@ -66,10 +66,10 @@ final class FixedBitNotation
|
||||
* @param bool $padFinalGroup Add padding to end of encoded output
|
||||
* @param string $padCharacter Character to use for padding
|
||||
*/
|
||||
public function __construct(int $bitsPerCharacter, string $chars = null, bool $rightPadFinalBits = false, bool $padFinalGroup = false, string $padCharacter = '=')
|
||||
public function __construct(int $bitsPerCharacter, ?string $chars = null, bool $rightPadFinalBits = false, bool $padFinalGroup = false, string $padCharacter = '=')
|
||||
{
|
||||
// Ensure validity of $chars
|
||||
if (!is_string($chars) || ($charLength = strlen($chars)) < 2) {
|
||||
if (!\is_string($chars) || ($charLength = \strlen($chars)) < 2) {
|
||||
$chars =
|
||||
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-,';
|
||||
$charLength = 64;
|
||||
@ -111,14 +111,12 @@ final class FixedBitNotation
|
||||
* Encode a string.
|
||||
*
|
||||
* @param string $rawString Binary data to encode
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function encode($rawString): string
|
||||
{
|
||||
// Unpack string into an array of bytes
|
||||
$bytes = unpack('C*', $rawString);
|
||||
$byteCount = count($bytes);
|
||||
$byteCount = \count($bytes);
|
||||
|
||||
$encodedString = '';
|
||||
$byte = array_shift($bytes);
|
||||
@ -154,9 +152,9 @@ final class FixedBitNotation
|
||||
// $bitsPerCharacter and 8, divided by 8
|
||||
$lcmMap = [1 => 1, 2 => 1, 3 => 3, 4 => 1, 5 => 5, 6 => 3, 7 => 7, 8 => 1];
|
||||
$bytesPerGroup = $lcmMap[$bitsPerCharacter];
|
||||
$pads = $bytesPerGroup * 8 / $bitsPerCharacter
|
||||
- ceil((strlen($rawString) % $bytesPerGroup)
|
||||
* 8 / $bitsPerCharacter);
|
||||
$pads = (int) ($bytesPerGroup * 8 / $bitsPerCharacter
|
||||
- ceil((\strlen($rawString) % $bytesPerGroup)
|
||||
* 8 / $bitsPerCharacter));
|
||||
$encodedString .= str_repeat($padCharacter[0], $pads);
|
||||
}
|
||||
|
||||
@ -194,12 +192,10 @@ final class FixedBitNotation
|
||||
* @param bool $caseSensitive
|
||||
* @param bool $strict Returns null if $encodedString contains
|
||||
* an undecodable character
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function decode($encodedString, $caseSensitive = true, $strict = false): string
|
||||
{
|
||||
if (!$encodedString || !is_string($encodedString)) {
|
||||
if (!$encodedString || !\is_string($encodedString)) {
|
||||
// Empty string, nothing to decode
|
||||
return '';
|
||||
}
|
||||
@ -224,10 +220,10 @@ final class FixedBitNotation
|
||||
}
|
||||
|
||||
// The last encoded character is $encodedString[$lastNotatedIndex]
|
||||
$lastNotatedIndex = strlen($encodedString) - 1;
|
||||
$lastNotatedIndex = \strlen($encodedString) - 1;
|
||||
|
||||
// Remove trailing padding characters
|
||||
while ($encodedString[$lastNotatedIndex] == $padCharacter[0]) {
|
||||
while ($encodedString[$lastNotatedIndex] === $padCharacter[0]) {
|
||||
$encodedString = substr($encodedString, 0, $lastNotatedIndex);
|
||||
--$lastNotatedIndex;
|
||||
}
|
||||
@ -258,7 +254,7 @@ final class FixedBitNotation
|
||||
$newBits = $charmap[$encodedString[$c]] << $bitsNeeded
|
||||
- $bitsPerCharacter;
|
||||
$bitsWritten += $bitsPerCharacter;
|
||||
} elseif ($c != $lastNotatedIndex || $rightPadFinalBits) {
|
||||
} elseif ($c !== $lastNotatedIndex || $rightPadFinalBits) {
|
||||
// Zero or more too many bits to complete a byte;
|
||||
// shift right
|
||||
$newBits = $charmap[$encodedString[$c]] >> $unusedBitCount;
|
||||
@ -271,11 +267,11 @@ final class FixedBitNotation
|
||||
|
||||
$byte |= $newBits;
|
||||
|
||||
if (8 == $bitsWritten || $c == $lastNotatedIndex) {
|
||||
if (8 === $bitsWritten || $c === $lastNotatedIndex) {
|
||||
// Byte is ready to be written
|
||||
$rawString .= pack('C', $byte);
|
||||
|
||||
if ($c != $lastNotatedIndex) {
|
||||
if ($c !== $lastNotatedIndex) {
|
||||
// Start the next byte
|
||||
$bitsWritten = $unusedBitCount;
|
||||
$byte = ($charmap[$encodedString[$c]]
|
||||
|
@ -36,52 +36,61 @@ final class GoogleAuthenticator implements GoogleAuthenticatorInterface
|
||||
/**
|
||||
* @var \DateTimeInterface
|
||||
*/
|
||||
private $now;
|
||||
private $instanceTime;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $codePeriod = 30;
|
||||
private $codePeriod;
|
||||
|
||||
/**
|
||||
* @param int $passCodeLength
|
||||
* @param int $secretLength
|
||||
* @param \DateTimeInterface|null $now
|
||||
* @var int
|
||||
*/
|
||||
public function __construct(int $passCodeLength = 6, int $secretLength = 10, \DateTimeInterface $now = null)
|
||||
private $periodSize = 30;
|
||||
|
||||
public function __construct(int $passCodeLength = 6, int $secretLength = 10, ?\DateTimeInterface $instanceTime = null, int $codePeriod = 30)
|
||||
{
|
||||
/*
|
||||
* codePeriod is the duration in seconds that the code is valid.
|
||||
* periodSize is the length of a period to calculate periods since Unix epoch.
|
||||
* periodSize cannot be larger than the codePeriod.
|
||||
*/
|
||||
|
||||
$this->passCodeLength = $passCodeLength;
|
||||
$this->secretLength = $secretLength;
|
||||
$this->codePeriod = $codePeriod;
|
||||
$this->periodSize = $codePeriod < $this->periodSize ? $codePeriod : $this->periodSize;
|
||||
$this->pinModulo = 10 ** $passCodeLength;
|
||||
$this->now = $now ?? new \DateTimeImmutable();
|
||||
$this->instanceTime = $instanceTime ?? new \DateTimeImmutable();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $secret
|
||||
* @param string $code
|
||||
* @param int $discrepancy
|
||||
*/
|
||||
public function checkCode($secret, $code): bool
|
||||
public function checkCode($secret, $code, $discrepancy = 1): bool
|
||||
{
|
||||
/**
|
||||
* The result of each comparison is accumulated here instead of using a guard clause
|
||||
* Discrepancy is the factor of periodSize ($discrepancy * $periodSize) allowed on either side of the
|
||||
* given codePeriod. For example, if a code with codePeriod = 60 is generated at 10:00:00, a discrepancy
|
||||
* of 1 will allow a periodSize of 30 seconds on either side of the codePeriod resulting in a valid code
|
||||
* from 09:59:30 to 10:00:29.
|
||||
*
|
||||
* The result of each comparison is stored as a timestamp here instead of using a guard clause
|
||||
* (https://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html). This is to implement
|
||||
* constant time comparison to make side-channel attacks harder. See
|
||||
* https://cryptocoding.net/index.php/Coding_rules#Compare_secret_strings_in_constant_time for details.
|
||||
* Each comparison uses hash_equals() instead of an operator to implement constant time equality comparison
|
||||
* for each code.
|
||||
*/
|
||||
$periods = floor($this->codePeriod / $this->periodSize);
|
||||
|
||||
$result = 0;
|
||||
|
||||
// current period
|
||||
$result += hash_equals($this->getCode($secret, $this->now), $code);
|
||||
|
||||
// previous period, happens if the user was slow to enter or it just crossed over
|
||||
$dateTime = new \DateTimeImmutable('@'.($this->now->getTimestamp() - $this->codePeriod));
|
||||
$result += hash_equals($this->getCode($secret, $dateTime), $code);
|
||||
|
||||
// next period, happens if the user is not completely synced and possibly a few seconds ahead
|
||||
$dateTime = new \DateTimeImmutable('@'.($this->now->getTimestamp() + $this->codePeriod));
|
||||
$result += hash_equals($this->getCode($secret, $dateTime), $code);
|
||||
for ($i = -$discrepancy; $i < $periods + $discrepancy; ++$i) {
|
||||
$dateTime = new \DateTimeImmutable('@'.($this->instanceTime->getTimestamp() - ($i * $this->periodSize)));
|
||||
$result = hash_equals($this->getCode($secret, $dateTime), $code) ? $dateTime->getTimestamp() : $result;
|
||||
}
|
||||
|
||||
return $result > 0;
|
||||
}
|
||||
@ -90,21 +99,21 @@ final class GoogleAuthenticator implements GoogleAuthenticatorInterface
|
||||
* NEXT_MAJOR: add the interface typehint to $time and remove deprecation.
|
||||
*
|
||||
* @param string $secret
|
||||
* @param float|string|int|null|\DateTimeInterface $time
|
||||
* @param float|string|int|\DateTimeInterface|null $time
|
||||
*/
|
||||
public function getCode($secret, /* \DateTimeInterface */$time = null): string
|
||||
public function getCode($secret, /* \DateTimeInterface */ $time = null): string
|
||||
{
|
||||
if (null === $time) {
|
||||
$time = $this->now;
|
||||
$time = $this->instanceTime;
|
||||
}
|
||||
|
||||
if ($time instanceof \DateTimeInterface) {
|
||||
$timeForCode = floor($time->getTimestamp() / $this->codePeriod);
|
||||
$timeForCode = floor($time->getTimestamp() / $this->periodSize);
|
||||
} else {
|
||||
@trigger_error(
|
||||
'Passing anything other than null or a DateTimeInterface to $time is deprecated as of 2.0 '.
|
||||
'and will not be possible as of 3.0.',
|
||||
E_USER_DEPRECATED
|
||||
\E_USER_DEPRECATED
|
||||
);
|
||||
$timeForCode = $time;
|
||||
}
|
||||
@ -112,15 +121,15 @@ final class GoogleAuthenticator implements GoogleAuthenticatorInterface
|
||||
$base32 = new FixedBitNotation(5, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567', true, true);
|
||||
$secret = $base32->decode($secret);
|
||||
|
||||
$timeForCode = str_pad(pack('N', $timeForCode), 8, chr(0), STR_PAD_LEFT);
|
||||
$timeForCode = str_pad(pack('N', $timeForCode), 8, \chr(0), \STR_PAD_LEFT);
|
||||
|
||||
$hash = hash_hmac('sha1', $timeForCode, $secret, true);
|
||||
$offset = ord(substr($hash, -1));
|
||||
$offset = \ord(substr($hash, -1));
|
||||
$offset &= 0xF;
|
||||
|
||||
$truncatedHash = $this->hashToInt($hash, $offset) & 0x7FFFFFFF;
|
||||
|
||||
return str_pad((string) ($truncatedHash % $this->pinModulo), $this->passCodeLength, '0', STR_PAD_LEFT);
|
||||
return str_pad((string) ($truncatedHash % $this->pinModulo), $this->passCodeLength, '0', \STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -138,9 +147,9 @@ final class GoogleAuthenticator implements GoogleAuthenticatorInterface
|
||||
'Using %s() is deprecated as of 2.1 and will be removed in 3.0. '.
|
||||
'Use Sonata\GoogleAuthenticator\GoogleQrUrl::generate() instead.',
|
||||
__METHOD__
|
||||
), E_USER_DEPRECATED);
|
||||
), \E_USER_DEPRECATED);
|
||||
|
||||
$issuer = func_get_args()[3] ?? null;
|
||||
$issuer = \func_get_args()[3] ?? null;
|
||||
$accountName = sprintf('%s@%s', $user, $hostname);
|
||||
|
||||
// manually concat the issuer to avoid a change in URL
|
||||
@ -159,10 +168,6 @@ final class GoogleAuthenticator implements GoogleAuthenticatorInterface
|
||||
->encode(random_bytes($this->secretLength));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $bytes
|
||||
* @param int $start
|
||||
*/
|
||||
private function hashToInt(string $bytes, int $start): int
|
||||
{
|
||||
return unpack('N', substr(substr($bytes, $start), 0, 4))[1];
|
||||
|
@ -19,15 +19,15 @@ interface GoogleAuthenticatorInterface
|
||||
* @param string $secret
|
||||
* @param string $code
|
||||
*/
|
||||
public function checkCode($secret, $code): bool;
|
||||
public function checkCode($secret, $code, $discrepancy = 1): bool;
|
||||
|
||||
/**
|
||||
* NEXT_MAJOR: add the interface typehint to $time and remove deprecation.
|
||||
*
|
||||
* @param string $secret
|
||||
* @param float|string|int|null|\DateTimeInterface $time
|
||||
* @param float|string|int|\DateTimeInterface|null $time
|
||||
*/
|
||||
public function getCode($secret, /* \DateTimeInterface */$time = null): string;
|
||||
public function getCode($secret, /* \DateTimeInterface */ $time = null): string;
|
||||
|
||||
/**
|
||||
* NEXT_MAJOR: Remove this method.
|
||||
|
@ -16,7 +16,8 @@ namespace Sonata\GoogleAuthenticator;
|
||||
/**
|
||||
* Responsible for QR image url generation.
|
||||
*
|
||||
* @see https://developers.google.com/chart/infographics/docs/qr_codes
|
||||
* @see http://goqr.me/api/
|
||||
* @see http://goqr.me/api/doc/
|
||||
* @see https://github.com/google/google-authenticator/wiki/Key-Uri-Format
|
||||
*
|
||||
* @author Iltar van der Berg <kjarli@gmail.com>
|
||||
@ -54,10 +55,8 @@ final class GoogleQrUrl
|
||||
* @param string $secret The secret is the generated secret unique to that user
|
||||
* @param string|null $issuer Where you log in to
|
||||
* @param int $size Image size in pixels, 200 will make it 200x200
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function generate(string $accountName, string $secret, string $issuer = null, int $size = 200): string
|
||||
public static function generate(string $accountName, string $secret, ?string $issuer = null, int $size = 200): string
|
||||
{
|
||||
if ('' === $accountName || false !== strpos($accountName, ':')) {
|
||||
throw RuntimeException::InvalidAccountName($accountName);
|
||||
@ -83,7 +82,7 @@ final class GoogleQrUrl
|
||||
$otpauthString = rawurlencode(sprintf($otpauthString, $label, $secret, $issuer));
|
||||
|
||||
return sprintf(
|
||||
'https://chart.googleapis.com/chart?chs=%1$dx%1$d&chld=M|0&cht=qr&chl=%2$s',
|
||||
'https://api.qrserver.com/v1/create-qr-code/?size=%1$dx%1$d&data=%2$s&ecc=M',
|
||||
$size,
|
||||
$otpauthString
|
||||
);
|
||||
|
94
vendor/stripe/stripe-php/CHANGELOG.md
vendored
94
vendor/stripe/stripe-php/CHANGELOG.md
vendored
@ -1,5 +1,99 @@
|
||||
# Changelog
|
||||
|
||||
## 7.94.0 - 2021-08-19
|
||||
* [#1173](https://github.com/stripe/stripe-php/pull/1173) API Updates
|
||||
* Add support for new value `fil` on enum `Checkout.Session.locale`
|
||||
* Add support for new value `au_arn` on enum `TaxId.type`
|
||||
|
||||
## 7.93.0 - 2021-08-11
|
||||
* [#1172](https://github.com/stripe/stripe-php/pull/1172) API Updates
|
||||
* Add support for `locale` on `BillingPortal.Session`
|
||||
|
||||
* [#1171](https://github.com/stripe/stripe-php/pull/1171) Fix typo in docblock `CurlClient::executeStreamingRequestWithRetries`
|
||||
|
||||
## 7.92.0 - 2021-07-28
|
||||
* [#1167](https://github.com/stripe/stripe-php/pull/1167) API Updates
|
||||
* Add support for `account_type` on `BankAccount`
|
||||
* Add support for new value `redacted` on enum `Review.closed_reason`
|
||||
|
||||
## 7.91.0 - 2021-07-22
|
||||
* [#1164](https://github.com/stripe/stripe-php/pull/1164) API Updates
|
||||
* Add support for new values `hr`, `ko`, and `vi` on enum `Checkout.Session.locale`
|
||||
* Add support for `payment_settings` on `Subscription`
|
||||
|
||||
## 7.90.0 - 2021-07-20
|
||||
* [#1163](https://github.com/stripe/stripe-php/pull/1163) API Updates
|
||||
* Add support for `wallet` on `Issuing.Transaction`
|
||||
* [#1160](https://github.com/stripe/stripe-php/pull/1160) Remove unused API error types from docs.
|
||||
|
||||
## 7.89.0 - 2021-07-14
|
||||
* [#1158](https://github.com/stripe/stripe-php/pull/1158) API Updates
|
||||
* Add support for `list_computed_upfront_line_items` method on resource `Quote`
|
||||
* [#1157](https://github.com/stripe/stripe-php/pull/1157) Improve readme for old PHP versions
|
||||
|
||||
## 7.88.0 - 2021-07-09
|
||||
* [#1152](https://github.com/stripe/stripe-php/pull/1152) API Updates
|
||||
* Add support for new resource `Quote`
|
||||
* Add support for `quote` on `Invoice`
|
||||
* Add support for new value `quote_accept` on enum `Invoice.billing_reason`
|
||||
* [#1155](https://github.com/stripe/stripe-php/pull/1155) Add streaming methods to Service infra
|
||||
* Add support for `setStreamingHttpClient` and `streamingHttpClient` to `ApiRequestor`
|
||||
* Add support for `getStreamingClient` and `requestStream` to `AbstractService`
|
||||
* Add support for `requestStream` to `BaseStripeClient`
|
||||
* `\Stripe\RequestOptions::parse` now clones its input if it is already a `RequestOptions` object, to prevent accidental mutation.
|
||||
* [#1151](https://github.com/stripe/stripe-php/pull/1151) Add `mode` constants into Checkout\Session
|
||||
|
||||
## 7.87.0 - 2021-06-30
|
||||
* [#1149](https://github.com/stripe/stripe-php/pull/1149) API Updates
|
||||
* Add support for `wechat_pay` on `PaymentMethod`
|
||||
* [#1143](https://github.com/stripe/stripe-php/pull/1143) Streaming requests
|
||||
* [#1138](https://github.com/stripe/stripe-php/pull/1138) Deprecate travis
|
||||
|
||||
## 7.86.0 - 2021-06-25
|
||||
* [#1145](https://github.com/stripe/stripe-php/pull/1145) API Updates
|
||||
* Add support for `boleto` on `PaymentMethod`.
|
||||
* Add support for `il_vat` as a member of the `TaxID.Type` enum.
|
||||
|
||||
## 7.85.0 - 2021-06-18
|
||||
* [#1142](https://github.com/stripe/stripe-php/pull/1142) API Updates
|
||||
* Add support for new TaxId types: `ca_pst_mb`, `ca_pst_bc`, `ca_gst_hst`, and `ca_pst_sk`.
|
||||
|
||||
## 7.84.0 - 2021-06-16
|
||||
* [#1141](https://github.com/stripe/stripe-php/pull/1141) Update PHPDocs
|
||||
* Add support for `url` on `Checkout\Session`
|
||||
|
||||
|
||||
## 7.83.0 - 2021-06-07
|
||||
* [#1140](https://github.com/stripe/stripe-php/pull/1140) API Updates
|
||||
* Added support for `tax_id_collection` on `Checkout\Session` and `Checkout\Session#create`
|
||||
* Update `Location` to be expandable on `Terminal\Reader`
|
||||
|
||||
## 7.82.0 - 2021-06-04
|
||||
* [#1136](https://github.com/stripe/stripe-php/pull/1136) Update PHPDocs
|
||||
* Add support for `controller` on `Account`.
|
||||
|
||||
## 7.81.0 - 2021-06-04
|
||||
* [#1135](https://github.com/stripe/stripe-php/pull/1135) API Updates
|
||||
* Add support for new resource `TaxCode`
|
||||
* Add support for `automatic_tax` `Invoice` and`Checkout.Session`.
|
||||
* Add support for `tax_behavior` on `Price`
|
||||
* Add support for `tax_code` on `Product`
|
||||
* Add support for `tax` on `Customer`
|
||||
* Add support for `tax_type` enum on `TaxRate`
|
||||
|
||||
## 7.80.0 - 2021-05-26
|
||||
* [#1130](https://github.com/stripe/stripe-php/pull/1130) Update PHPDocs
|
||||
|
||||
## 7.79.0 - 2021-05-19
|
||||
* [#1126](https://github.com/stripe/stripe-php/pull/1126) API Updates
|
||||
* Added support for new resource `Identity.VerificationReport`
|
||||
* Added support for new resource `Identity.VerificationSession`
|
||||
* `File#list.purpose` and `File.purpose` added new enum members: `identity_document_downloadable` and `selfie`.
|
||||
|
||||
## 7.78.0 - 2021-05-05
|
||||
* [#1120](https://github.com/stripe/stripe-php/pull/1120) Update PHPDocs
|
||||
* Add support for `Radar.EarlyFraudWarning.payment_intent`
|
||||
|
||||
## 7.77.0 - 2021-04-12
|
||||
* [#1110](https://github.com/stripe/stripe-php/pull/1110) Update PHPDocs
|
||||
* Add support for `acss_debit` on `PaymentMethod`
|
||||
|
9
vendor/stripe/stripe-php/README.md
vendored
9
vendor/stripe/stripe-php/README.md
vendored
@ -72,16 +72,17 @@ See the [PHP API docs](https://stripe.com/docs/api/php#intro).
|
||||
|
||||
See [video demonstrations][youtube-playlist] covering how to use the library.
|
||||
|
||||
|
||||
## Legacy Version Support
|
||||
|
||||
### PHP 5.4 & 5.5
|
||||
|
||||
If you are using PHP 5.4 or 5.5, you can download v6.21.1 ([zip](https://github.com/stripe/stripe-php/archive/v6.21.1.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v6.21.1.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
||||
If you are using PHP 5.4 or 5.5, you should consider upgrading your environment as those versions have been past end of life since September 2015 and July 2016 respectively.
|
||||
Otherwise, you can still use Stripe by downloading stripe-php v6.43.1 ([zip](https://github.com/stripe/stripe-php/archive/v6.43.1.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/6.43.1.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will work but might not support recent features we added since the version was released and upgrading PHP is the best course of action.
|
||||
|
||||
### PHP 5.3
|
||||
|
||||
If you are using PHP 5.3, you can download v5.9.2 ([zip](https://github.com/stripe/stripe-php/archive/v5.9.2.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v5.9.2.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
||||
If you are using PHP 5.3, you should upgrade your environment as this version has been past end of life since August 2014.
|
||||
Otherwise, you can download v5.9.2 ([zip](https://github.com/stripe/stripe-php/archive/v5.9.2.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v5.9.2.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
||||
|
||||
## Custom Request Timeouts
|
||||
|
||||
@ -231,7 +232,7 @@ Install dependencies as mentioned above (which will resolve [PHPUnit](http://pac
|
||||
Or to run an individual test file:
|
||||
|
||||
```bash
|
||||
./vendor/bin/phpunit tests/UtilTest.php
|
||||
./vendor/bin/phpunit tests/Stripe/UtilTest.php
|
||||
```
|
||||
|
||||
Update bundled CA certificates from the [Mozilla cURL release][curl]:
|
||||
|
2
vendor/stripe/stripe-php/VERSION
vendored
2
vendor/stripe/stripe-php/VERSION
vendored
@ -1 +1 @@
|
||||
7.77.0
|
||||
7.94.0
|
||||
|
12
vendor/stripe/stripe-php/init.php
vendored
12
vendor/stripe/stripe-php/init.php
vendored
@ -17,6 +17,7 @@ require __DIR__ . '/lib/Util/ObjectTypes.php';
|
||||
|
||||
// HttpClient
|
||||
require __DIR__ . '/lib/HttpClient/ClientInterface.php';
|
||||
require __DIR__ . '/lib/HttpClient/StreamingClientInterface.php';
|
||||
require __DIR__ . '/lib/HttpClient/CurlClient.php';
|
||||
|
||||
// Exceptions
|
||||
@ -66,7 +67,9 @@ require __DIR__ . '/lib/Service/AbstractService.php';
|
||||
require __DIR__ . '/lib/Service/AbstractServiceFactory.php';
|
||||
|
||||
// StripeClient
|
||||
require __DIR__ . '/lib/BaseStripeClientInterface.php';
|
||||
require __DIR__ . '/lib/StripeClientInterface.php';
|
||||
require __DIR__ . '/lib/StripeStreamingClientInterface.php';
|
||||
require __DIR__ . '/lib/BaseStripeClient.php';
|
||||
require __DIR__ . '/lib/StripeClient.php';
|
||||
|
||||
@ -103,6 +106,8 @@ require __DIR__ . '/lib/Event.php';
|
||||
require __DIR__ . '/lib/ExchangeRate.php';
|
||||
require __DIR__ . '/lib/File.php';
|
||||
require __DIR__ . '/lib/FileLink.php';
|
||||
require __DIR__ . '/lib/Identity/VerificationReport.php';
|
||||
require __DIR__ . '/lib/Identity/VerificationSession.php';
|
||||
require __DIR__ . '/lib/Invoice.php';
|
||||
require __DIR__ . '/lib/InvoiceItem.php';
|
||||
require __DIR__ . '/lib/InvoiceLineItem.php';
|
||||
@ -126,6 +131,7 @@ require __DIR__ . '/lib/Plan.php';
|
||||
require __DIR__ . '/lib/Price.php';
|
||||
require __DIR__ . '/lib/Product.php';
|
||||
require __DIR__ . '/lib/PromotionCode.php';
|
||||
require __DIR__ . '/lib/Quote.php';
|
||||
require __DIR__ . '/lib/Radar/EarlyFraudWarning.php';
|
||||
require __DIR__ . '/lib/Radar/ValueList.php';
|
||||
require __DIR__ . '/lib/Radar/ValueListItem.php';
|
||||
@ -144,6 +150,7 @@ require __DIR__ . '/lib/SourceTransaction.php';
|
||||
require __DIR__ . '/lib/Subscription.php';
|
||||
require __DIR__ . '/lib/SubscriptionItem.php';
|
||||
require __DIR__ . '/lib/SubscriptionSchedule.php';
|
||||
require __DIR__ . '/lib/TaxCode.php';
|
||||
require __DIR__ . '/lib/TaxId.php';
|
||||
require __DIR__ . '/lib/TaxRate.php';
|
||||
require __DIR__ . '/lib/Terminal/ConnectionToken.php';
|
||||
@ -179,6 +186,8 @@ require __DIR__ . '/lib/Service/EventService.php';
|
||||
require __DIR__ . '/lib/Service/ExchangeRateService.php';
|
||||
require __DIR__ . '/lib/Service/FileService.php';
|
||||
require __DIR__ . '/lib/Service/FileLinkService.php';
|
||||
require __DIR__ . '/lib/Service/Identity/VerificationReportService.php';
|
||||
require __DIR__ . '/lib/Service/Identity/VerificationSessionService.php';
|
||||
require __DIR__ . '/lib/Service/InvoiceService.php';
|
||||
require __DIR__ . '/lib/Service/InvoiceItemService.php';
|
||||
require __DIR__ . '/lib/Service/Issuing/AuthorizationService.php';
|
||||
@ -196,6 +205,7 @@ require __DIR__ . '/lib/Service/PlanService.php';
|
||||
require __DIR__ . '/lib/Service/PriceService.php';
|
||||
require __DIR__ . '/lib/Service/ProductService.php';
|
||||
require __DIR__ . '/lib/Service/PromotionCodeService.php';
|
||||
require __DIR__ . '/lib/Service/QuoteService.php';
|
||||
require __DIR__ . '/lib/Service/Radar/EarlyFraudWarningService.php';
|
||||
require __DIR__ . '/lib/Service/Radar/ValueListService.php';
|
||||
require __DIR__ . '/lib/Service/Radar/ValueListItemService.php';
|
||||
@ -211,6 +221,7 @@ require __DIR__ . '/lib/Service/SourceService.php';
|
||||
require __DIR__ . '/lib/Service/SubscriptionService.php';
|
||||
require __DIR__ . '/lib/Service/SubscriptionItemService.php';
|
||||
require __DIR__ . '/lib/Service/SubscriptionScheduleService.php';
|
||||
require __DIR__ . '/lib/Service/TaxCodeService.php';
|
||||
require __DIR__ . '/lib/Service/TaxRateService.php';
|
||||
require __DIR__ . '/lib/Service/Terminal/ConnectionTokenService.php';
|
||||
require __DIR__ . '/lib/Service/Terminal/LocationService.php';
|
||||
@ -224,6 +235,7 @@ require __DIR__ . '/lib/Service/WebhookEndpointService.php';
|
||||
require __DIR__ . '/lib/Service/CoreServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/BillingPortal/BillingPortalServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/Checkout/CheckoutServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/Identity/IdentityServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/Issuing/IssuingServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/Radar/RadarServiceFactory.php';
|
||||
require __DIR__ . '/lib/Service/Reporting/ReportingServiceFactory.php';
|
||||
|
3
vendor/stripe/stripe-php/lib/Account.php
vendored
3
vendor/stripe/stripe-php/lib/Account.php
vendored
@ -20,6 +20,7 @@ namespace Stripe;
|
||||
* @property \Stripe\StripeObject $capabilities
|
||||
* @property bool $charges_enabled Whether the account can create live charges.
|
||||
* @property \Stripe\StripeObject $company
|
||||
* @property \Stripe\StripeObject $controller
|
||||
* @property string $country The account's country.
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property string $default_currency Three-letter ISO currency code representing the default currency for the account. This must be a currency that <a href="https://stripe.com/docs/payouts">Stripe supports in the account's country</a>.
|
||||
@ -200,7 +201,7 @@ class Account extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Account the rejected account
|
||||
* @return \Stripe\Account the rejected account
|
||||
*/
|
||||
public function reject($params = null, $opts = null)
|
||||
{
|
||||
|
@ -45,6 +45,23 @@ trait Request
|
||||
return [$resp->json, $options];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method HTTP method ('get', 'post', etc.)
|
||||
* @param string $url URL for the request
|
||||
* @param callable $readBodyChunk function that will receive chunks of data from a successful request body
|
||||
* @param array $params list of parameters for the request
|
||||
* @param null|array|string $options
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return array tuple containing (the JSON response, $options)
|
||||
*/
|
||||
protected function _requestStream($method, $url, $readBodyChunk, $params = [], $options = null)
|
||||
{
|
||||
$opts = $this->_opts->merge($options);
|
||||
static::_staticStreamingRequest($method, $url, $readBodyChunk, $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method HTTP method ('get', 'post', etc.)
|
||||
* @param string $url URL for the request
|
||||
@ -65,4 +82,21 @@ trait Request
|
||||
|
||||
return [$response, $opts];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method HTTP method ('get', 'post', etc.)
|
||||
* @param string $url URL for the request
|
||||
* @param callable $readBodyChunk function that will receive chunks of data from a successful request body
|
||||
* @param array $params list of parameters for the request
|
||||
* @param null|array|string $options
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*/
|
||||
protected static function _staticStreamingRequest($method, $url, $readBodyChunk, $params, $options)
|
||||
{
|
||||
$opts = \Stripe\Util\RequestOptions::parse($options);
|
||||
$baseUrl = isset($opts->apiBase) ? $opts->apiBase : static::baseUrl();
|
||||
$requestor = new \Stripe\ApiRequestor($opts->apiKey, $baseUrl);
|
||||
$requestor->requestStream($method, $url, $readBodyChunk, $params, $opts->headers);
|
||||
}
|
||||
}
|
||||
|
119
vendor/stripe/stripe-php/lib/ApiRequestor.php
vendored
119
vendor/stripe/stripe-php/lib/ApiRequestor.php
vendored
@ -21,6 +21,10 @@ class ApiRequestor
|
||||
* @var HttpClient\ClientInterface
|
||||
*/
|
||||
private static $_httpClient;
|
||||
/**
|
||||
* @var HttpClient\StreamingClientInterface
|
||||
*/
|
||||
private static $_streamingHttpClient;
|
||||
|
||||
/**
|
||||
* @var RequestTelemetry
|
||||
@ -123,6 +127,28 @@ class ApiRequestor
|
||||
return [$resp, $myApiKey];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method
|
||||
* @param string $url
|
||||
* @param callable $readBodyChunkCallable
|
||||
* @param null|array $params
|
||||
* @param null|array $headers
|
||||
*
|
||||
* @throws Exception\ApiErrorException
|
||||
*
|
||||
* @return array tuple containing (ApiReponse, API key)
|
||||
*/
|
||||
public function requestStream($method, $url, $readBodyChunkCallable, $params = null, $headers = null)
|
||||
{
|
||||
$params = $params ?: [];
|
||||
$headers = $headers ?: [];
|
||||
list($rbody, $rcode, $rheaders, $myApiKey) =
|
||||
$this->_requestRawStreaming($method, $url, $params, $headers, $readBodyChunkCallable);
|
||||
if ($rcode >= 300) {
|
||||
$this->_interpretResponse($rbody, $rcode, $rheaders);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $rbody a JSON string
|
||||
* @param int $rcode
|
||||
@ -328,18 +354,7 @@ class ApiRequestor
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method
|
||||
* @param string $url
|
||||
* @param array $params
|
||||
* @param array $headers
|
||||
*
|
||||
* @throws Exception\AuthenticationException
|
||||
* @throws Exception\ApiConnectionException
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _requestRaw($method, $url, $params, $headers)
|
||||
private function _prepareRequest($method, $url, $params, $headers)
|
||||
{
|
||||
$myApiKey = $this->_apiKey;
|
||||
if (!$myApiKey) {
|
||||
@ -416,6 +431,24 @@ class ApiRequestor
|
||||
$rawHeaders[] = $header . ': ' . $value;
|
||||
}
|
||||
|
||||
return [$absUrl, $rawHeaders, $params, $hasFile, $myApiKey];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method
|
||||
* @param string $url
|
||||
* @param array $params
|
||||
* @param array $headers
|
||||
*
|
||||
* @throws Exception\AuthenticationException
|
||||
* @throws Exception\ApiConnectionException
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _requestRaw($method, $url, $params, $headers)
|
||||
{
|
||||
list($absUrl, $rawHeaders, $params, $hasFile, $myApiKey) = $this->_prepareRequest($method, $url, $params, $headers);
|
||||
|
||||
$requestStartMs = Util\Util::currentTimeMillis();
|
||||
|
||||
list($rbody, $rcode, $rheaders) = $this->httpClient()->request(
|
||||
@ -438,6 +471,46 @@ class ApiRequestor
|
||||
return [$rbody, $rcode, $rheaders, $myApiKey];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $method
|
||||
* @param string $url
|
||||
* @param array $params
|
||||
* @param array $headers
|
||||
* @param callable $readBodyChunk
|
||||
* @param mixed $readBodyChunkCallable
|
||||
*
|
||||
* @throws Exception\AuthenticationException
|
||||
* @throws Exception\ApiConnectionException
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _requestRawStreaming($method, $url, $params, $headers, $readBodyChunkCallable)
|
||||
{
|
||||
list($absUrl, $rawHeaders, $params, $hasFile, $myApiKey) = $this->_prepareRequest($method, $url, $params, $headers);
|
||||
|
||||
$requestStartMs = Util\Util::currentTimeMillis();
|
||||
|
||||
list($rbody, $rcode, $rheaders) = $this->streamingHttpClient()->requestStream(
|
||||
$method,
|
||||
$absUrl,
|
||||
$rawHeaders,
|
||||
$params,
|
||||
$hasFile,
|
||||
$readBodyChunkCallable
|
||||
);
|
||||
|
||||
if (isset($rheaders['request-id'])
|
||||
&& \is_string($rheaders['request-id'])
|
||||
&& \strlen($rheaders['request-id']) > 0) {
|
||||
self::$requestTelemetry = new RequestTelemetry(
|
||||
$rheaders['request-id'],
|
||||
Util\Util::currentTimeMillis() - $requestStartMs
|
||||
);
|
||||
}
|
||||
|
||||
return [$rbody, $rcode, $rheaders, $myApiKey];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param resource $resource
|
||||
*
|
||||
@ -502,6 +575,16 @@ class ApiRequestor
|
||||
self::$_httpClient = $client;
|
||||
}
|
||||
|
||||
/**
|
||||
* @static
|
||||
*
|
||||
* @param HttpClient\StreamingClientInterface $client
|
||||
*/
|
||||
public static function setStreamingHttpClient($client)
|
||||
{
|
||||
self::$_streamingHttpClient = $client;
|
||||
}
|
||||
|
||||
/**
|
||||
* @static
|
||||
*
|
||||
@ -523,4 +606,16 @@ class ApiRequestor
|
||||
|
||||
return self::$_httpClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return HttpClient\StreamingClientInterface
|
||||
*/
|
||||
private function streamingHttpClient()
|
||||
{
|
||||
if (!self::$_streamingHttpClient) {
|
||||
self::$_streamingHttpClient = HttpClient\CurlClient::instance();
|
||||
}
|
||||
|
||||
return self::$_streamingHttpClient;
|
||||
}
|
||||
}
|
||||
|
1
vendor/stripe/stripe-php/lib/BankAccount.php
vendored
1
vendor/stripe/stripe-php/lib/BankAccount.php
vendored
@ -23,6 +23,7 @@ namespace Stripe;
|
||||
* @property null|string|\Stripe\Account $account The ID of the account that the bank account is associated with.
|
||||
* @property null|string $account_holder_name The name of the person or business that owns the bank account.
|
||||
* @property null|string $account_holder_type The type of entity that holds the account. This can be either <code>individual</code> or <code>company</code>.
|
||||
* @property null|string $account_type The bank account type. This can only be <code>checking</code> or <code>savings</code> in most countries. In Japan, this can only be <code>futsu</code> or <code>toza</code>.
|
||||
* @property null|string[] $available_payout_methods A set of available payout methods for this bank account. Only values from this set should be passed as the <code>method</code> when creating a payout.
|
||||
* @property null|string $bank_name Name of the bank associated with the routing number (e.g., <code>WELLS FARGO</code>).
|
||||
* @property string $country Two-letter ISO code representing the country the bank account is located in.
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace Stripe;
|
||||
|
||||
class BaseStripeClient implements StripeClientInterface
|
||||
class BaseStripeClient implements StripeClientInterface, StripeStreamingClientInterface
|
||||
{
|
||||
/** @var string default base URL for Stripe's API */
|
||||
const DEFAULT_API_BASE = 'https://api.stripe.com';
|
||||
@ -139,6 +139,25 @@ class BaseStripeClient implements StripeClientInterface
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a request to Stripe's API, passing chunks of the streamed response
|
||||
* into a user-provided $readBodyChunkCallable callback.
|
||||
*
|
||||
* @param string $method the HTTP method
|
||||
* @param string $path the path of the request
|
||||
* @param callable $readBodyChunkCallable a function that will be called
|
||||
* @param array $params the parameters of the request
|
||||
* @param array|\Stripe\Util\RequestOptions $opts the special modifiers of the request
|
||||
* with chunks of bytes from the body if the request is successful
|
||||
*/
|
||||
public function requestStream($method, $path, $readBodyChunkCallable, $params, $opts)
|
||||
{
|
||||
$opts = $this->defaultOpts->merge($opts, true);
|
||||
$baseUrl = $opts->apiBase ?: $this->getApiBase();
|
||||
$requestor = new \Stripe\ApiRequestor($this->apiKeyForRequest($opts), $baseUrl);
|
||||
list($response, $opts->apiKey) = $requestor->requestStream($method, $path, $readBodyChunkCallable, $params, $opts->headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a request to Stripe's API.
|
||||
*
|
||||
|
44
vendor/stripe/stripe-php/lib/BaseStripeClientInterface.php
vendored
Normal file
44
vendor/stripe/stripe-php/lib/BaseStripeClientInterface.php
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace Stripe;
|
||||
|
||||
/**
|
||||
* Interface for a Stripe client.
|
||||
*/
|
||||
interface BaseStripeClientInterface
|
||||
{
|
||||
/**
|
||||
* Gets the API key used by the client to send requests.
|
||||
*
|
||||
* @return null|string the API key used by the client to send requests
|
||||
*/
|
||||
public function getApiKey();
|
||||
|
||||
/**
|
||||
* Gets the client ID used by the client in OAuth requests.
|
||||
*
|
||||
* @return null|string the client ID used by the client in OAuth requests
|
||||
*/
|
||||
public function getClientId();
|
||||
|
||||
/**
|
||||
* Gets the base URL for Stripe's API.
|
||||
*
|
||||
* @return string the base URL for Stripe's API
|
||||
*/
|
||||
public function getApiBase();
|
||||
|
||||
/**
|
||||
* Gets the base URL for Stripe's OAuth API.
|
||||
*
|
||||
* @return string the base URL for Stripe's OAuth API
|
||||
*/
|
||||
public function getConnectBase();
|
||||
|
||||
/**
|
||||
* Gets the base URL for Stripe's Files API.
|
||||
*
|
||||
* @return string the base URL for Stripe's Files API
|
||||
*/
|
||||
public function getFilesBase();
|
||||
}
|
@ -30,6 +30,7 @@ namespace Stripe\BillingPortal;
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property string $customer The ID of the customer for this session.
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property null|string $locale The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s <code>preferred_locales</code> or browser’s locale is used.
|
||||
* @property null|string $on_behalf_of The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this <code>on_behalf_of</code> account appear in the portal. For more information, see the <a href="https://stripe.com/docs/connect/charges-transfers#on-behalf-of">docs</a>. Use the <a href="https://stripe.com/docs/api/accounts/object#account_object-settings-branding">Accounts API</a> to modify the <code>on_behalf_of</code> account's branding settings, which the portal displays.
|
||||
* @property string $return_url The URL to redirect customers to when they click on the portal's link to return to your website.
|
||||
* @property string $url The short-lived URL of the session that gives customers access to the customer portal.
|
||||
|
2
vendor/stripe/stripe-php/lib/Charge.php
vendored
2
vendor/stripe/stripe-php/lib/Charge.php
vendored
@ -133,7 +133,7 @@ class Charge extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Charge the captured charge
|
||||
* @return \Stripe\Charge the captured charge
|
||||
*/
|
||||
public function capture($params = null, $opts = null)
|
||||
{
|
||||
|
@ -27,12 +27,13 @@ namespace Stripe\Checkout;
|
||||
* @property null|bool $allow_promotion_codes Enables user redeemable promotion codes.
|
||||
* @property null|int $amount_subtotal Total of all items before discounts or taxes are applied.
|
||||
* @property null|int $amount_total Total of all items after discounts and taxes are applied.
|
||||
* @property \Stripe\StripeObject $automatic_tax
|
||||
* @property null|string $billing_address_collection Describes whether Checkout should collect the customer's billing address.
|
||||
* @property string $cancel_url The URL the customer will be directed to if they decide to cancel payment and return to your website.
|
||||
* @property null|string $client_reference_id A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems.
|
||||
* @property null|string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
||||
* @property null|string|\Stripe\Customer $customer The ID of the customer for this Session. For Checkout Sessions in <code>payment</code> or <code>subscription</code> mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created.
|
||||
* @property null|\Stripe\StripeObject $customer_details The customer details including the customer's tax exempt status and the customer's tax IDs.
|
||||
* @property null|\Stripe\StripeObject $customer_details The customer details including the customer's tax exempt status and the customer's tax IDs. Only present on Sessions in <code>payment</code> or <code>subscription</code> mode.
|
||||
* @property null|string $customer_email If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the <code>customer</code> attribute.
|
||||
* @property \Stripe\Collection $line_items The line items purchased by the customer.
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
@ -49,7 +50,9 @@ namespace Stripe\Checkout;
|
||||
* @property null|string $submit_type Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. <code>submit_type</code> can only be specified on Checkout Sessions in <code>payment</code> mode, but not Checkout Sessions in <code>subscription</code> or <code>setup</code> mode.
|
||||
* @property null|string|\Stripe\Subscription $subscription The ID of the subscription for Checkout Sessions in <code>subscription</code> mode.
|
||||
* @property string $success_url The URL the customer will be directed to after the payment or subscription creation is successful.
|
||||
* @property \Stripe\StripeObject $tax_id_collection
|
||||
* @property null|\Stripe\StripeObject $total_details Tax and discount details for the computed total amount.
|
||||
* @property null|string $url The URL to the Checkout Session.
|
||||
*/
|
||||
class Session extends \Stripe\ApiResource
|
||||
{
|
||||
@ -63,6 +66,10 @@ class Session extends \Stripe\ApiResource
|
||||
const BILLING_ADDRESS_COLLECTION_AUTO = 'auto';
|
||||
const BILLING_ADDRESS_COLLECTION_REQUIRED = 'required';
|
||||
|
||||
const MODE_PAYMENT = 'payment';
|
||||
const MODE_SETUP = 'setup';
|
||||
const MODE_SUBSCRIPTION = 'subscription';
|
||||
|
||||
const PAYMENT_STATUS_NO_PAYMENT_REQUIRED = 'no_payment_required';
|
||||
const PAYMENT_STATUS_PAID = 'paid';
|
||||
const PAYMENT_STATUS_UNPAID = 'unpaid';
|
||||
|
4
vendor/stripe/stripe-php/lib/CreditNote.php
vendored
4
vendor/stripe/stripe-php/lib/CreditNote.php
vendored
@ -70,7 +70,7 @@ class CreditNote extends ApiResource
|
||||
{
|
||||
$url = static::classUrl() . '/preview';
|
||||
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
||||
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj->setLastResponse($response);
|
||||
|
||||
return $obj;
|
||||
@ -82,7 +82,7 @@ class CreditNote extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return CreditNote the voided credit note
|
||||
* @return \Stripe\CreditNote the voided credit note
|
||||
*/
|
||||
public function voidCreditNote($params = null, $opts = null)
|
||||
{
|
||||
|
1
vendor/stripe/stripe-php/lib/Customer.php
vendored
1
vendor/stripe/stripe-php/lib/Customer.php
vendored
@ -36,6 +36,7 @@ namespace Stripe;
|
||||
* @property null|\Stripe\StripeObject $shipping Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
|
||||
* @property \Stripe\Collection $sources The customer's payment sources, if any.
|
||||
* @property \Stripe\Collection $subscriptions The customer's current subscriptions, if any.
|
||||
* @property \Stripe\StripeObject $tax
|
||||
* @property null|string $tax_exempt Describes the customer's tax exemption status. One of <code>none</code>, <code>exempt</code>, or <code>reverse</code>. When set to <code>reverse</code>, invoice and receipt PDFs include the text <strong>"Reverse charge"</strong>.
|
||||
* @property \Stripe\Collection $tax_ids The customer's tax IDs.
|
||||
*/
|
||||
|
6
vendor/stripe/stripe-php/lib/ErrorObject.php
vendored
6
vendor/stripe/stripe-php/lib/ErrorObject.php
vendored
@ -30,10 +30,8 @@ namespace Stripe;
|
||||
* returned on a request involving a SetupIntent.
|
||||
* @property StripeObject $source The source object for errors returned on a
|
||||
* request involving a source.
|
||||
* @property string $type The type of error returned. One of
|
||||
* `api_connection_error`, `api_error`, `authentication_error`,
|
||||
* `card_error`, `idempotency_error`, `invalid_request_error`, or
|
||||
* `rate_limit_error`.
|
||||
* @property string $type The type of error returned. One of `api_error`,
|
||||
* `card_error`, `idempotency_error`, or `invalid_request_error`.
|
||||
*/
|
||||
class ErrorObject extends StripeObject
|
||||
{
|
||||
|
8
vendor/stripe/stripe-php/lib/Event.php
vendored
8
vendor/stripe/stripe-php/lib/Event.php
vendored
@ -72,6 +72,8 @@ class Event extends ApiResource
|
||||
const APPLICATION_FEE_REFUNDED = 'application_fee.refunded';
|
||||
const APPLICATION_FEE_REFUND_UPDATED = 'application_fee.refund.updated';
|
||||
const BALANCE_AVAILABLE = 'balance.available';
|
||||
const BILLING_PORTAL_CONFIGURATION_CREATED = 'billing_portal.configuration.created';
|
||||
const BILLING_PORTAL_CONFIGURATION_UPDATED = 'billing_portal.configuration.updated';
|
||||
const CAPABILITY_UPDATED = 'capability.updated';
|
||||
const CHARGE_CAPTURED = 'charge.captured';
|
||||
const CHARGE_EXPIRED = 'charge.expired';
|
||||
@ -115,6 +117,12 @@ class Event extends ApiResource
|
||||
const CUSTOMER_TAX_ID_DELETED = 'customer.tax_id.deleted';
|
||||
const CUSTOMER_TAX_ID_UPDATED = 'customer.tax_id.updated';
|
||||
const FILE_CREATED = 'file.created';
|
||||
const IDENTITY_VERIFICATION_SESSION_CANCELED = 'identity.verification_session.canceled';
|
||||
const IDENTITY_VERIFICATION_SESSION_CREATED = 'identity.verification_session.created';
|
||||
const IDENTITY_VERIFICATION_SESSION_PROCESSING = 'identity.verification_session.processing';
|
||||
const IDENTITY_VERIFICATION_SESSION_REDACTED = 'identity.verification_session.redacted';
|
||||
const IDENTITY_VERIFICATION_SESSION_REQUIRES_INPUT = 'identity.verification_session.requires_input';
|
||||
const IDENTITY_VERIFICATION_SESSION_VERIFIED = 'identity.verification_session.verified';
|
||||
const INVOICE_CREATED = 'invoice.created';
|
||||
const INVOICE_DELETED = 'invoice.deleted';
|
||||
const INVOICE_FINALIZATION_FAILED = 'invoice.finalization_failed';
|
||||
|
5
vendor/stripe/stripe-php/lib/File.php
vendored
5
vendor/stripe/stripe-php/lib/File.php
vendored
@ -40,8 +40,13 @@ class File extends ApiResource
|
||||
const PURPOSE_BUSINESS_LOGO = 'business_logo';
|
||||
const PURPOSE_CUSTOMER_SIGNATURE = 'customer_signature';
|
||||
const PURPOSE_DISPUTE_EVIDENCE = 'dispute_evidence';
|
||||
const PURPOSE_DOCUMENT_PROVIDER_IDENTITY_DOCUMENT = 'document_provider_identity_document';
|
||||
const PURPOSE_FINANCE_REPORT_RUN = 'finance_report_run';
|
||||
const PURPOSE_IDENTITY_DOCUMENT = 'identity_document';
|
||||
const PURPOSE_IDENTITY_DOCUMENT_DOWNLOADABLE = 'identity_document_downloadable';
|
||||
const PURPOSE_PCI_DOCUMENT = 'pci_document';
|
||||
const PURPOSE_SELFIE = 'selfie';
|
||||
const PURPOSE_SIGMA_SCHEDULED_QUERY = 'sigma_scheduled_query';
|
||||
const PURPOSE_TAX_DOCUMENT_USER_UPLOAD = 'tax_document_user_upload';
|
||||
|
||||
// This resource can have two different object names. In latter API
|
||||
|
@ -24,7 +24,7 @@ if (!\defined('CURL_HTTP_VERSION_2TLS')) {
|
||||
\define('CURL_HTTP_VERSION_2TLS', 4);
|
||||
}
|
||||
|
||||
class CurlClient implements ClientInterface
|
||||
class CurlClient implements ClientInterface, StreamingClientInterface
|
||||
{
|
||||
protected static $instance;
|
||||
|
||||
@ -193,7 +193,7 @@ class CurlClient implements ClientInterface
|
||||
|
||||
// END OF USER DEFINED TIMEOUTS
|
||||
|
||||
public function request($method, $absUrl, $headers, $params, $hasFile)
|
||||
private function constructRequest($method, $absUrl, $headers, $params, $hasFile)
|
||||
{
|
||||
$method = \strtolower($method);
|
||||
|
||||
@ -275,16 +275,206 @@ class CurlClient implements ClientInterface
|
||||
// potential issues (cf. https://github.com/stripe/stripe-php/issues/1045).
|
||||
$opts[\CURLOPT_IPRESOLVE] = \CURL_IPRESOLVE_V4;
|
||||
|
||||
return [$opts, $absUrl];
|
||||
}
|
||||
|
||||
public function request($method, $absUrl, $headers, $params, $hasFile)
|
||||
{
|
||||
list($opts, $absUrl) = $this->constructRequest($method, $absUrl, $headers, $params, $hasFile);
|
||||
|
||||
list($rbody, $rcode, $rheaders) = $this->executeRequestWithRetries($opts, $absUrl);
|
||||
|
||||
return [$rbody, $rcode, $rheaders];
|
||||
}
|
||||
|
||||
public function requestStream($method, $absUrl, $headers, $params, $hasFile, $readBodyChunk)
|
||||
{
|
||||
list($opts, $absUrl) = $this->constructRequest($method, $absUrl, $headers, $params, $hasFile);
|
||||
|
||||
$opts[\CURLOPT_RETURNTRANSFER] = false;
|
||||
list($rbody, $rcode, $rheaders) = $this->executeStreamingRequestWithRetries($opts, $absUrl, $readBodyChunk);
|
||||
|
||||
return [$rbody, $rcode, $rheaders];
|
||||
}
|
||||
|
||||
/**
|
||||
* Curl permits sending \CURLOPT_HEADERFUNCTION, which is called with lines
|
||||
* from the header and \CURLOPT_WRITEFUNCTION, which is called with bytes
|
||||
* from the body. You usually want to handle the body differently depending
|
||||
* on what was in the header.
|
||||
*
|
||||
* This function makes it easier to specify different callbacks depending
|
||||
* on the contents of the heeder. After the header has been completely read
|
||||
* and the body begins to stream, it will call $determineWriteCallback with
|
||||
* the array of headers. $determineWriteCallback should, based on the
|
||||
* headers it receives, return a "writeCallback" that describes what to do
|
||||
* with the incoming HTTP response body.
|
||||
*
|
||||
* @param array $opts
|
||||
* @param callable $determineWriteCallback
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function useHeadersToDetermineWriteCallback($opts, $determineWriteCallback)
|
||||
{
|
||||
$rheaders = new Util\CaseInsensitiveArray();
|
||||
$headerCallback = function ($curl, $header_line) use (&$rheaders) {
|
||||
return self::parseLineIntoHeaderArray($header_line, $rheaders);
|
||||
};
|
||||
|
||||
$writeCallback = null;
|
||||
$writeCallbackWrapper = function ($curl, $data) use (&$writeCallback, &$rheaders, &$determineWriteCallback) {
|
||||
if (null === $writeCallback) {
|
||||
$writeCallback = \call_user_func_array($determineWriteCallback, [$rheaders]);
|
||||
}
|
||||
|
||||
return \call_user_func_array($writeCallback, [$curl, $data]);
|
||||
};
|
||||
|
||||
return [$headerCallback, $writeCallbackWrapper];
|
||||
}
|
||||
|
||||
private static function parseLineIntoHeaderArray($line, &$headers)
|
||||
{
|
||||
if (false === \strpos($line, ':')) {
|
||||
return \strlen($line);
|
||||
}
|
||||
list($key, $value) = \explode(':', \trim($line), 2);
|
||||
$headers[\trim($key)] = \trim($value);
|
||||
|
||||
return \strlen($line);
|
||||
}
|
||||
|
||||
/**
|
||||
* Like `executeRequestWithRetries` except:
|
||||
* 1. Does not buffer the body of a successful (status code < 300)
|
||||
* response into memory -- instead, calls the caller-provided
|
||||
* $readBodyChunk with each chunk of incoming data.
|
||||
* 2. Does not retry if a network error occurs while streaming the
|
||||
* body of a successful response.
|
||||
*
|
||||
* @param array $opts cURL options
|
||||
* @param string $absUrl
|
||||
* @param callable $readBodyChunk
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function executeStreamingRequestWithRetries($opts, $absUrl, $readBodyChunk)
|
||||
{
|
||||
/** @var bool */
|
||||
$shouldRetry = false;
|
||||
/** @var int */
|
||||
$numRetries = 0;
|
||||
|
||||
// Will contain the bytes of the body of the last request
|
||||
// if it was not successful and should not be retries
|
||||
/** @var null|string */
|
||||
$rbody = null;
|
||||
|
||||
// Status code of the last request
|
||||
/** @var null|bool */
|
||||
$rcode = null;
|
||||
|
||||
// Array of headers from the last request
|
||||
/** @var null|array */
|
||||
$lastRHeaders = null;
|
||||
|
||||
$errno = null;
|
||||
$message = null;
|
||||
|
||||
$determineWriteCallback = function ($rheaders) use (
|
||||
&$readBodyChunk,
|
||||
&$shouldRetry,
|
||||
&$rbody,
|
||||
&$numRetries,
|
||||
&$rcode,
|
||||
&$lastRHeaders,
|
||||
&$errno
|
||||
) {
|
||||
$lastRHeaders = $rheaders;
|
||||
$errno = \curl_errno($this->curlHandle);
|
||||
|
||||
$rcode = \curl_getinfo($this->curlHandle, \CURLINFO_HTTP_CODE);
|
||||
|
||||
// Send the bytes from the body of a successful request to the caller-provided $readBodyChunk.
|
||||
if ($rcode < 300) {
|
||||
$rbody = null;
|
||||
|
||||
return function ($curl, $data) use (&$readBodyChunk) {
|
||||
// Don't expose the $curl handle to the user, and don't require them to
|
||||
// return the length of $data.
|
||||
\call_user_func_array($readBodyChunk, [$data]);
|
||||
|
||||
return \strlen($data);
|
||||
};
|
||||
}
|
||||
|
||||
$shouldRetry = $this->shouldRetry($errno, $rcode, $rheaders, $numRetries);
|
||||
|
||||
// Discard the body from an unsuccessful request that should be retried.
|
||||
if ($shouldRetry) {
|
||||
return function ($curl, $data) {
|
||||
return \strlen($data);
|
||||
};
|
||||
} else {
|
||||
// Otherwise, buffer the body into $rbody. It will need to be parsed to determine
|
||||
// which exception to throw to the user.
|
||||
$rbody = '';
|
||||
|
||||
return function ($curl, $data) use (&$rbody) {
|
||||
$rbody .= $data;
|
||||
|
||||
return \strlen($data);
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
while (true) {
|
||||
list($headerCallback, $writeCallback) = $this->useHeadersToDetermineWriteCallback($opts, $determineWriteCallback);
|
||||
$opts[\CURLOPT_HEADERFUNCTION] = $headerCallback;
|
||||
$opts[\CURLOPT_WRITEFUNCTION] = $writeCallback;
|
||||
|
||||
$shouldRetry = false;
|
||||
$rbody = null;
|
||||
$this->resetCurlHandle();
|
||||
\curl_setopt_array($this->curlHandle, $opts);
|
||||
$result = \curl_exec($this->curlHandle);
|
||||
$errno = \curl_errno($this->curlHandle);
|
||||
if (0 !== $errno) {
|
||||
$message = \curl_error($this->curlHandle);
|
||||
}
|
||||
if (!$this->getEnablePersistentConnections()) {
|
||||
$this->closeCurlHandle();
|
||||
}
|
||||
|
||||
if (\is_callable($this->getRequestStatusCallback())) {
|
||||
\call_user_func_array(
|
||||
$this->getRequestStatusCallback(),
|
||||
[$rbody, $rcode, $lastRHeaders, $errno, $message, $shouldRetry, $numRetries]
|
||||
);
|
||||
}
|
||||
|
||||
if ($shouldRetry) {
|
||||
++$numRetries;
|
||||
$sleepSeconds = $this->sleepTime($numRetries, $lastRHeaders);
|
||||
\usleep((int) ($sleepSeconds * 1000000));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (0 !== $errno) {
|
||||
$this->handleCurlError($absUrl, $errno, $message, $numRetries);
|
||||
}
|
||||
|
||||
return [$rbody, $rcode, $lastRHeaders];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $opts cURL options
|
||||
* @param string $absUrl
|
||||
*/
|
||||
private function executeRequestWithRetries($opts, $absUrl)
|
||||
public function executeRequestWithRetries($opts, $absUrl)
|
||||
{
|
||||
$numRetries = 0;
|
||||
|
||||
@ -296,14 +486,7 @@ class CurlClient implements ClientInterface
|
||||
// Create a callback to capture HTTP headers for the response
|
||||
$rheaders = new Util\CaseInsensitiveArray();
|
||||
$headerCallback = function ($curl, $header_line) use (&$rheaders) {
|
||||
// Ignore the HTTP request line (HTTP/1.1 200 OK)
|
||||
if (false === \strpos($header_line, ':')) {
|
||||
return \strlen($header_line);
|
||||
}
|
||||
list($key, $value) = \explode(':', \trim($header_line), 2);
|
||||
$rheaders[\trim($key)] = \trim($value);
|
||||
|
||||
return \strlen($header_line);
|
||||
return CurlClient::parseLineIntoHeaderArray($header_line, $rheaders);
|
||||
};
|
||||
$opts[\CURLOPT_HEADERFUNCTION] = $headerCallback;
|
||||
|
||||
|
23
vendor/stripe/stripe-php/lib/HttpClient/StreamingClientInterface.php
vendored
Normal file
23
vendor/stripe/stripe-php/lib/HttpClient/StreamingClientInterface.php
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Stripe\HttpClient;
|
||||
|
||||
interface StreamingClientInterface
|
||||
{
|
||||
/**
|
||||
* @param string $method The HTTP method being used
|
||||
* @param string $absUrl The URL being requested, including domain and protocol
|
||||
* @param array $headers Headers to be used in the request (full strings, not KV pairs)
|
||||
* @param array $params KV pairs for parameters. Can be nested for arrays and hashes
|
||||
* @param bool $hasFile Whether or not $params references a file (via an @ prefix or
|
||||
* CURLFile)
|
||||
* @param callable $readBodyChunkCallable a function that will be called with chunks of bytes from the body if the request is successful
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiConnectionException
|
||||
* @throws \Stripe\Exception\UnexpectedValueException
|
||||
*
|
||||
* @return array an array whose first element is raw request body, second
|
||||
* element is HTTP status code and third array of HTTP headers
|
||||
*/
|
||||
public function requestStream($method, $absUrl, $headers, $params, $hasFile, $readBodyChunkCallable);
|
||||
}
|
45
vendor/stripe/stripe-php/lib/Identity/VerificationReport.php
vendored
Normal file
45
vendor/stripe/stripe-php/lib/Identity/VerificationReport.php
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe\Identity;
|
||||
|
||||
/**
|
||||
* A VerificationReport is the result of an attempt to collect and verify data from
|
||||
* a user. The collection of verification checks performed is determined from the
|
||||
* <code>type</code> and <code>options</code> parameters used. You can find the
|
||||
* result of each verification check performed in the appropriate sub-resource:
|
||||
* <code>document</code>, <code>id_number</code>, <code>selfie</code>.
|
||||
*
|
||||
* Each VerificationReport contains a copy of any data collected by the user as
|
||||
* well as reference IDs which can be used to access collected images through the
|
||||
* <a href="https://stripe.com/docs/api/files">FileUpload</a> API. To configure and
|
||||
* create VerificationReports, use the <a
|
||||
* href="https://stripe.com/docs/api/identity/verification_sessions">VerificationSession</a>
|
||||
* API.
|
||||
*
|
||||
* Related guides: <a
|
||||
* href="https://stripe.com/docs/identity/verification-sessions#results">Accessing
|
||||
* verification results</a>.
|
||||
*
|
||||
* @property string $id Unique identifier for the object.
|
||||
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property \Stripe\StripeObject $document Result from a document check
|
||||
* @property \Stripe\StripeObject $id_number Result from an id_number check
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property \Stripe\StripeObject $options
|
||||
* @property \Stripe\StripeObject $selfie Result from a selfie check
|
||||
* @property string $type Type of report.
|
||||
* @property null|string $verification_session ID of the VerificationSession that created this report.
|
||||
*/
|
||||
class VerificationReport extends \Stripe\ApiResource
|
||||
{
|
||||
const OBJECT_NAME = 'identity.verification_report';
|
||||
|
||||
use \Stripe\ApiOperations\All;
|
||||
use \Stripe\ApiOperations\Retrieve;
|
||||
|
||||
const TYPE_DOCUMENT = 'document';
|
||||
const TYPE_ID_NUMBER = 'id_number';
|
||||
}
|
88
vendor/stripe/stripe-php/lib/Identity/VerificationSession.php
vendored
Normal file
88
vendor/stripe/stripe-php/lib/Identity/VerificationSession.php
vendored
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe\Identity;
|
||||
|
||||
/**
|
||||
* A VerificationSession guides you through the process of collecting and verifying
|
||||
* the identities of your users. It contains details about the type of
|
||||
* verification, such as what <a
|
||||
* href="/docs/identity/verification-checks">verification check</a> to perform.
|
||||
* Only create one VerificationSession for each verification in your system.
|
||||
*
|
||||
* A VerificationSession transitions through <a
|
||||
* href="/docs/identity/how-sessions-work">multiple statuses</a> throughout its
|
||||
* lifetime as it progresses through the verification flow. The VerificationSession
|
||||
* contains the user’s verified data after verification checks are complete.
|
||||
*
|
||||
* Related guide: <a
|
||||
* href="https://stripe.com/docs/identity/verification-sessions">The Verification
|
||||
* Sessions API</a>
|
||||
*
|
||||
* @property string $id Unique identifier for the object.
|
||||
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
||||
* @property null|string $client_secret The short-lived client secret used by Stripe.js to <a href="https://stripe.com/docs/js/identity/modal">show a verification modal</a> inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on <a href="https://stripe.com/docs/identity/verification-sessions#client-secret">passing the client secret to the frontend</a> to learn more.
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property null|\Stripe\StripeObject $last_error If present, this property tells you the last error encountered when processing the verification.
|
||||
* @property null|string|\Stripe\Identity\VerificationReport $last_verification_report ID of the most recent VerificationReport. <a href="https://stripe.com/docs/identity/verification-sessions#results">Learn more about accessing detailed verification results.</a>
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
||||
* @property \Stripe\StripeObject $options
|
||||
* @property null|\Stripe\StripeObject $redaction Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null.
|
||||
* @property string $status Status of this VerificationSession. <a href="https://stripe.com/docs/identity/how-sessions-work">Learn more about the lifecycle of sessions</a>.
|
||||
* @property string $type The type of <a href="https://stripe.com/docs/identity/verification-checks">verification check</a> to be performed.
|
||||
* @property null|string $url The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on <a href="https://stripe.com/docs/identity/verify-identity-documents?platform=web&type=redirect">verifying identity documents</a> to learn how to redirect users to Stripe.
|
||||
* @property null|\Stripe\StripeObject $verified_outputs The user’s verified data.
|
||||
*/
|
||||
class VerificationSession extends \Stripe\ApiResource
|
||||
{
|
||||
const OBJECT_NAME = 'identity.verification_session';
|
||||
|
||||
use \Stripe\ApiOperations\All;
|
||||
use \Stripe\ApiOperations\Create;
|
||||
use \Stripe\ApiOperations\Retrieve;
|
||||
use \Stripe\ApiOperations\Update;
|
||||
|
||||
const STATUS_CANCELED = 'canceled';
|
||||
const STATUS_PROCESSING = 'processing';
|
||||
const STATUS_REQUIRES_INPUT = 'requires_input';
|
||||
const STATUS_VERIFIED = 'verified';
|
||||
|
||||
const TYPE_DOCUMENT = 'document';
|
||||
const TYPE_ID_NUMBER = 'id_number';
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\VerificationSession the canceled verification session
|
||||
*/
|
||||
public function cancel($params = null, $opts = null)
|
||||
{
|
||||
$url = $this->instanceUrl() . '/cancel';
|
||||
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
||||
$this->refreshFrom($response, $opts);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\VerificationSession the redacted verification session
|
||||
*/
|
||||
public function redact($params = null, $opts = null)
|
||||
{
|
||||
$url = $this->instanceUrl() . '/redact';
|
||||
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
||||
$this->refreshFrom($response, $opts);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
53
vendor/stripe/stripe-php/lib/Invoice.php
vendored
53
vendor/stripe/stripe-php/lib/Invoice.php
vendored
@ -23,7 +23,7 @@ namespace Stripe;
|
||||
* to finalize the invoice.
|
||||
*
|
||||
* If your invoice is configured to be billed by sending an email, then based on
|
||||
* your <a href="https://dashboard.stripe.com/account/billing/automatic'">email
|
||||
* your <a href="https://dashboard.stripe.com/account/billing/automatic">email
|
||||
* settings</a>, Stripe will email the invoice to your customer and await payment.
|
||||
* These emails can contain a link to a hosted page to pay the invoice.
|
||||
*
|
||||
@ -53,9 +53,10 @@ namespace Stripe;
|
||||
* @property int $attempt_count Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.
|
||||
* @property bool $attempted Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the <code>invoice.created</code> webhook, for example, so you might not want to display that invoice as unpaid to your users.
|
||||
* @property bool $auto_advance Controls whether Stripe will perform <a href="https://stripe.com/docs/billing/invoices/workflow/#auto_advance">automatic collection</a> of the invoice. When <code>false</code>, the invoice's state will not automatically advance without an explicit action.
|
||||
* @property \Stripe\StripeObject $automatic_tax
|
||||
* @property null|string $billing_reason Indicates the reason why the invoice was created. <code>subscription_cycle</code> indicates an invoice created by a subscription advancing into a new period. <code>subscription_create</code> indicates an invoice created due to creating a subscription. <code>subscription_update</code> indicates an invoice created due to updating a subscription. <code>subscription</code> is set for all old invoices to indicate either a change to a subscription or a period advancement. <code>manual</code> is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The <code>upcoming</code> value is reserved for simulated invoices per the upcoming invoice endpoint. <code>subscription_threshold</code> indicates an invoice created due to a billing threshold being reached.
|
||||
* @property null|string|\Stripe\Charge $charge ID of the latest charge generated for this invoice, if any.
|
||||
* @property null|string $collection_method Either <code>charge_automatically</code>, or <code>send_invoice</code>. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.
|
||||
* @property string $collection_method Either <code>charge_automatically</code>, or <code>send_invoice</code>. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
||||
* @property null|\Stripe\StripeObject[] $custom_fields Custom fields displayed on the invoice.
|
||||
@ -92,6 +93,7 @@ namespace Stripe;
|
||||
* @property int $period_start Start of the usage period during which invoice items were added to this invoice.
|
||||
* @property int $post_payment_credit_notes_amount Total amount of all post-payment credit notes issued for this invoice.
|
||||
* @property int $pre_payment_credit_notes_amount Total amount of all pre-payment credit notes issued for this invoice.
|
||||
* @property null|string|\Stripe\Quote $quote The quote this invoice was generated from.
|
||||
* @property null|string $receipt_number This is the transaction number that appears on email receipts sent for this invoice.
|
||||
* @property int $starting_balance Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance.
|
||||
* @property null|string $statement_descriptor Extra information about an invoice for the customer's credit card statement.
|
||||
@ -121,6 +123,7 @@ class Invoice extends ApiResource
|
||||
const BILLING_SEND_INVOICE = 'send_invoice';
|
||||
|
||||
const BILLING_REASON_MANUAL = 'manual';
|
||||
const BILLING_REASON_QUOTE_ACCEPT = 'quote_accept';
|
||||
const BILLING_REASON_SUBSCRIPTION = 'subscription';
|
||||
const BILLING_REASON_SUBSCRIPTION_CREATE = 'subscription_create';
|
||||
const BILLING_REASON_SUBSCRIPTION_CYCLE = 'subscription_cycle';
|
||||
@ -142,24 +145,6 @@ class Invoice extends ApiResource
|
||||
|
||||
const PATH_LINES = '/lines';
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Invoice the upcoming invoice
|
||||
*/
|
||||
public static function upcoming($params = null, $opts = null)
|
||||
{
|
||||
$url = static::classUrl() . '/upcoming';
|
||||
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
||||
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj->setLastResponse($response);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $id the ID of the invoice on which to retrieve the lines
|
||||
* @param null|array $params
|
||||
@ -180,7 +165,7 @@ class Invoice extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Invoice the finalized invoice
|
||||
* @return \Stripe\Invoice the finalized invoice
|
||||
*/
|
||||
public function finalizeInvoice($params = null, $opts = null)
|
||||
{
|
||||
@ -197,7 +182,7 @@ class Invoice extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Invoice the uncollectible invoice
|
||||
* @return \Stripe\Invoice the uncollectible invoice
|
||||
*/
|
||||
public function markUncollectible($params = null, $opts = null)
|
||||
{
|
||||
@ -214,7 +199,7 @@ class Invoice extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Invoice the paid invoice
|
||||
* @return \Stripe\Invoice the paid invoice
|
||||
*/
|
||||
public function pay($params = null, $opts = null)
|
||||
{
|
||||
@ -231,7 +216,7 @@ class Invoice extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Invoice the sent invoice
|
||||
* @return \Stripe\Invoice the sent invoice
|
||||
*/
|
||||
public function sendInvoice($params = null, $opts = null)
|
||||
{
|
||||
@ -248,7 +233,25 @@ class Invoice extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Invoice the voided invoice
|
||||
* @return \Stripe\Invoice the upcoming invoice
|
||||
*/
|
||||
public static function upcoming($params = null, $opts = null)
|
||||
{
|
||||
$url = static::classUrl() . '/upcoming';
|
||||
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
||||
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj->setLastResponse($response);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Invoice the voided invoice
|
||||
*/
|
||||
public function voidInvoice($params = null, $opts = null)
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ namespace Stripe\Issuing;
|
||||
* @property string $status The current status of the authorization in its lifecycle.
|
||||
* @property \Stripe\Issuing\Transaction[] $transactions List of <a href="https://stripe.com/docs/api/issuing/transactions">transactions</a> associated with this authorization.
|
||||
* @property \Stripe\StripeObject $verification_data
|
||||
* @property null|string $wallet What, if any, digital wallet was used for this authorization. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
|
||||
* @property null|string $wallet The digital wallet used for this authorization. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
|
||||
*/
|
||||
class Authorization extends \Stripe\ApiResource
|
||||
{
|
||||
@ -51,7 +51,7 @@ class Authorization extends \Stripe\ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Authorization the approved authorization
|
||||
* @return \Stripe\Authorization the approved authorization
|
||||
*/
|
||||
public function approve($params = null, $opts = null)
|
||||
{
|
||||
@ -68,7 +68,7 @@ class Authorization extends \Stripe\ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Authorization the declined authorization
|
||||
* @return \Stripe\Authorization the declined authorization
|
||||
*/
|
||||
public function decline($params = null, $opts = null)
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ namespace Stripe\Issuing;
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
||||
* @property string $name The cardholder's name. This will be printed on cards issued to them.
|
||||
* @property null|string $phone_number The cardholder's phone number.
|
||||
* @property null|string $phone_number The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the <a href="https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied">3D Secure documentation</a> for more details.
|
||||
* @property \Stripe\StripeObject $requirements
|
||||
* @property null|\Stripe\StripeObject $spending_controls Rules that control spending across this cardholder's cards. Refer to our <a href="https://stripe.com/docs/issuing/controls/spending-controls">documentation</a> for more details.
|
||||
* @property string $status Specifies whether to permit authorizations on this cardholder's cards.
|
||||
|
@ -40,7 +40,7 @@ class Dispute extends \Stripe\ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Dispute the submited dispute
|
||||
* @return \Stripe\Dispute the submited dispute
|
||||
*/
|
||||
public function submit($params = null, $opts = null)
|
||||
{
|
||||
|
@ -32,6 +32,7 @@ namespace Stripe\Issuing;
|
||||
* @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
||||
* @property null|\Stripe\StripeObject $purchase_details Additional purchase information that is optionally provided by the merchant.
|
||||
* @property string $type The nature of the transaction.
|
||||
* @property null|string $wallet The digital wallet used for this transaction. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
|
||||
*/
|
||||
class Transaction extends \Stripe\ApiResource
|
||||
{
|
||||
|
2
vendor/stripe/stripe-php/lib/Order.php
vendored
2
vendor/stripe/stripe-php/lib/Order.php
vendored
@ -68,7 +68,7 @@ class Order extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Order the paid order
|
||||
* @return \Stripe\Order the paid order
|
||||
*/
|
||||
public function pay($params = null, $opts = null)
|
||||
{
|
||||
|
@ -78,7 +78,7 @@ class PaymentIntent extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return PaymentIntent the canceled payment intent
|
||||
* @return \Stripe\PaymentIntent the canceled payment intent
|
||||
*/
|
||||
public function cancel($params = null, $opts = null)
|
||||
{
|
||||
@ -95,7 +95,7 @@ class PaymentIntent extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return PaymentIntent the captured payment intent
|
||||
* @return \Stripe\PaymentIntent the captured payment intent
|
||||
*/
|
||||
public function capture($params = null, $opts = null)
|
||||
{
|
||||
@ -112,7 +112,7 @@ class PaymentIntent extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return PaymentIntent the confirmed payment intent
|
||||
* @return \Stripe\PaymentIntent the confirmed payment intent
|
||||
*/
|
||||
public function confirm($params = null, $opts = null)
|
||||
{
|
||||
|
@ -25,6 +25,7 @@ namespace Stripe;
|
||||
* @property \Stripe\StripeObject $bacs_debit
|
||||
* @property \Stripe\StripeObject $bancontact
|
||||
* @property \Stripe\StripeObject $billing_details
|
||||
* @property \Stripe\StripeObject $boleto
|
||||
* @property \Stripe\StripeObject $card
|
||||
* @property \Stripe\StripeObject $card_present
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
@ -42,6 +43,7 @@ namespace Stripe;
|
||||
* @property \Stripe\StripeObject $sepa_debit
|
||||
* @property \Stripe\StripeObject $sofort
|
||||
* @property string $type The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
|
||||
* @property \Stripe\StripeObject $wechat_pay
|
||||
*/
|
||||
class PaymentMethod extends ApiResource
|
||||
{
|
||||
@ -58,7 +60,7 @@ class PaymentMethod extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return PaymentMethod the attached payment method
|
||||
* @return \Stripe\PaymentMethod the attached payment method
|
||||
*/
|
||||
public function attach($params = null, $opts = null)
|
||||
{
|
||||
@ -75,7 +77,7 @@ class PaymentMethod extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return PaymentMethod the detached payment method
|
||||
* @return \Stripe\PaymentMethod the detached payment method
|
||||
*/
|
||||
public function detach($params = null, $opts = null)
|
||||
{
|
||||
|
4
vendor/stripe/stripe-php/lib/Payout.php
vendored
4
vendor/stripe/stripe-php/lib/Payout.php
vendored
@ -78,7 +78,7 @@ class Payout extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Payout the canceled payout
|
||||
* @return \Stripe\Payout the canceled payout
|
||||
*/
|
||||
public function cancel($params = null, $opts = null)
|
||||
{
|
||||
@ -95,7 +95,7 @@ class Payout extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Payout the reversed payout
|
||||
* @return \Stripe\Payout the reversed payout
|
||||
*/
|
||||
public function reverse($params = null, $opts = null)
|
||||
{
|
||||
|
5
vendor/stripe/stripe-php/lib/Price.php
vendored
5
vendor/stripe/stripe-php/lib/Price.php
vendored
@ -35,6 +35,7 @@ namespace Stripe;
|
||||
* @property null|string $nickname A brief description of the price, hidden from customers.
|
||||
* @property string|\Stripe\Product $product The ID of the product this price is associated with.
|
||||
* @property null|\Stripe\StripeObject $recurring The recurring components of a price such as <code>interval</code> and <code>usage_type</code>.
|
||||
* @property null|string $tax_behavior Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of <code>inclusive</code>, <code>exclusive</code>, or <code>unspecified</code>. Once specified as either <code>inclusive</code> or <code>exclusive</code>, it cannot be changed.
|
||||
* @property \Stripe\StripeObject[] $tiers Each element represents a pricing tier. This parameter requires <code>billing_scheme</code> to be set to <code>tiered</code>. See also the documentation for <code>billing_scheme</code>.
|
||||
* @property null|string $tiers_mode Defines if the tiering price should be <code>graduated</code> or <code>volume</code> based. In <code>volume</code>-based tiering, the maximum quantity within a period determines the per unit price. In <code>graduated</code> tiering, pricing can change as the quantity grows.
|
||||
* @property null|\Stripe\StripeObject $transform_quantity Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with <code>tiers</code>.
|
||||
@ -54,6 +55,10 @@ class Price extends ApiResource
|
||||
const BILLING_SCHEME_PER_UNIT = 'per_unit';
|
||||
const BILLING_SCHEME_TIERED = 'tiered';
|
||||
|
||||
const TAX_BEHAVIOR_EXCLUSIVE = 'exclusive';
|
||||
const TAX_BEHAVIOR_INCLUSIVE = 'inclusive';
|
||||
const TAX_BEHAVIOR_UNSPECIFIED = 'unspecified';
|
||||
|
||||
const TIERS_MODE_GRADUATED = 'graduated';
|
||||
const TIERS_MODE_VOLUME = 'volume';
|
||||
|
||||
|
1
vendor/stripe/stripe-php/lib/Product.php
vendored
1
vendor/stripe/stripe-php/lib/Product.php
vendored
@ -33,6 +33,7 @@ namespace Stripe;
|
||||
* @property null|\Stripe\StripeObject $package_dimensions The dimensions of this product for shipping purposes.
|
||||
* @property null|bool $shippable Whether this product is shipped (i.e., physical goods).
|
||||
* @property null|string $statement_descriptor Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used.
|
||||
* @property null|string|\Stripe\TaxCode $tax_code A <a href="https://stripe.com/docs/tax/tax-codes">tax code</a> ID.
|
||||
* @property string $type The type of the product. The product is either of type <code>good</code>, which is eligible for use with Orders and SKUs, or <code>service</code>, which is eligible for use with Subscriptions and Plans.
|
||||
* @property null|string $unit_label A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions.
|
||||
* @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch.
|
||||
|
171
vendor/stripe/stripe-php/lib/Quote.php
vendored
Normal file
171
vendor/stripe/stripe-php/lib/Quote.php
vendored
Normal file
@ -0,0 +1,171 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe;
|
||||
|
||||
/**
|
||||
* A Quote is a way to model prices that you'd like to provide to a customer. Once
|
||||
* accepted, it will automatically create an invoice, subscription or subscription
|
||||
* schedule.
|
||||
*
|
||||
* @property string $id Unique identifier for the object.
|
||||
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
||||
* @property int $amount_subtotal Total before any discounts or taxes are applied.
|
||||
* @property int $amount_total Total after discounts and taxes are applied.
|
||||
* @property null|int $application_fee_amount The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote.
|
||||
* @property null|float $application_fee_percent A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote.
|
||||
* @property \Stripe\StripeObject $automatic_tax
|
||||
* @property string $collection_method Either <code>charge_automatically</code>, or <code>send_invoice</code>. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to <code>charge_automatically</code>.
|
||||
* @property \Stripe\StripeObject $computed
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property null|string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
|
||||
* @property null|string|\Stripe\Customer $customer The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed.
|
||||
* @property (string|\Stripe\TaxRate)[] $default_tax_rates The tax rates applied to this quote.
|
||||
* @property null|string $description A description that will be displayed on the quote PDF.
|
||||
* @property (string|\Stripe\Discount)[] $discounts The discounts applied to this quote.
|
||||
* @property int $expires_at The date on which the quote will be canceled if in <code>open</code> or <code>draft</code> status. Measured in seconds since the Unix epoch.
|
||||
* @property null|string $footer A footer that will be displayed on the quote PDF.
|
||||
* @property null|\Stripe\StripeObject $from_quote Details of the quote that was cloned. See the <a href="https://stripe.com/docs/quotes/clone">cloning documentation</a> for more details.
|
||||
* @property null|string $header A header that will be displayed on the quote PDF.
|
||||
* @property null|string|\Stripe\Invoice $invoice The invoice that was created from this quote.
|
||||
* @property null|\Stripe\StripeObject $invoice_settings All invoices will be billed using the specified settings.
|
||||
* @property \Stripe\Collection $line_items A list of items the customer is being quoted for.
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
||||
* @property null|string $number A unique number that identifies this particular quote. This number is assigned once the quote is <a href="https://stripe.com/docs/quotes/overview#finalize">finalized</a>.
|
||||
* @property null|string|\Stripe\Account $on_behalf_of The account on behalf of which to charge. See the <a href="https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts">Connect documentation</a> for details.
|
||||
* @property string $status The status of the quote.
|
||||
* @property \Stripe\StripeObject $status_transitions
|
||||
* @property null|string|\Stripe\Subscription $subscription The subscription that was created or updated from this quote.
|
||||
* @property \Stripe\StripeObject $subscription_data
|
||||
* @property null|string|\Stripe\SubscriptionSchedule $subscription_schedule The subscription schedule that was created or updated from this quote.
|
||||
* @property \Stripe\StripeObject $total_details
|
||||
* @property null|\Stripe\StripeObject $transfer_data The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices.
|
||||
*/
|
||||
class Quote extends ApiResource
|
||||
{
|
||||
const OBJECT_NAME = 'quote';
|
||||
|
||||
use ApiOperations\All;
|
||||
use ApiOperations\Create;
|
||||
use ApiOperations\Retrieve;
|
||||
use ApiOperations\Update;
|
||||
|
||||
const COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 'charge_automatically';
|
||||
const COLLECTION_METHOD_SEND_INVOICE = 'send_invoice';
|
||||
|
||||
const STATUS_ACCEPTED = 'accepted';
|
||||
const STATUS_CANCELED = 'canceled';
|
||||
const STATUS_DRAFT = 'draft';
|
||||
const STATUS_OPEN = 'open';
|
||||
|
||||
/**
|
||||
* @param callable $readBodyChunkCallable
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\File the created file
|
||||
*/
|
||||
public function pdf($readBodyChunkCallable, $params = null, $opts = null)
|
||||
{
|
||||
$opts = \Stripe\Util\RequestOptions::parse($opts);
|
||||
if (null === $opts->apiBase) {
|
||||
$opts->apiBase = Stripe::$apiUploadBase;
|
||||
}
|
||||
|
||||
$url = $this->instanceUrl() . '/pdf';
|
||||
$this->_requestStream('get', $url, $readBodyChunkCallable, $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Quote the accepted quote
|
||||
*/
|
||||
public function accept($params = null, $opts = null)
|
||||
{
|
||||
$url = $this->instanceUrl() . '/accept';
|
||||
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
||||
$this->refreshFrom($response, $opts);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Quote the canceled quote
|
||||
*/
|
||||
public function cancel($params = null, $opts = null)
|
||||
{
|
||||
$url = $this->instanceUrl() . '/cancel';
|
||||
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
||||
$this->refreshFrom($response, $opts);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Quote the finalized quote
|
||||
*/
|
||||
public function finalizeQuote($params = null, $opts = null)
|
||||
{
|
||||
$url = $this->instanceUrl() . '/finalize';
|
||||
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
||||
$this->refreshFrom($response, $opts);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
* @param mixed $id
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Collection list of LineItems
|
||||
*/
|
||||
public static function allComputedUpfrontLineItems($id, $params = null, $opts = null)
|
||||
{
|
||||
$url = static::resourceUrl($id) . '/computed_upfront_line_items';
|
||||
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
||||
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj->setLastResponse($response);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|array $params
|
||||
* @param null|array|string $opts
|
||||
* @param mixed $id
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Collection list of LineItems
|
||||
*/
|
||||
public static function allLineItems($id, $params = null, $opts = null)
|
||||
{
|
||||
$url = static::resourceUrl($id) . '/line_items';
|
||||
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
||||
$obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
|
||||
$obj->setLastResponse($response);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
}
|
@ -19,6 +19,7 @@ namespace Stripe\Radar;
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property string $fraud_type The type of fraud labelled by the issuer. One of <code>card_never_received</code>, <code>fraudulent_card_application</code>, <code>made_with_counterfeit_card</code>, <code>made_with_lost_card</code>, <code>made_with_stolen_card</code>, <code>misc</code>, <code>unauthorized_use_of_card</code>.
|
||||
* @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
|
||||
* @property string|\Stripe\PaymentIntent $payment_intent ID of the Payment Intent this early fraud warning is for, optionally expanded.
|
||||
*/
|
||||
class EarlyFraudWarning extends \Stripe\ApiResource
|
||||
{
|
||||
|
6
vendor/stripe/stripe-php/lib/Review.php
vendored
6
vendor/stripe/stripe-php/lib/Review.php
vendored
@ -15,7 +15,7 @@ namespace Stripe;
|
||||
* @property string $object String representing the object's type. Objects of the same type share the same value.
|
||||
* @property null|string $billing_zip The ZIP or postal code of the card used, if applicable.
|
||||
* @property null|string|\Stripe\Charge $charge The charge associated with this review.
|
||||
* @property null|string $closed_reason The reason the review was closed, or null if it has not yet been closed. One of <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, or <code>disputed</code>.
|
||||
* @property null|string $closed_reason The reason the review was closed, or null if it has not yet been closed. One of <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, <code>disputed</code>, or <code>redacted</code>.
|
||||
* @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
|
||||
* @property null|string $ip_address The IP address where the payment originated.
|
||||
* @property null|\Stripe\StripeObject $ip_address_location Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address.
|
||||
@ -23,7 +23,7 @@ namespace Stripe;
|
||||
* @property bool $open If <code>true</code>, the review needs action.
|
||||
* @property string $opened_reason The reason the review was opened. One of <code>rule</code> or <code>manual</code>.
|
||||
* @property string|\Stripe\PaymentIntent $payment_intent The PaymentIntent ID associated with this review, if one exists.
|
||||
* @property string $reason The reason the review is currently open or closed. One of <code>rule</code>, <code>manual</code>, <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, or <code>disputed</code>.
|
||||
* @property string $reason The reason the review is currently open or closed. One of <code>rule</code>, <code>manual</code>, <code>approved</code>, <code>refunded</code>, <code>refunded_as_fraud</code>, <code>disputed</code>, or <code>redacted</code>.
|
||||
* @property null|\Stripe\StripeObject $session Information related to the browsing session of the user who initiated the payment.
|
||||
*/
|
||||
class Review extends ApiResource
|
||||
@ -53,7 +53,7 @@ class Review extends ApiResource
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return Review the approved review
|
||||
* @return \Stripe\Review the approved review
|
||||
*/
|
||||
public function approve($params = null, $opts = null)
|
||||
{
|
||||
|
@ -12,6 +12,11 @@ abstract class AbstractService
|
||||
*/
|
||||
protected $client;
|
||||
|
||||
/**
|
||||
* @var \Stripe\StripeStreamingClientInterface
|
||||
*/
|
||||
protected $streamingClient;
|
||||
|
||||
/**
|
||||
* Initializes a new instance of the {@link AbstractService} class.
|
||||
*
|
||||
@ -20,6 +25,7 @@ abstract class AbstractService
|
||||
public function __construct($client)
|
||||
{
|
||||
$this->client = $client;
|
||||
$this->streamingClient = $client;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -32,6 +38,16 @@ abstract class AbstractService
|
||||
return $this->client;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the client used by this service to send requests.
|
||||
*
|
||||
* @return \Stripe\StripeStreamingClientInterface
|
||||
*/
|
||||
public function getStreamingClient()
|
||||
{
|
||||
return $this->streamingClient;
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate null values to empty strings. For service methods,
|
||||
* we interpret null as a request to unset the field, which
|
||||
@ -59,6 +75,11 @@ abstract class AbstractService
|
||||
return $this->getClient()->request($method, $path, static::formatParams($params), $opts);
|
||||
}
|
||||
|
||||
protected function requestStream($method, $path, $readBodyChunkCallable, $params, $opts)
|
||||
{
|
||||
return $this->getStreamingClient()->requestStream($method, $path, $readBodyChunkCallable, static::formatParams($params), $opts);
|
||||
}
|
||||
|
||||
protected function requestCollection($method, $path, $params, $opts)
|
||||
{
|
||||
return $this->getClient()->requestCollection($method, $path, static::formatParams($params), $opts);
|
||||
|
@ -146,11 +146,11 @@ class AccountService extends \Stripe\Service\AbstractService
|
||||
}
|
||||
|
||||
/**
|
||||
* With <a href="/docs/connect">Connect</a>, you can delete Custom or Express
|
||||
* accounts you manage.
|
||||
* With <a href="/docs/connect">Connect</a>, you can delete accounts you manage.
|
||||
*
|
||||
* Accounts created using test-mode keys can be deleted at any time. Accounts
|
||||
* created using live-mode keys can only be deleted once all balances are zero.
|
||||
* Accounts created using test-mode keys can be deleted at any time. Custom or
|
||||
* Express accounts created using live-mode keys can only be deleted once all
|
||||
* balances are zero.
|
||||
*
|
||||
* If you want to delete your own account, use the <a
|
||||
* href="https://dashboard.stripe.com/account">account information tab in your
|
||||
@ -278,11 +278,11 @@ class AccountService extends \Stripe\Service\AbstractService
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a connected <a href="/docs/connect/accounts">Express or Custom
|
||||
* account</a> by setting the values of the parameters passed. Any parameters not
|
||||
* provided are left unchanged. Most parameters can be changed only for Custom
|
||||
* accounts. (These are marked <strong>Custom Only</strong> below.) Parameters
|
||||
* marked <strong>Custom and Express</strong> are supported by both account types.
|
||||
* Updates a <a href="/docs/connect/accounts">connected account</a> by setting the
|
||||
* values of the parameters passed. Any parameters not provided are left unchanged.
|
||||
* Most parameters can be changed only for Custom accounts. (These are marked
|
||||
* <strong>Custom Only</strong> below.) Parameters marked <strong>Custom and
|
||||
* Express</strong> are not supported for Standard accounts.
|
||||
*
|
||||
* To update your own account, use the <a
|
||||
* href="https://dashboard.stripe.com/account">Dashboard</a>. Refer to our <a
|
||||
@ -320,10 +320,10 @@ class AccountService extends \Stripe\Service\AbstractService
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the metadata, account holder name, and account holder type of a bank
|
||||
* account belonging to a <a href="/docs/connect/custom-accounts">Custom
|
||||
* account</a>, and optionally sets it as the default for its currency. Other bank
|
||||
* account details are not editable by design.
|
||||
* Updates the metadata, account holder name, account holder type of a bank account
|
||||
* belonging to a <a href="/docs/connect/custom-accounts">Custom account</a>, and
|
||||
* optionally sets it as the default for its currency. Other bank account details
|
||||
* are not editable by design.
|
||||
*
|
||||
* You can re-enable a disabled bank account by performing an update call without
|
||||
* providing any arguments or changes.
|
||||
|
@ -26,6 +26,7 @@ namespace Stripe\Service;
|
||||
* @property ExchangeRateService $exchangeRates
|
||||
* @property FileLinkService $fileLinks
|
||||
* @property FileService $files
|
||||
* @property Identity\IdentityServiceFactory $identity
|
||||
* @property InvoiceItemService $invoiceItems
|
||||
* @property InvoiceService $invoices
|
||||
* @property Issuing\IssuingServiceFactory $issuing
|
||||
@ -40,6 +41,7 @@ namespace Stripe\Service;
|
||||
* @property PriceService $prices
|
||||
* @property ProductService $products
|
||||
* @property PromotionCodeService $promotionCodes
|
||||
* @property QuoteService $quotes
|
||||
* @property Radar\RadarServiceFactory $radar
|
||||
* @property RefundService $refunds
|
||||
* @property Reporting\ReportingServiceFactory $reporting
|
||||
@ -52,6 +54,7 @@ namespace Stripe\Service;
|
||||
* @property SubscriptionItemService $subscriptionItems
|
||||
* @property SubscriptionService $subscriptions
|
||||
* @property SubscriptionScheduleService $subscriptionSchedules
|
||||
* @property TaxCodeService $taxCodes
|
||||
* @property TaxRateService $taxRates
|
||||
* @property Terminal\TerminalServiceFactory $terminal
|
||||
* @property TokenService $tokens
|
||||
@ -84,6 +87,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
|
||||
'exchangeRates' => ExchangeRateService::class,
|
||||
'fileLinks' => FileLinkService::class,
|
||||
'files' => FileService::class,
|
||||
'identity' => Identity\IdentityServiceFactory::class,
|
||||
'invoiceItems' => InvoiceItemService::class,
|
||||
'invoices' => InvoiceService::class,
|
||||
'issuing' => Issuing\IssuingServiceFactory::class,
|
||||
@ -98,6 +102,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
|
||||
'prices' => PriceService::class,
|
||||
'products' => ProductService::class,
|
||||
'promotionCodes' => PromotionCodeService::class,
|
||||
'quotes' => QuoteService::class,
|
||||
'radar' => Radar\RadarServiceFactory::class,
|
||||
'refunds' => RefundService::class,
|
||||
'reporting' => Reporting\ReportingServiceFactory::class,
|
||||
@ -110,6 +115,7 @@ class CoreServiceFactory extends \Stripe\Service\AbstractServiceFactory
|
||||
'subscriptionItems' => SubscriptionItemService::class,
|
||||
'subscriptions' => SubscriptionService::class,
|
||||
'subscriptionSchedules' => SubscriptionScheduleService::class,
|
||||
'taxCodes' => TaxCodeService::class,
|
||||
'taxRates' => TaxRateService::class,
|
||||
'terminal' => Terminal\TerminalServiceFactory::class,
|
||||
'tokens' => TokenService::class,
|
||||
|
@ -98,11 +98,11 @@ class CreditNoteService extends \Stripe\Service\AbstractService
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\CreditNote
|
||||
* @return \Stripe\Collection
|
||||
*/
|
||||
public function previewLines($params = null, $opts = null)
|
||||
{
|
||||
return $this->request('get', '/v1/credit_notes/preview/lines', $params, $opts);
|
||||
return $this->requestCollection('get', '/v1/credit_notes/preview/lines', $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
|
27
vendor/stripe/stripe-php/lib/Service/Identity/IdentityServiceFactory.php
vendored
Normal file
27
vendor/stripe/stripe-php/lib/Service/Identity/IdentityServiceFactory.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe\Service\Identity;
|
||||
|
||||
/**
|
||||
* Service factory class for API resources in the Identity namespace.
|
||||
*
|
||||
* @property VerificationReportService $verificationReports
|
||||
* @property VerificationSessionService $verificationSessions
|
||||
*/
|
||||
class IdentityServiceFactory extends \Stripe\Service\AbstractServiceFactory
|
||||
{
|
||||
/**
|
||||
* @var array<string, string>
|
||||
*/
|
||||
private static $classMap = [
|
||||
'verificationReports' => VerificationReportService::class,
|
||||
'verificationSessions' => VerificationSessionService::class,
|
||||
];
|
||||
|
||||
protected function getServiceClass($name)
|
||||
{
|
||||
return \array_key_exists($name, self::$classMap) ? self::$classMap[$name] : null;
|
||||
}
|
||||
}
|
39
vendor/stripe/stripe-php/lib/Service/Identity/VerificationReportService.php
vendored
Normal file
39
vendor/stripe/stripe-php/lib/Service/Identity/VerificationReportService.php
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe\Service\Identity;
|
||||
|
||||
class VerificationReportService extends \Stripe\Service\AbstractService
|
||||
{
|
||||
/**
|
||||
* List all verification reports.
|
||||
*
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Collection
|
||||
*/
|
||||
public function all($params = null, $opts = null)
|
||||
{
|
||||
return $this->requestCollection('get', '/v1/identity/verification_reports', $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves an existing VerificationReport.
|
||||
*
|
||||
* @param string $id
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationReport
|
||||
*/
|
||||
public function retrieve($id, $params = null, $opts = null)
|
||||
{
|
||||
return $this->request('get', $this->buildPath('/v1/identity/verification_reports/%s', $id), $params, $opts);
|
||||
}
|
||||
}
|
146
vendor/stripe/stripe-php/lib/Service/Identity/VerificationSessionService.php
vendored
Normal file
146
vendor/stripe/stripe-php/lib/Service/Identity/VerificationSessionService.php
vendored
Normal file
@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
// File generated from our OpenAPI spec
|
||||
|
||||
namespace Stripe\Service\Identity;
|
||||
|
||||
class VerificationSessionService extends \Stripe\Service\AbstractService
|
||||
{
|
||||
/**
|
||||
* Returns a list of VerificationSessions.
|
||||
*
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Collection
|
||||
*/
|
||||
public function all($params = null, $opts = null)
|
||||
{
|
||||
return $this->requestCollection('get', '/v1/identity/verification_sessions', $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* A VerificationSession object can be canceled when it is in
|
||||
* <code>requires_input</code> <a
|
||||
* href="/docs/identity/how-sessions-work">status</a>.
|
||||
*
|
||||
* Once canceled, future submission attempts are disabled. This cannot be undone.
|
||||
* <a href="/docs/identity/verification-sessions#cancel">Learn more</a>.
|
||||
*
|
||||
* @param string $id
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationSession
|
||||
*/
|
||||
public function cancel($id, $params = null, $opts = null)
|
||||
{
|
||||
return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s/cancel', $id), $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a VerificationSession object.
|
||||
*
|
||||
* After the VerificationSession is created, display a verification modal using the
|
||||
* session <code>client_secret</code> or send your users to the session’s
|
||||
* <code>url</code>.
|
||||
*
|
||||
* If your API key is in test mode, verification checks won’t actually process,
|
||||
* though everything else will occur as if in live mode.
|
||||
*
|
||||
* Related guide: <a href="/docs/identity/verify-identity-documents">Verify your
|
||||
* users’ identity documents</a>.
|
||||
*
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationSession
|
||||
*/
|
||||
public function create($params = null, $opts = null)
|
||||
{
|
||||
return $this->request('post', '/v1/identity/verification_sessions', $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Redact a VerificationSession to remove all collected information from Stripe.
|
||||
* This will redact the VerificationSession and all objects related to it,
|
||||
* including VerificationReports, Events, request logs, etc.
|
||||
*
|
||||
* A VerificationSession object can be redacted when it is in
|
||||
* <code>requires_input</code> or <code>verified</code> <a
|
||||
* href="/docs/identity/how-sessions-work">status</a>. Redacting a
|
||||
* VerificationSession in <code>requires_action</code> state will automatically
|
||||
* cancel it.
|
||||
*
|
||||
* The redaction process may take up to four days. When the redaction process is in
|
||||
* progress, the VerificationSession’s <code>redaction.status</code> field will be
|
||||
* set to <code>processing</code>; when the process is finished, it will change to
|
||||
* <code>redacted</code> and an <code>identity.verification_session.redacted</code>
|
||||
* event will be emitted.
|
||||
*
|
||||
* Redaction is irreversible. Redacted objects are still accessible in the Stripe
|
||||
* API, but all the fields that contain personal data will be replaced by the
|
||||
* string <code>[redacted]</code> or a similar placeholder. The
|
||||
* <code>metadata</code> field will also be erased. Redacted objects cannot be
|
||||
* updated or used for any purpose.
|
||||
*
|
||||
* <a href="/docs/identity/verification-sessions#redact">Learn more</a>.
|
||||
*
|
||||
* @param string $id
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationSession
|
||||
*/
|
||||
public function redact($id, $params = null, $opts = null)
|
||||
{
|
||||
return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s/redact', $id), $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the details of a VerificationSession that was previously created.
|
||||
*
|
||||
* When the session status is <code>requires_input</code>, you can use this method
|
||||
* to retrieve a valid <code>client_secret</code> or <code>url</code> to allow
|
||||
* re-submission.
|
||||
*
|
||||
* @param string $id
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationSession
|
||||
*/
|
||||
public function retrieve($id, $params = null, $opts = null)
|
||||
{
|
||||
return $this->request('get', $this->buildPath('/v1/identity/verification_sessions/%s', $id), $params, $opts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a VerificationSession object.
|
||||
*
|
||||
* When the session status is <code>requires_input</code>, you can use this method
|
||||
* to update the verification check and options.
|
||||
*
|
||||
* @param string $id
|
||||
* @param null|array $params
|
||||
* @param null|array|\Stripe\Util\RequestOptions $opts
|
||||
*
|
||||
* @throws \Stripe\Exception\ApiErrorException if the request fails
|
||||
*
|
||||
* @return \Stripe\Identity\VerificationSession
|
||||
*/
|
||||
public function update($id, $params = null, $opts = null)
|
||||
{
|
||||
return $this->request('post', $this->buildPath('/v1/identity/verification_sessions/%s', $id), $params, $opts);
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user