diff --git a/.env.dist b/.env.dist index 3202f78d5..58aadb015 100644 --- a/.env.dist +++ b/.env.dist @@ -11,7 +11,6 @@ # For more information, see the Automated Testing Documentation. # https://docs.suitecrm.com/developer/automatedtesting/ - #== Install Test Suite: # MYSQL or MSSQL @@ -29,7 +28,6 @@ DATABASE_USER=automated_tests # Database password DATABASE_PASSWORD=automated_tests - #== Acceptance, API, and Install Test Suites: # URL of the SuiteCRM instance which the tester needs to access @@ -41,7 +39,6 @@ INSTANCE_ADMIN_USER=admin # Admin password for SuiteCRM instance INSTANCE_ADMIN_PASSWORD=password - #== API Test Suite: # API Client ID @@ -50,3 +47,11 @@ INSTANCE_CLIENT_ID=suitecrm_client # API Client Secret INSTANCE_CLIENT_SECRET=secret +# Default web browser for acceptance and install tests +BROWSER=chrome + +# Webdriver hostname (Selenium, Local or Cloud Testing) +WEBDRIVER_HOST=127.0.0.1 + +# Webdriver port (Selenium, Local or Cloud Testing) +WEBDRIVER_PORT=4444 diff --git a/README.md b/README.md index f0ab0a938..75f0298f3 100755 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ -# SuiteCRM 7.13.3 +# SuiteCRM 7.13.4 [![LICENSE](https://img.shields.io/github/license/suitecrm/suitecrm.svg)](https://github.com/salesagility/suitecrm/blob/hotfix/LICENSE.txt) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/salesagility/SuiteCRM-Core/issues) diff --git a/codeception.dist.yml b/codeception.dist.yml index 36f39dcef..a670622f0 100644 --- a/codeception.dist.yml +++ b/codeception.dist.yml @@ -49,3 +49,4 @@ coverage: - modules/AOR_Charts/lib/* params: - env + - .env.test diff --git a/composer.json b/composer.json new file mode 100644 index 000000000..d1a9909da --- /dev/null +++ b/composer.json @@ -0,0 +1,151 @@ +{ + "name": "salesagility/suitecrm", + "description": "SuiteCRM", + "homepage": "https://suitecrm.com", + "type": "project", + "license": "GPL-3.0", + "authors": [ + { + "name": "SalesAgility Ltd" + } + ], + "support": { + "issues": "https://github.com/salesagility/SuiteCRM/issues", + "wiki": "https://docs.suitecrm.com", + "forum": "https://community.suitecrm.com", + "chat": "https://gitter.im/suitecrm/Lobby", + "source": "https://github.com/salesagility/SuiteCRM" + }, + "config": { + "vendor-dir": "vendor", + "platform": { + "php": "7.4.0" + }, + "optimize-autoloader": true, + "sort-packages": true, + "allow-plugins": { + "wikimedia/composer-merge-plugin": true + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "suggest": { + "ext-imap": "Needed for emails module" + }, + "require": { + "php": ">=7.4.0", + "ext-curl": "*", + "ext-gd": "*", + "ext-json": "*", + "ext-openssl": "*", + "ext-zip": "*", + "consolidation/robo": "^3.0", + "elasticsearch/elasticsearch": "^7.13", + "ezyang/htmlpurifier": "^4.10", + "google/apiclient": "^2.7", + "google/recaptcha": "^1.1", + "gymadarasz/ace": "^1.2", + "gymadarasz/imagesloaded": "^4.1", + "javanile/php-imap2": "^0.1.10", + "justinrainbow/json-schema": "^5.2", + "league/oauth2-client": "^2.6", + "league/oauth2-server": "^8.4", + "monolog/monolog": "^1.23", + "nesbot/carbon": "^2.0.0", + "onelogin/php-saml": "3.4.1", + "paragonie/random_compat": "^2.0", + "phpmailer/phpmailer": "^6.0", + "psr/container": "^1.0", + "psr/log": "^1.0", + "slim/slim": "^3.8", + "smarty/smarty": "^2.6", + "soundasleep/html2text": "~0.5", + "symfony/options-resolver": "^3.4", + "symfony/validator": "^3.4", + "symfony/yaml": "^5.2", + "tecnickcom/tcpdf": "^6.4", + "tedivm/jshrink": "^1.3", + "tinymce/tinymce": "^5.10", + "vlucas/phpdotenv": "^3.5", + "voku/anti-xss": "^4.0", + "wikimedia/composer-merge-plugin": "^2.0", + "zbateson/mail-mime-parser": "^2.2", + "zf1/zend-gdata": "^1.12", + "zf1/zend-loader": "^1.12", + "zf1/zend-oauth": "^1.12", + "zf1/zend-registry": "^1.12", + "zf1/zend-search-lucene": "^1.12" + }, + "require-dev": { + "browserstack/browserstack-local": "^1.1", + "codeception/codeception": "^4.1", + "codeception/module-asserts": "^1.3", + "codeception/module-filesystem": "^1.0", + "codeception/module-phpbrowser": "^1.0", + "codeception/module-rest": "^1.3", + "codeception/module-webdriver": "^1.2", + "fakerphp/faker": "^1.14", + "filp/whoops": "^2.3", + "flow/jsonpath": "^0.4", + "friendsofphp/php-cs-fixer": "^2.15", + "jeroendesloovere/vcard": "^1.7", + "mikey179/vfsstream": "1.6.*", + "mockery/mockery": "^1.1.0", + "phpunit/phpunit": "^9.5", + "scssphp/scssphp": "^1.5" + }, + "autoload": { + "files": [ + "deprecated.php" + ], + "psr-4": { + "SuiteCRM\\": [ + "lib/", + "include/" + ], + "SuiteCRM\\Custom\\": [ + "custom/lib" + ], + "SuiteCRM\\Modules\\": [ + "modules/" + ] + }, + "classmap": [ + "Api/" + ] + }, + "autoload-dev": { + "psr-4": { + "SuiteCRM\\": [ + "tests/SuiteCRM/", + "tests/unit/phpunit/lib/SuiteCRM/" + ], + "SuiteCRM\\Tests\\Unit\\": [ + "tests/unit/phpunit/" + ] + } + }, + "scripts": { + "post-install-cmd": [ + "Google\\Task\\Composer::cleanup" + ] + }, + "extra": { + "google/apiclient-services": [ + "Calendar" + ], + "merge-plugin": { + "include": [ + "composer.ext.json", + "custom/Extension/application/Ext/Composer/*/*.json" + ], + "recurse": true, + "replace": false, + "ignore-duplicates": false, + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false + } + } +} diff --git a/composer.lock b/composer.lock index 120d06aa6..d8ba79c42 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "685b862a7d349351e61ee08a3b55087c", + "content-hash": "8965477c255ac1989284eec44f9f69c9", "packages": [ { "name": "composer/semver", @@ -89,16 +89,16 @@ }, { "name": "consolidation/annotated-command", - "version": "4.6.0", + "version": "4.7.1", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "ee63c57f929e7131c714783193512ea4f76de74c" + "reference": "fd263e3e9341d29758025b1a9b2878e3247525be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/ee63c57f929e7131c714783193512ea4f76de74c", - "reference": "ee63c57f929e7131c714783193512ea4f76de74c", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/fd263e3e9341d29758025b1a9b2878e3247525be", + "reference": "fd263e3e9341d29758025b1a9b2878e3247525be", "shasum": "" }, "require": { @@ -139,9 +139,9 @@ "description": "Initialize Symfony Console commands from annotated command class methods.", "support": { "issues": "https://github.com/consolidation/annotated-command/issues", - "source": "https://github.com/consolidation/annotated-command/tree/4.6.0" + "source": "https://github.com/consolidation/annotated-command/tree/4.7.1" }, - "time": "2022-10-30T22:08:00+00:00" + "time": "2022-12-06T22:57:25+00:00" }, { "name": "consolidation/config", @@ -316,16 +316,16 @@ }, { "name": "consolidation/robo", - "version": "3.0.10", + "version": "3.0.11", "source": { "type": "git", "url": "https://github.com/consolidation/robo.git", - "reference": "206bbe23b34081a36bfefc4de2abbc1abcd29ef4" + "reference": "820fa0f164f77887e268b7dbfb2283416c7334c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/robo/zipball/206bbe23b34081a36bfefc4de2abbc1abcd29ef4", - "reference": "206bbe23b34081a36bfefc4de2abbc1abcd29ef4", + "url": "https://api.github.com/repos/consolidation/robo/zipball/820fa0f164f77887e268b7dbfb2283416c7334c1", + "reference": "820fa0f164f77887e268b7dbfb2283416c7334c1", "shasum": "" }, "require": { @@ -409,9 +409,9 @@ "description": "Modern task runner", "support": { "issues": "https://github.com/consolidation/robo/issues", - "source": "https://github.com/consolidation/robo/tree/3.0.10" + "source": "https://github.com/consolidation/robo/tree/3.0.11" }, - "time": "2022-02-21T17:19:14+00:00" + "time": "2022-12-07T15:18:26+00:00" }, { "name": "consolidation/self-update", @@ -727,16 +727,16 @@ }, { "name": "ezimuel/ringphp", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/ezimuel/ringphp.git", - "reference": "8d00384f9e5c04713ef8448adf47824265791b50" + "reference": "7887fc8488013065f72f977dcb281994f5fde9f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezimuel/ringphp/zipball/8d00384f9e5c04713ef8448adf47824265791b50", - "reference": "8d00384f9e5c04713ef8448adf47824265791b50", + "url": "https://api.github.com/repos/ezimuel/ringphp/zipball/7887fc8488013065f72f977dcb281994f5fde9f4", + "reference": "7887fc8488013065f72f977dcb281994f5fde9f4", "shasum": "" }, "require": { @@ -778,9 +778,9 @@ ], "description": "Fork of guzzle/RingPHP (abandoned) to be used with elasticsearch-php", "support": { - "source": "https://github.com/ezimuel/ringphp/tree/1.2.1" + "source": "https://github.com/ezimuel/ringphp/tree/1.2.2" }, - "time": "2022-10-25T12:54:22+00:00" + "time": "2022-12-07T11:28:53+00:00" }, { "name": "ezyang/htmlpurifier", @@ -972,16 +972,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.273.0", + "version": "v0.278.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "827bbf2b7b20fa97e845122d3d91517e173e959f" + "reference": "3da85d2066b5a8042663e96e7cba3a3f83655961" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/827bbf2b7b20fa97e845122d3d91517e173e959f", - "reference": "827bbf2b7b20fa97e845122d3d91517e173e959f", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/3da85d2066b5a8042663e96e7cba3a3f83655961", + "reference": "3da85d2066b5a8042663e96e7cba3a3f83655961", "shasum": "" }, "require": { @@ -1010,22 +1010,22 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.273.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.278.0" }, - "time": "2022-11-07T01:34:13+00:00" + "time": "2022-12-12T01:28:13+00:00" }, { "name": "google/auth", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "cb43cb8ccde76ace65ec40130a9e9c2a15ecfe17" + "reference": "1f8cff5aa324700d041efd2df1a0855112a2e7ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/cb43cb8ccde76ace65ec40130a9e9c2a15ecfe17", - "reference": "cb43cb8ccde76ace65ec40130a9e9c2a15ecfe17", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/1f8cff5aa324700d041efd2df1a0855112a2e7ae", + "reference": "1f8cff5aa324700d041efd2df1a0855112a2e7ae", "shasum": "" }, "require": { @@ -1040,8 +1040,8 @@ "guzzlehttp/promises": "0.1.1|^1.3", "kelvinmo/simplejwt": "^0.2.5|^0.5.1", "phpseclib/phpseclib": "^2.0.31", - "phpspec/prophecy-phpunit": "^1.1", - "phpunit/phpunit": "^7.5||^8.5", + "phpspec/prophecy-phpunit": "^1.1||^2.0", + "phpunit/phpunit": "^7.5||^9.0.0", "sebastian/comparator": ">=1.2.3", "squizlabs/php_codesniffer": "^3.5" }, @@ -1068,9 +1068,9 @@ "support": { "docs": "https://googleapis.github.io/google-auth-library-php/main/", "issues": "https://github.com/googleapis/google-auth-library-php/issues", - "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.23.1" + "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.24.0" }, - "time": "2022-10-26T20:30:45+00:00" + "time": "2022-11-28T18:29:23+00:00" }, { "name": "google/recaptcha", @@ -1389,22 +1389,22 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.4.3", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "67c26b443f348a51926030c83481b85718457d3d" + "reference": "b635f279edd83fc275f822a1188157ffea568ff6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", - "reference": "67c26b443f348a51926030c83481b85718457d3d", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", + "psr/http-message": "^1.1 || ^2.0", "ralouphie/getallheaders": "^3.0" }, "provide": { @@ -1424,9 +1424,6 @@ "bamarni-bin": { "bin-links": true, "forward-command": false - }, - "branch-alias": { - "dev-master": "2.4-dev" } }, "autoload": { @@ -1488,7 +1485,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.3" + "source": "https://github.com/guzzle/psr7/tree/2.5.0" }, "funding": [ { @@ -1504,7 +1501,7 @@ "type": "tidelift" } ], - "time": "2022-10-26T14:07:24+00:00" + "time": "2023-04-17T16:11:26+00:00" }, { "name": "gymadarasz/ace", @@ -1569,43 +1566,43 @@ "time": "2016-01-29T19:34:06+00:00" }, { - "name": "jeremykendall/php-domain-parser", - "version": "4.0.3-alpha", + "name": "javanile/php-imap2", + "version": "0.1.10", "source": { "type": "git", - "url": "https://github.com/jeremykendall/php-domain-parser.git", - "reference": "026a459bb2d32b0352731b5cb525f2c1d2b9d673" + "url": "https://github.com/javanile/php-imap2.git", + "reference": "f96973ecf0d2d5005ee607faa13b0a5f61745ad9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jeremykendall/php-domain-parser/zipball/026a459bb2d32b0352731b5cb525f2c1d2b9d673", - "reference": "026a459bb2d32b0352731b5cb525f2c1d2b9d673", + "url": "https://api.github.com/repos/javanile/php-imap2/zipball/f96973ecf0d2d5005ee607faa13b0a5f61745ad9", + "reference": "f96973ecf0d2d5005ee607faa13b0a5f61745ad9", "shasum": "" }, "require": { - "ext-curl": "*", - "ext-intl": "*", - "ext-mbstring": "*", - "php": ">=5.3.0" + "php": ">=7.0", + "zbateson/mail-mime-parser": "^2.2" }, "require-dev": { - "fabpot/php-cs-fixer": "^1.11", - "jeremykendall/debug-die": "0.0.1.*", - "mikey179/vfsstream": "~1.6", - "phing/phing": "^2.13", - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "^6.5" + }, + "suggest": { + "ext-iconv": "For best support/performance", + "ext-mbstring": "For best support/performance" }, - "bin": [ - "bin/parse", - "bin/update-psl" - ], "type": "library", + "extra": { + "thanks": { + "name": "Roundcube", + "url": "https://github.com/roundcube" + } + }, "autoload": { "files": [ - "src/pdp-parse-url.php" + "bootstrap.php" ], - "psr-0": { - "Pdp\\": "src/" + "psr-4": { + "Javanile\\Imap2\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1614,27 +1611,27 @@ ], "authors": [ { - "name": "Jeremy Kendall", - "homepage": "http://about.me/jeremykendall", - "role": "Developer" - }, - { - "name": "Contributors", - "homepage": "https://github.com/jeremykendall/php-domain-parser/graphs/contributors" + "name": "Francesco Bianco", + "homepage": "https://github.com/francescobianco" } ], - "description": "Public Suffix List based URL parsing implemented in PHP.", - "homepage": "https://github.com/jeremykendall/php-domain-parser", + "description": "PHP IMAP with OAUTH2", + "homepage": "https://github.com/javanile/php-imap2", "keywords": [ - "Public Suffix List", - "domain parsing", - "url parsing" + "exchange", + "gmail", + "google", + "imap", + "microsoft", + "oauth", + "oauth2", + "outlook" ], "support": { - "issues": "https://github.com/jeremykendall/php-domain-parser/issues", - "source": "https://github.com/jeremykendall/php-domain-parser" + "issues": "https://github.com/javanile/php-imap2/issues", + "source": "https://github.com/javanile/php-imap2/tree/0.1.10" }, - "time": "2017-09-28T15:52:11+00:00" + "time": "2022-10-25T08:46:34+00:00" }, { "name": "justinrainbow/json-schema", @@ -1707,35 +1704,103 @@ "time": "2022-04-13T08:02:27+00:00" }, { - "name": "lcobucci/jwt", - "version": "3.3.3", + "name": "lcobucci/clock", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773" + "url": "https://github.com/lcobucci/clock.git", + "reference": "353d83fe2e6ae95745b16b3d911813df6a05bfb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/353d83fe2e6ae95745b16b3d911813df6a05bfb3", + "reference": "353d83fe2e6ae95745b16b3d911813df6a05bfb3", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "infection/infection": "^0.17", + "lcobucci/coding-standard": "^6.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/php-code-coverage": "9.1.4", + "phpunit/phpunit": "9.3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Lcobucci\\Clock\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com" + } + ], + "description": "Yet another clock abstraction", + "support": { + "issues": "https://github.com/lcobucci/clock/issues", + "source": "https://github.com/lcobucci/clock/tree/2.0.x" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], + "time": "2020-08-27T18:56:02+00:00" + }, + { + "name": "lcobucci/jwt", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/lcobucci/jwt.git", + "reference": "55564265fddf810504110bd68ca311932324b0e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/55564265fddf810504110bd68ca311932324b0e9", + "reference": "55564265fddf810504110bd68ca311932324b0e9", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-openssl": "*", - "php": "^5.6 || ^7.0" + "lcobucci/clock": "^2.0", + "php": "^7.4 || ^8.0" }, "require-dev": { - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "^5.7 || ^7.3", - "squizlabs/php_codesniffer": "~2.3" + "infection/infection": "^0.20", + "lcobucci/coding-standard": "^6.0", + "mikey179/vfsstream": "^1.6", + "phpbench/phpbench": "^0.17", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/php-invoker": "^3.1", + "phpunit/phpunit": "^9.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -1749,7 +1814,7 @@ ], "authors": [ { - "name": "Luís Otávio Cobucci Oblonczyk", + "name": "Luís Cobucci", "email": "lcobucci@gmail.com", "role": "Developer" } @@ -1761,7 +1826,7 @@ ], "support": { "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/3.3.3" + "source": "https://github.com/lcobucci/jwt/tree/4.0.4" }, "funding": [ { @@ -1773,7 +1838,7 @@ "type": "patreon" } ], - "time": "2020-08-20T13:22:28+00:00" + "time": "2021-09-28T19:18:28+00:00" }, { "name": "league/container", @@ -1912,46 +1977,111 @@ "time": "2018-11-26T11:52:41+00:00" }, { - "name": "league/oauth2-server", - "version": "5.1.6", + "name": "league/oauth2-client", + "version": "2.6.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "a1a6cb7b4c7e61b5d2b40384c520b72f192d07c4" + "url": "https://github.com/thephpleague/oauth2-client.git", + "reference": "2334c249907190c132364f5dae0287ab8666aa19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/a1a6cb7b4c7e61b5d2b40384c520b72f192d07c4", - "reference": "a1a6cb7b4c7e61b5d2b40384c520b72f192d07c4", + "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/2334c249907190c132364f5dae0287ab8666aa19", + "reference": "2334c249907190c132364f5dae0287ab8666aa19", "shasum": "" }, "require": { - "defuse/php-encryption": "^2.1", + "guzzlehttp/guzzle": "^6.0 || ^7.0", + "paragonie/random_compat": "^1 || ^2 || ^9.99", + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.3.5", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpunit/phpunit": "^5.7 || ^6.0 || ^9.5", + "squizlabs/php_codesniffer": "^2.3 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\OAuth2\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alex Bilbie", + "email": "hello@alexbilbie.com", + "homepage": "http://www.alexbilbie.com", + "role": "Developer" + }, + { + "name": "Woody Gilk", + "homepage": "https://github.com/shadowhand", + "role": "Contributor" + } + ], + "description": "OAuth 2.0 Client Library", + "keywords": [ + "Authentication", + "SSO", + "authorization", + "identity", + "idp", + "oauth", + "oauth2", + "single sign on" + ], + "support": { + "issues": "https://github.com/thephpleague/oauth2-client/issues", + "source": "https://github.com/thephpleague/oauth2-client/tree/2.6.1" + }, + "time": "2021-12-22T16:42:49+00:00" + }, + { + "name": "league/oauth2-server", + "version": "8.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/oauth2-server.git", + "reference": "539f4340c14eca8d44578fd118f6bdc0ad16d1ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/539f4340c14eca8d44578fd118f6bdc0ad16d1ce", + "reference": "539f4340c14eca8d44578fd118f6bdc0ad16d1ce", + "shasum": "" + }, + "require": { + "defuse/php-encryption": "^2.2.1", + "ext-json": "*", "ext-openssl": "*", - "lcobucci/jwt": "^3.1", - "league/event": "^2.1", - "paragonie/random_compat": "^2.0", - "php": ">=5.5.9", - "psr/http-message": "^1.0" + "lcobucci/jwt": "^3.4.6 || ^4.0.4", + "league/event": "^2.2", + "league/uri": "^6.4", + "php": "^7.2 || ^8.0", + "psr/http-message": "^1.0.1" }, "replace": { "league/oauth2server": "*", "lncd/oauth2": "*" }, "require-dev": { - "indigophp/hash-compat": "^1.1", - "phpunit/phpunit": "^4.8 || ^5.0", - "zendframework/zend-diactoros": "^1.0" - }, - "suggest": { - "indigophp/hash-compat": "Polyfill for hash_equals function for PHP 5.5" + "laminas/laminas-diactoros": "^2.4.1", + "phpstan/phpstan": "^0.12.57", + "phpstan/phpstan-phpunit": "^0.12.16", + "phpunit/phpunit": "^8.5.13", + "roave/security-advisories": "dev-master" }, "type": "library", - "extra": { - "branch-alias": { - "dev-V5-WIP": "5.0-dev" - } - }, "autoload": { "psr-4": { "League\\OAuth2\\Server\\": "src/" @@ -1967,6 +2097,12 @@ "email": "hello@alexbilbie.com", "homepage": "http://www.alexbilbie.com", "role": "Developer" + }, + { + "name": "Andy Millington", + "email": "andrew@noexceptions.io", + "homepage": "https://www.noexceptions.io", + "role": "Developer" } ], "description": "A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.", @@ -1988,47 +2124,63 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/5.1.x" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.4.0" }, - "time": "2017-11-29T21:47:00+00:00" + "funding": [ + { + "url": "https://github.com/sephster", + "type": "github" + } + ], + "time": "2023-02-15T16:08:35+00:00" }, { "name": "league/uri", - "version": "4.2.3", + "version": "6.7.2", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "e7a31846c3f00c190bd2817a36e943c22a1e2512" + "reference": "d3b50812dd51f3fbf176344cc2981db03d10fe06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/e7a31846c3f00c190bd2817a36e943c22a1e2512", - "reference": "e7a31846c3f00c190bd2817a36e943c22a1e2512", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/d3b50812dd51f3fbf176344cc2981db03d10fe06", + "reference": "d3b50812dd51f3fbf176344cc2981db03d10fe06", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "ext-intl": "*", - "ext-mbstring": "*", - "jeremykendall/php-domain-parser": "4.0.3-alpha", - "php": ">=5.5.9", + "ext-json": "*", + "league/uri-interfaces": "^2.3", + "php": "^7.4 || ^8.0", "psr/http-message": "^1.0" }, + "conflict": { + "league/uri-schemes": "^1.0" + }, "require-dev": { - "friendsofphp/php-cs-fixer": "^1.9", - "phpunit/phpunit": "^4.0", - "zendframework/zend-diactoros": "^1.3" + "friendsofphp/php-cs-fixer": "^v3.3.2", + "nyholm/psr7": "^1.5", + "php-http/psr7-integration-tests": "^1.1", + "phpstan/phpstan": "^1.2.0", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0.0", + "phpstan/phpstan-strict-rules": "^1.1.0", + "phpunit/phpunit": "^9.5.10", + "psr/http-factory": "^1.0" + }, + "suggest": { + "ext-fileinfo": "Needed to create Data URI from a filepath", + "ext-intl": "Needed to improve host validation", + "league/uri-components": "Needed to easily manipulate URI objects", + "psr/http-factory": "Needed to use the URI factory" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "League\\Uri\\": "src" } @@ -2045,25 +2197,112 @@ } ], "description": "URI manipulation library", - "homepage": "http://uri.thephpleague.com", + "homepage": "https://uri.thephpleague.com", "keywords": [ "data-uri", + "file-uri", "ftp", + "hostname", "http", "https", + "middleware", + "parse_str", "parse_url", "psr-7", + "query-string", + "querystring", "rfc3986", + "rfc3987", + "rfc6570", "uri", + "uri-template", "url", "ws" ], "support": { - "forum": "https://groups.google.com/forum/#!forum/thephpleague", + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri/issues", - "source": "https://github.com/thephpleague/uri/tree/4.x" + "source": "https://github.com/thephpleague/uri/tree/6.7.2" }, - "time": "2017-10-17T10:28:56+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2022-09-13T19:50:42+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", + "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.19", + "phpstan/phpstan": "^0.12.90", + "phpstan/phpstan-phpunit": "^0.12.19", + "phpstan/phpstan-strict-rules": "^0.12.9", + "phpunit/phpunit": "^8.5.15 || ^9.5" + }, + "suggest": { + "ext-intl": "to use the IDNA feature", + "symfony/intl": "to use the IDNA feature via Symfony Polyfill" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interface for URI representation", + "homepage": "http://github.com/thephpleague/uri-interfaces", + "keywords": [ + "rfc3986", + "rfc3987", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/thephpleague/uri-interfaces/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2021-06-28T04:27:21+00:00" }, { "name": "monolog/monolog", @@ -2153,16 +2392,16 @@ }, { "name": "nesbot/carbon", - "version": "2.63.0", + "version": "2.64.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" + "reference": "889546413c97de2d05063b8cb7b193c2531ea211" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347", - "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/889546413c97de2d05063b8cb7b193c2531ea211", + "reference": "889546413c97de2d05063b8cb7b193c2531ea211", "shasum": "" }, "require": { @@ -2173,7 +2412,7 @@ "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.0", + "doctrine/dbal": "^2.0 || ^3.1.4", "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", @@ -2251,7 +2490,7 @@ "type": "tidelift" } ], - "time": "2022-10-30T18:34:28+00:00" + "time": "2022-11-26T17:36:00+00:00" }, { "name": "nikic/fast-route", @@ -2481,16 +2720,16 @@ }, { "name": "phpmailer/phpmailer", - "version": "v6.6.5", + "version": "v6.7.1", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "8b6386d7417526d1ea4da9edb70b8352f7543627" + "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/8b6386d7417526d1ea4da9edb70b8352f7543627", - "reference": "8b6386d7417526d1ea4da9edb70b8352f7543627", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/49cd7ea3d2563f028d7811f06864a53b1f15ff55", + "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55", "shasum": "" }, "require": { @@ -2500,17 +2739,19 @@ "php": ">=5.5.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.2", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.2", + "doctrine/annotations": "^1.2.6 || ^1.13.3", "php-parallel-lint/php-console-highlighter": "^1.0.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.3.5", "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.6.2", - "yoast/phpunit-polyfills": "^1.0.0" + "squizlabs/php_codesniffer": "^3.7.1", + "yoast/phpunit-polyfills": "^1.0.4" }, "suggest": { "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", "league/oauth2-google": "Needed for Google XOAUTH2 authentication", "psr/log": "For optional PSR-3 debug logging", @@ -2547,7 +2788,7 @@ "description": "PHPMailer is a full-featured email creation and transfer class for PHP", "support": { "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.6.5" + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.7.1" }, "funding": [ { @@ -2555,7 +2796,7 @@ "type": "github" } ], - "time": "2022-10-07T12:23:10+00:00" + "time": "2022-12-08T13:30:06+00:00" }, { "name": "phpoption/phpoption", @@ -2846,20 +3087,20 @@ }, { "name": "psr/container", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.4.0" }, "type": "library", "autoload": { @@ -2888,9 +3129,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/container/tree/1.1.2" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-11-05T16:50:12+00:00" }, { "name": "psr/event-dispatcher", @@ -3051,25 +3292,25 @@ }, { "name": "psr/http-message", - "version": "1.0.1", + "version": "1.1", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -3098,9 +3339,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/master" + "source": "https://github.com/php-fig/http-message/tree/1.1" }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2023-04-04T09:50:52+00:00" }, { "name": "psr/log", @@ -3510,16 +3751,16 @@ }, { "name": "symfony/console", - "version": "v5.4.15", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669" + "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669", - "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669", + "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", + "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", "shasum": "" }, "require": { @@ -3589,7 +3830,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.15" + "source": "https://github.com/symfony/console/tree/v5.4.16" }, "funding": [ { @@ -3605,7 +3846,7 @@ "type": "tidelift" } ], - "time": "2022-10-26T21:41:52+00:00" + "time": "2022-11-25T14:09:27+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4033,16 +4274,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { @@ -4057,7 +4298,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4095,7 +4336,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, "funding": [ { @@ -4111,20 +4352,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "143f1881e655bebca1312722af8068de235ae5dc" + "reference": "927013f3aac555983a5059aada98e1907d842695" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/143f1881e655bebca1312722af8068de235ae5dc", - "reference": "143f1881e655bebca1312722af8068de235ae5dc", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", + "reference": "927013f3aac555983a5059aada98e1907d842695", "shasum": "" }, "require": { @@ -4139,7 +4380,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4178,7 +4419,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0" }, "funding": [ { @@ -4194,20 +4435,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "433d05519ce6990bf3530fba6957499d327395c2" + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", - "reference": "433d05519ce6990bf3530fba6957499d327395c2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", "shasum": "" }, "require": { @@ -4219,7 +4460,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4259,7 +4500,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" }, "funding": [ { @@ -4275,20 +4516,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -4300,7 +4541,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4343,7 +4584,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -4359,20 +4600,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { @@ -4387,7 +4628,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4426,7 +4667,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -4442,20 +4683,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -4464,7 +4705,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4502,7 +4743,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -4518,20 +4759,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85" + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", "shasum": "" }, "require": { @@ -4540,7 +4781,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4581,7 +4822,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" }, "funding": [ { @@ -4597,20 +4838,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -4619,7 +4860,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -4664,7 +4905,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -4680,7 +4921,7 @@ "type": "tidelift" } ], - "time": "2022-05-10T07:21:04+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", @@ -5180,16 +5421,16 @@ }, { "name": "symfony/yaml", - "version": "v5.4.14", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e83fe9a72011f07c662da46a05603d66deeeb487" + "reference": "ebd37c71f62d5ec5f6e27de3e06fee492d4c6298" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e83fe9a72011f07c662da46a05603d66deeeb487", - "reference": "e83fe9a72011f07c662da46a05603d66deeeb487", + "url": "https://api.github.com/repos/symfony/yaml/zipball/ebd37c71f62d5ec5f6e27de3e06fee492d4c6298", + "reference": "ebd37c71f62d5ec5f6e27de3e06fee492d4c6298", "shasum": "" }, "require": { @@ -5235,7 +5476,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.14" + "source": "https://github.com/symfony/yaml/tree/v5.4.16" }, "funding": [ { @@ -5251,20 +5492,20 @@ "type": "tidelift" } ], - "time": "2022-10-03T15:15:50+00:00" + "time": "2022-11-25T16:04:03+00:00" }, { "name": "tecnickcom/tcpdf", - "version": "6.5.0", + "version": "6.6.1", "source": { "type": "git", "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "cc54c1503685e618b23922f53635f46e87653662" + "reference": "a336b531f6f6b5487fca0caf034a671d4e60df5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/cc54c1503685e618b23922f53635f46e87653662", - "reference": "cc54c1503685e618b23922f53635f46e87653662", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/a336b531f6f6b5487fca0caf034a671d4e60df5c", + "reference": "a336b531f6f6b5487fca0caf034a671d4e60df5c", "shasum": "" }, "require": { @@ -5315,7 +5556,7 @@ ], "support": { "issues": "https://github.com/tecnickcom/TCPDF/issues", - "source": "https://github.com/tecnickcom/TCPDF/tree/6.5.0" + "source": "https://github.com/tecnickcom/TCPDF/tree/v" }, "funding": [ { @@ -5323,7 +5564,7 @@ "type": "custom" } ], - "time": "2022-08-12T07:50:54+00:00" + "time": "2022-12-12T14:42:28+00:00" }, { "name": "tedivm/jshrink", @@ -5383,16 +5624,16 @@ }, { "name": "tinymce/tinymce", - "version": "5.10.6", + "version": "5.10.7", "source": { "type": "git", "url": "https://github.com/tinymce/tinymce-dist.git", - "reference": "8ba44292a57da4c06463e50ae54a4e82a071c6d1" + "reference": "f078d8eb7de81f20d34b2ae4326870d20e22d4ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/8ba44292a57da4c06463e50ae54a4e82a071c6d1", - "reference": "8ba44292a57da4c06463e50ae54a4e82a071c6d1", + "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/f078d8eb7de81f20d34b2ae4326870d20e22d4ff", + "reference": "f078d8eb7de81f20d34b2ae4326870d20e22d4ff", "shasum": "" }, "type": "component", @@ -5434,68 +5675,9 @@ "wysiwyg" ], "support": { - "source": "https://github.com/tinymce/tinymce-dist/tree/5.10.6" + "source": "https://github.com/tinymce/tinymce-dist/tree/5.10.7" }, - "time": "2022-10-19T02:16:29+00:00" - }, - { - "name": "tuupola/slim-jwt-auth", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/tuupola/slim-jwt-auth.git", - "reference": "bca54de41a8207d4d67faf3601a06a96cb7ed48f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tuupola/slim-jwt-auth/zipball/bca54de41a8207d4d67faf3601a06a96cb7ed48f", - "reference": "bca54de41a8207d4d67faf3601a06a96cb7ed48f", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "^3.0 || ^4.0 || ^5.0", - "php": "^5.5 || ^7.0", - "psr/http-message": "^1.0", - "psr/log": "^1.0" - }, - "require-dev": { - "overtrue/phplint": "^0.2.4", - "phpunit/phpunit": "^4.6", - "squizlabs/php_codesniffer": "^2.3", - "zendframework/zend-diactoros": "^1.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Slim\\Middleware\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mika Tuupola", - "email": "tuupola@appelsiini.net", - "homepage": "http://www.appelsiini.net/", - "role": "Developer" - } - ], - "description": "PSR-7 JWT Authentication Middleware", - "homepage": "https://github.com/tuupola/slim-jwt-auth", - "keywords": [ - "auth", - "json", - "jwt", - "middleware", - "psr-7" - ], - "support": { - "issues": "https://github.com/tuupola/slim-jwt-auth/issues", - "source": "https://github.com/tuupola/slim-jwt-auth/tree/2.x" - }, - "time": "2018-04-03T06:12:18+00:00" + "time": "2022-12-07T03:50:54+00:00" }, { "name": "vlucas/phpdotenv", @@ -5889,27 +6071,28 @@ }, { "name": "zbateson/mail-mime-parser", - "version": "1.3.3", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/zbateson/mail-mime-parser.git", - "reference": "244b70963945293b5225da2553239a06987d1a11" + "reference": "295c7f82a8c44af685680d9df6714beb812e90ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/244b70963945293b5225da2553239a06987d1a11", - "reference": "244b70963945293b5225da2553239a06987d1a11", + "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/295c7f82a8c44af685680d9df6714beb812e90ff", + "reference": "295c7f82a8c44af685680d9df6714beb812e90ff", "shasum": "" }, "require": { "guzzlehttp/psr7": "^1.7.0|^2.0", "php": ">=5.4", + "pimple/pimple": "^3.0", "zbateson/mb-wrapper": "^1.0.1", "zbateson/stream-decorators": "^1.0.6" }, "require-dev": { "mikey179/vfsstream": "^1.6.0", - "sanmai/phpunit-legacy-adapter": "^6.3 || ^8" + "sanmai/phpunit-legacy-adapter": "^6.3 || ^8.2" }, "suggest": { "ext-iconv": "For best support/performance", @@ -5957,7 +6140,7 @@ "type": "github" } ], - "time": "2021-11-06T00:47:49+00:00" + "time": "2022-09-28T16:31:49+00:00" }, { "name": "zbateson/mb-wrapper", @@ -7490,20 +7673,24 @@ }, { "name": "codeception/stub", - "version": "3.7.0", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/Codeception/Stub.git", - "reference": "468dd5fe659f131fc997f5196aad87512f9b1304" + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/468dd5fe659f131fc997f5196aad87512f9b1304", - "reference": "468dd5fe659f131fc997f5196aad87512f9b1304", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/18a148dacd293fc7b044042f5aa63a82b08bff5d", + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d", "shasum": "" }, "require": { - "phpunit/phpunit": "^8.4 | ^9.0" + "php": "^7.4 | ^8.0", + "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev" + }, + "require-dev": { + "consolidation/robo": "^3.0" }, "type": "library", "autoload": { @@ -7518,9 +7705,9 @@ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", "support": { "issues": "https://github.com/Codeception/Stub/issues", - "source": "https://github.com/Codeception/Stub/tree/3.7.0" + "source": "https://github.com/Codeception/Stub/tree/4.0.2" }, - "time": "2020-07-03T15:54:43+00:00" + "time": "2022-01-31T19:25:15+00:00" }, { "name": "composer/pcre", @@ -7661,32 +7848,35 @@ }, { "name": "doctrine/annotations", - "version": "1.13.3", + "version": "1.14.1", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "648b0343343565c4a056bfc8392201385e8d89f0" + "reference": "9e034d7a70032d422169f27d8759e8d84abb4f51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/648b0343343565c4a056bfc8392201385e8d89f0", - "reference": "648b0343343565c4a056bfc8392201385e8d89f0", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/9e034d7a70032d422169f27d8759e8d84abb4f51", + "reference": "9e034d7a70032d422169f27d8759e8d84abb4f51", "shasum": "" }, "require": { - "doctrine/lexer": "1.*", + "doctrine/lexer": "^1 || ^2", "ext-tokenizer": "*", "php": "^7.1 || ^8.0", "psr/cache": "^1 || ^2 || ^3" }, "require-dev": { "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^1.4.10 || ^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2", + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6", "vimeo/psalm": "^4.10" }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, "type": "library", "autoload": { "psr-4": { @@ -7728,9 +7918,52 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.3" + "source": "https://github.com/doctrine/annotations/tree/1.14.1" }, - "time": "2022-07-02T10:48:51+00:00" + "time": "2022-12-12T12:46:12+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" }, { "name": "doctrine/instantiator", @@ -7804,31 +8037,33 @@ }, { "name": "doctrine/lexer", - "version": "1.2.3", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.0", "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9.0", + "doctrine/coding-standard": "^9 || ^10", "phpstan/phpstan": "^1.3", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.0" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7860,7 +8095,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" + "source": "https://github.com/doctrine/lexer/tree/2.1.0" }, "funding": [ { @@ -7876,24 +8111,24 @@ "type": "tidelift" } ], - "time": "2022-02-28T11:07:21+00:00" + "time": "2022-12-14T08:49:07+00:00" }, { "name": "fakerphp/faker", - "version": "v1.20.0", + "version": "v1.21.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b" + "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/37f751c67a5372d4e26353bd9384bc03744ec77b", - "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d", + "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", + "php": "^7.4 || ^8.0", "psr/container": "^1.0 || ^2.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" }, @@ -7904,7 +8139,8 @@ "bamarni/composer-bin-plugin": "^1.4.1", "doctrine/persistence": "^1.3 || ^2.0", "ext-intl": "*", - "symfony/phpunit-bridge": "^4.4 || ^5.2" + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" }, "suggest": { "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", @@ -7916,7 +8152,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "v1.20-dev" + "dev-main": "v1.21-dev" } }, "autoload": { @@ -7941,9 +8177,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.20.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.21.0" }, - "time": "2022-07-20T13:12:54+00:00" + "time": "2022-12-13T13:54:32+00:00" }, { "name": "filp/whoops", @@ -8413,16 +8649,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.1", + "version": "v4.15.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", "shasum": "" }, "require": { @@ -8463,9 +8699,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" }, - "time": "2022-09-04T07:30:47+00:00" + "time": "2022-11-12T15:38:23+00:00" }, { "name": "phar-io/manifest", @@ -8701,16 +8937,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.18", + "version": "9.2.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a" + "reference": "3f893e19712bb0c8bc86665d1562e9fd509c4ef0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a", - "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/3f893e19712bb0c8bc86665d1562e9fd509c4ef0", + "reference": "3f893e19712bb0c8bc86665d1562e9fd509c4ef0", "shasum": "" }, "require": { @@ -8766,7 +9002,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.21" }, "funding": [ { @@ -8774,7 +9010,7 @@ "type": "github" } ], - "time": "2022-10-27T13:35:33+00:00" + "time": "2022-12-14T13:26:54+00:00" }, { "name": "phpunit/php-file-iterator", @@ -9019,16 +9255,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.26", + "version": "9.5.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2", - "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38", + "reference": "a2bc7ffdca99f92d959b3f2270529334030bba38", "shasum": "" }, "require": { @@ -9101,7 +9337,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27" }, "funding": [ { @@ -9117,7 +9353,7 @@ "type": "tidelift" } ], - "time": "2022-10-28T06:00:21+00:00" + "time": "2022-12-09T07:31:23+00:00" }, { "name": "scssphp/scssphp", @@ -10632,7 +10868,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=7.3.0", + "php": ">=7.4.0", "ext-curl": "*", "ext-gd": "*", "ext-json": "*", @@ -10641,7 +10877,7 @@ }, "platform-dev": [], "platform-overrides": { - "php": "7.3.0" + "php": "7.4.0" }, "plugin-api-version": "2.3.0" } diff --git a/data/Link2.php b/data/Link2.php index 4ad021e35..63e76a54e 100755 --- a/data/Link2.php +++ b/data/Link2.php @@ -552,6 +552,11 @@ class Link2 if ($success == false) { $failures[] = $key->id; } + + // remove temporary beans to prevent runaway memory usage + if(isset($this->tempBeans[$key->id])) { + unset($this->tempBeans[$key->id]); + } } if (!empty($failures)) { @@ -601,6 +606,11 @@ class Link2 if ($success == false) { $failures[] = $keyBean->id; } + + // remove temporary beans to prevent runaway memory usage + if(isset($this->tempBeans[$keyBean->id])) { + unset($this->tempBeans[$keyBean->id]); + } } if (!empty($failures)) { diff --git a/files.md5 b/files.md5 index 8acfd5151..501fe6851 100644 --- a/files.md5 +++ b/files.md5 @@ -1,5 +1,5 @@ '69a1e7b3d7755a2a63499a16ddae81cf', './Api/Core/Config/slim.php' => 'b134e68765e6a1403577e2a5a06322b8', @@ -116,7 +116,7 @@ $md5_string = array ( './ModuleInstall/PackageManager/tpls/PackageManagerLicense.tpl' => 'df5e267d1df5ce08fb9406e42d5b4816', './ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl' => '98e396c0aa57329731fda19c790fffb2', './ModuleInstall/extensions.php' => 'de30837895f67175b7fbc04274a837a6', - './README.md' => 'b20a248fa6702bc317e0b5db7d784a01', + './README.md' => 'b823d42607bf6d9dc4b1b06c4b7bb862', './RoboFile.php' => '045b82c1df69553824d0e4ffcce6e03c', './SugarSecurity.php' => '47e316b2d408e8c5192c8ea4a4f921b3', './TreeData.php' => '32873e20cb5fd33f9d1cdaf18c3cac5c', @@ -507,13 +507,13 @@ $md5_string = array ( './build/push_output.sh' => 'cde8cd38e3b0c4e988ec4be7d81faa89', './build/travis-ci-apache' => 'e1e212c4eaf679b6ec620cd0b12f4571', './campaign_tracker.php' => '321e43ca8b664e6ca57ae5589e8c0667', - './composer.json' => '2823f5a7f99159cec8dab6b36249e0fb', - './composer.lock' => 'ad7c44c6eb91e2484a68386053ada8a8', + './composer.json' => '0b6a07a2f2dc9f19d3e0a5075cbe03f4', + './composer.lock' => '8e5a6b4ddabcb66a207be0e41bd2ea10', './cron.php' => '0b8b6bd839a2232a8da074b31feaa708', './crossdomain.xml' => '24b7711640c652b21aa89c9d83d6ec13', './data/BeanFactory.php' => '3007bf65ebc77baa76c338ce6a068790', './data/Link.php' => '6a1f4a706142e6231f8ee46f261341c0', - './data/Link2.php' => '1e2ee0bfd94ff12c0a3b9323059a47ed', + './data/Link2.php' => '952dd8bca38c01d0b33cc244ec1988dd', './data/Relationships/EmailAddressRelationship.php' => 'e2d4f642961cf992c931e57d02e0d122', './data/Relationships/M2MRelationship.php' => '8643dac151d21e5ae9266501e9e1cd4a', './data/Relationships/One2MBeanRelationship.php' => 'f3dd91a6af8770161ff996009522566d', @@ -584,7 +584,7 @@ $md5_string = array ( './include/HTTP_WebDAV_Server/dav.txt' => 'c5235ed64efa685da638c6dcdb6a9708', './include/HTTP_WebDAV_Server/license.txt' => 'a45bb1bbeed9e26b26c5763df1d3913d', './include/HtmlSanitizer.php' => 'efcd753e725f16eb9212bc3bb2ed2cff', - './include/Imap/Imap2Handler.php' => '1a3f7e4cbf9fc332add2d6386b7df0cd', + './include/Imap/Imap2Handler.php' => 'c424e06320bc116e553d1e7d554596c1', './include/Imap/ImapHandler.php' => '29e289d005995cde4a35144bfe176fb0', './include/Imap/ImapHandlerException.php' => '43d045dace421f51ad30eab02e1d1e91', './include/Imap/ImapHandlerFactory.php' => '15a2ffca9e48e3cf74270dda4e36e46c', @@ -613,7 +613,7 @@ $md5_string = array ( './include/ListView/ListViewDisplay.php' => '516709b2a7e1d11ab5193369ecd1d7d8', './include/ListView/ListViewEval.tpl' => '15d45a3ed170599634d26860dc2e9e56', './include/ListView/ListViewFacade.php' => '9b0f0b4cec02511bebbc62beef368744', - './include/ListView/ListViewGeneric.tpl' => '225d86344ddc00b4b00bd6716d23ac12', + './include/ListView/ListViewGeneric.tpl' => '3ea2ae00e443e76b71b5897e8ad750bf', './include/ListView/ListViewNoMassUpdate.tpl' => '4e692ef66605010d17a42eb91f3025d5', './include/ListView/ListViewPagination.tpl' => '33063ccce1750e85762c3f0910c29a6a', './include/ListView/ListViewSearchLink.tpl' => '9cd943804ef3db4fa47ba41c99f5a12f', @@ -670,7 +670,7 @@ $md5_string = array ( './include/MySugar/MySugar.php' => 'eaffdea2231df9ec4a457fb57d499ca4', './include/MySugar/dashboardstyle.css' => '4cce65e52281263e484140a1d4b8d2e2', './include/MySugar/javascript/AddRemoveDashboardPages.js' => '6baf925bfcaa6c4ac01326af22c8e7c6', - './include/MySugar/javascript/MySugar.js' => 'f6162f9799abadfdef9c5ea2668808e7', + './include/MySugar/javascript/MySugar.js' => '444aaa6ddfaa7bf54c89a81e3e8a4775', './include/MySugar/javascript/retrievePage.js' => '9c43b636b78782599b68b28d56e89260', './include/MySugar/retrieve_dash_page.php' => 'b91b58907f646579ad9b31b7f8efbfa5', './include/MySugar/tpls/MySugar.tpl' => '5468feea08f92fed498550cab00050a6', @@ -1036,7 +1036,7 @@ $md5_string = array ( './include/SugarFields/Parsers/SearchFormMetaParser.php' => '732eecf76268b82b84667f6d00a905f5', './include/SugarFields/SugarFieldHandler.php' => '73b2605cef98e6b0b03880d299a49e92', './include/SugarFolders/SugarFolderEmptyException.php' => 'd8052a2f3abf6ff8db9563bf3e22842e', - './include/SugarFolders/SugarFolders.php' => 'a2323abcfb7ead79b307e05c8739512c', + './include/SugarFolders/SugarFolders.php' => '9fc96d6c3892227dc8b2c96e3d658c5d', './include/SugarHtml/SugarHtml.php' => 'b457a731768480ce81d6e709d920e2cb', './include/SugarHttpClient.php' => 'bf0aedbad0c73763186e37fb9107d3d7', './include/SugarLogger/LoggerManager.php' => 'd30492d39dc1aecce2e9cabdc4c148e8', @@ -1340,7 +1340,7 @@ $md5_string = array ( './include/contextMenus/menuDefs/sugarObject.php' => '119e653126765edb0358ab54697b862a', './include/contextMenus/menuDefs/sugarPerson.php' => '215d244d2fbd4bce5facc8fe2091cc27', './include/controller/Controller.php' => '0ee78cfd4c12448eec89ea50b7ea143b', - './include/database/DBManager.php' => 'd43d19f2e402b1d9eb2f8a13d2162e90', + './include/database/DBManager.php' => 'a2f15ea473bd2364d62e8156dc535855', './include/database/DBManagerFactory.php' => 'ba1e996ceb661905208e38df2459b095', './include/database/FreeTDSManager.php' => '23ec109e38260e0ffa2a1676d486fd62', './include/database/MssqlManager.php' => '8ec8ad4bd3df1c19aa96b228f3b356a7', @@ -2536,7 +2536,7 @@ $md5_string = array ( './jssource/minify.php' => '600c69c3e25f59bfc0e9063ea9618fce', './jssource/minify_utils.php' => 'e9aee7259f10a5538515a5765eada51a', './jssource/src_files/include/EditView/Panels.js' => '55e80d03192cb162403943eef1b23541', - './jssource/src_files/include/MySugar/javascript/MySugar.js' => 'f8b9a23c8e6b4e29d14ff30af10f7740', + './jssource/src_files/include/MySugar/javascript/MySugar.js' => '7e21681bc59131fe176396577e3f4732', './jssource/src_files/include/SubPanel/SubPanelTiles.js' => 'e7038bb725c238341feee8798d1a456a', './jssource/src_files/include/SugarCharts/Jit/FlashCanvas/canvas2png.js' => '4c95a8c2071e0d5b4ae1531a790f1492', './jssource/src_files/include/SugarCharts/Jit/FlashCanvas/flashcanvas.js' => 'b4345bb87df60d29e8283ae780c72a25', @@ -2821,7 +2821,7 @@ $md5_string = array ( './lib/Search/SearchEngine.php' => '92775fe01a004fb58f1bf6edcc9f3dc8', './lib/Search/SearchModules.php' => '5261f4a9ab7a7d690618aefa08c6ca76', './lib/Search/SearchQuery.php' => '523292cc81871ec25ac17a7ab96bc888', - './lib/Search/SearchResults.php' => 'bdcdd0018e1fa375dc9c0344dd00b14e', + './lib/Search/SearchResults.php' => '6cd36a7346c7d4ac47d80b16ae77ced6', './lib/Search/SearchWrapper.php' => '2aaaa78656373bbdb2f0187a208d60eb', './lib/Search/SqlSearch/SimpleSqlSearchEngine.php' => 'db160c7c333582c7028a59f2bed03fcb', './lib/Search/UI/MVC/Controller.php' => '9f60e08a0b86295e12202689345d3410', @@ -2948,7 +2948,7 @@ $md5_string = array ( './modules/ACL/install_actions.php' => 'b534ed369fb1ef22d41670cec842a5c7', './modules/ACL/language/en_us.lang.php' => 'a23ed1fea223a17993d5396bc1b85894', './modules/ACL/metadata/subpaneldefs.php' => 'eeb92f8d430ef3fcc134cf83dc972497', - './modules/ACL/remove_actions.php' => 'ef5cfced421481c113e0e04ee640c3d8', + './modules/ACL/remove_actions.php' => '731a8b23f3122f48bab9e24fab9f6b5a', './modules/ACL/vardefs.php' => 'a0e51e5d5a49b1f89af75ff58abd8df0', './modules/ACLActions/ACLAction.php' => '500f61c33f282390379fecdfef0e1e87', './modules/ACLActions/Forms.php' => 'd41d8cd98f00b204e9800998ecf8427e', @@ -3306,7 +3306,7 @@ $md5_string = array ( './modules/AOR_Charts/lib/pChart/palettes/spring.color' => '402a1ac723252a591bf554a813b9c839', './modules/AOR_Charts/lib/pChart/palettes/summer.color' => 'f509da217991bb5525ce9cad1d5ab053', './modules/AOR_Charts/vardefs.php' => '4c0016a658d31732ee3d74928fab0121', - './modules/AOR_Conditions/AOR_Condition.php' => '6b9d1838f0dd7031ad3deaa68d4c9aa8', + './modules/AOR_Conditions/AOR_Condition.php' => '3a30b35d8a1a99386afc66c262585150', './modules/AOR_Conditions/conditionLines.js' => 'e80c394e97e31d96222f49932dc1e32c', './modules/AOR_Conditions/conditionLines.php' => 'ce1aac0705b29a126b6908e23e03488f', './modules/AOR_Conditions/language/en_us.lang.php' => 'de9cb666a10041cc14cc03081ee7912a', @@ -3568,7 +3568,7 @@ $md5_string = array ( './modules/AOW_Actions/actions/actionCreateRecord.php' => '537fbede6eeb62ac3ba1e5e77c6e4ada', './modules/AOW_Actions/actions/actionModifyRecord.php' => 'a382c7b13f2896df64d70055ad92b2d0', './modules/AOW_Actions/actions/actionSendEmail.js' => 'e919423e47a93740dc522e812815c156', - './modules/AOW_Actions/actions/actionSendEmail.php' => '0680b4972c9fe678bcd2f532955fba33', + './modules/AOW_Actions/actions/actionSendEmail.php' => '155c8f5fb7262ceef58198c1d3bf6544', './modules/AOW_Actions/actions/templateParser.php' => '1996d6efbdacf1c9c78748b72ecfca03', './modules/AOW_Actions/actions.php' => 'd8adb0eee6cbd721ca25e8efb759421f', './modules/AOW_Actions/language/en_us.lang.php' => '0d1e99def1d60f44638ef51d64f3bf01', @@ -3595,11 +3595,11 @@ $md5_string = array ( './modules/AOW_Processed/metadata/subpanels/default.php' => 'a854bad4c87fee3ae01b971e88041b66', './modules/AOW_Processed/vardefs.php' => 'b8116bafbeac63b860466832c444da40', './modules/AOW_Processed/views/view.list.php' => '2f4404c998460f095e3affe63ce1958d', - './modules/AOW_WorkFlow/AOW_WorkFlow.php' => '08c0f9f3a9a15bc332e4bc1b77b1808c', + './modules/AOW_WorkFlow/AOW_WorkFlow.php' => 'ac98d91589e0628306acbcd3d9a294b5', './modules/AOW_WorkFlow/Dashlets/AOW_WorkFlowDashlet/AOW_WorkFlowDashlet.meta.php' => '307d5c5c4e36070f26fcd7019a7c3ce7', './modules/AOW_WorkFlow/Dashlets/AOW_WorkFlowDashlet/AOW_WorkFlowDashlet.php' => '9b68831e41b81207bf2e3a1a42b266b2', './modules/AOW_WorkFlow/Menu.php' => 'bda4b71d876e065f7661bce4a91bde57', - './modules/AOW_WorkFlow/aow_utils.php' => 'b8166bfc1cb01fda5a09de7e755af2d5', + './modules/AOW_WorkFlow/aow_utils.php' => 'e46873aaca840bdeac8455891f1acad7', './modules/AOW_WorkFlow/controller.php' => 'ae23e9e4808160716c4d010463150421', './modules/AOW_WorkFlow/language/en_us.lang.php' => '3257fefa8880da77ef4c90c08fab9dad', './modules/AOW_WorkFlow/metadata/SearchFields.php' => '125fca8f181fd8c4fbb159fd71096bd7', @@ -3664,7 +3664,7 @@ $md5_string = array ( './modules/Activities/tpls/PopupHeader.tpl' => 'a5d6e208e7df413a1247c17b59402e41', './modules/Activities/views/view.list.php' => '2f8f97ee242f1c60f80f18c23456c4e5', './modules/Activities/views/view.modulelistmenu.php' => 'b287fb1055865e6fe47ad46d584e054a', - './modules/Administration/AOPAdmin.php' => '52db79bb630ad53239ac17c5e260a61a', + './modules/Administration/AOPAdmin.php' => '92232ba583dd65ade7fe09e0191816b6', './modules/Administration/AOPAdmin.tpl' => '04391325ff3ba9d2d16d427f0a60d0ab', './modules/Administration/AOSAdmin.php' => 'd7e75c25af0a4e4a9bd954280b7450ec', './modules/Administration/AOSAdmin.tpl' => 'ee8d38886e9253512b0d9db8d9613b5a', @@ -3764,7 +3764,7 @@ $md5_string = array ( './modules/Administration/index.tpl' => 'e2267cd142b9509c13eaed32180e5e88', './modules/Administration/javascript/Administration.js' => '3548a43145e0b00b880d50fce62126f6', './modules/Administration/javascript/Async.js' => '7cda344ae778c0633b8941dcc6fd2bd6', - './modules/Administration/language/en_us.lang.php' => '634ef77b8cd3ef0bb22c7eb2c062e65e', + './modules/Administration/language/en_us.lang.php' => '16250032a9bae6621ac7e0727df462fc', './modules/Administration/metadata/SearchFields.php' => '678fb87cfc3b3e95d7e7ea8a72d8da16', './modules/Administration/metadata/adminpaneldefs.php' => '31fee9f25c4a34fca0e18fed684af9fb', './modules/Administration/ncc_config.php' => '643e7a46ad14a6aed7431c6679362b95', @@ -4988,7 +4988,7 @@ $md5_string = array ( './modules/InboundEmail/Delete.php' => '2dec384b7a0c8bc29bf2dcfdfc26506c', './modules/InboundEmail/EditGroupFolder.php' => 'd7c41e935f01bfe5b6ce52c2f0385c9b', './modules/InboundEmail/InboundEmail.js' => 'f5d19901b247cdc225a999b08204cf45', - './modules/InboundEmail/InboundEmail.php' => '72d8092646ec8cceadfa847738821046', + './modules/InboundEmail/InboundEmail.php' => '84f6de127e294b6b56044a850022569a', './modules/InboundEmail/Menu.php' => 'bfb4c000e482ae7206a9c0dea76acafe', './modules/InboundEmail/Overview.php' => 'e12117e0d20035b2c04dad6526783f07', './modules/InboundEmail/Popup.php' => 'b37711aaab32543d3a6a1fb0386c679e', @@ -5940,7 +5940,7 @@ $md5_string = array ( './modules/Tasks/Menu.php' => 'dd889bd7b6befa5c2c9ed2543435260f', './modules/Tasks/MyTasks.html' => '3e6a9d06bfca5b158f1d8e05d73c7bf6', './modules/Tasks/MyTasks.php' => 'e3d1e02f845912e74ce4e7d3e96c86ae', - './modules/Tasks/Save.php' => 'f5f80cefe8f94b9e387293d53e8840e4', + './modules/Tasks/Save.php' => '023fe2d40d15f6080f6f05820e0ac00f', './modules/Tasks/Task.php' => 'dc6f93a0df9a345f417afa1bc7e825df', './modules/Tasks/TasksQuickCreate.php' => 'c9cf50c4c2051463805e357fddc7cc33', './modules/Tasks/field_arrays.php' => 'f623385316cb5b80050c38b385167e68', @@ -6298,7 +6298,7 @@ $md5_string = array ( './service/core/NusoapSoap.php' => 'cec8959f6a250bd1689c1af51eed4552', './service/core/PHP5Soap.php' => 'a152ca4fe059ffc21c8f2101ae2ba111', './service/core/REST/SugarRest.php' => '61a5c0e296a5f8112e09f0b13dc29fa7', - './service/core/REST/SugarRestJSON.php' => '5be6f81139aab2261d5132bf76bf919c', + './service/core/REST/SugarRestJSON.php' => '516b1906bdd720a45383f388afeba372', './service/core/REST/SugarRestRSS.php' => '711b7f6663ccbc3086ec86bef2fb7816', './service/core/SoapHelperWebService.php' => 'bb90e940144f545c4d55aa88e1949591', './service/core/SugarRestService.php' => '7e6907640352f9baee4330d533523654', @@ -6331,7 +6331,7 @@ $md5_string = array ( './service/v3_1/registry.php' => 'c7690074b2106e368881e0fb7f728fcf', './service/v3_1/rest.php' => '3607b4865ee496046f1a6583f40c23e7', './service/v3_1/soap.php' => 'cedfe09f86b6a9e921940924786d68e9', - './service/v4/SugarWebServiceImplv4.php' => '0a0f9f40ad06f96019a4b21c86e4c7f3', + './service/v4/SugarWebServiceImplv4.php' => 'b0e608eded4075895bd081f7505030b8', './service/v4/SugarWebServiceUtilv4.php' => '8e1845f12e5efdb7d18bf8c06f4457f5', './service/v4/registry.php' => '394acc8429a616f708447824677aa86f', './service/v4/rest.php' => 'b2d139794047a63a0123ab7436edc1ec', @@ -6355,7 +6355,7 @@ $md5_string = array ( './soap.php' => 'e28988c2e0b8e2c484587b537a710525', './sugar_version.json' => 'bdfbcefae2f9af559bef6a36367df7bb', './sugar_version.php' => 'db7b6c8d51f87879fce1e6172eedfbed', - './suitecrm_version.php' => 'b2203e609053399bc053aa7df09524eb', + './suitecrm_version.php' => '5e9e8e1cc1572dccf3ef723aa72ad05b', './themes/SuiteP/css/Dawn/color-palette.scss' => 'e64677d79e1d68c069bdc2dc661c4f99', './themes/SuiteP/css/Dawn/icons.scss' => 'd59f8c5855e7a8df09542a663835a196', './themes/SuiteP/css/Dawn/select.ico' => '22393ad23f16c3f1462455bae8f20279', @@ -7780,7 +7780,7 @@ $md5_string = array ( './themes/SuiteP/include/EditView/header.tpl' => '132ace198c0a390b2000408fdde3457f', './themes/SuiteP/include/EditView/tab_panel_content.tpl' => 'e74279dc0e6d4185121b699d9d76750f', './themes/SuiteP/include/ListView/ListViewDCMenu.tpl' => 'bc847c86bae071f507e486acfd05fa31', - './themes/SuiteP/include/ListView/ListViewGeneric.tpl' => '67001b6016d7a4065d33cbeed3e049d1', + './themes/SuiteP/include/ListView/ListViewGeneric.tpl' => 'f78eb9f4d804fd9c82007852ab026c1b', './themes/SuiteP/include/ListView/ListViewNoMassUpdate.tpl' => '4f238f8e41ce9479193be0cf537728a6', './themes/SuiteP/include/ListView/ListViewPagination.tpl' => '80ff62f8b828bde2ee846d42206dc00f', './themes/SuiteP/include/ListView/ListViewPaginationBottom.tpl' => '11147ef51e845a60fe1b29ab1b304d2b', @@ -9281,4 +9281,4 @@ $md5_string = array ( './themes/default/less/wells.less' => '07cc7d04d7f7f344742f23886cbe5683', './vCard.php' => '3f5273501c464563e5b1247be28b69de', './vcal_server.php' => 'ce4752597ba62a99f791c467339d2500', -); +); \ No newline at end of file diff --git a/include/Imap/Imap2Handler.php b/include/Imap/Imap2Handler.php index 93cf0258f..c2b0d426f 100644 --- a/include/Imap/Imap2Handler.php +++ b/include/Imap/Imap2Handler.php @@ -292,7 +292,7 @@ class Imap2Handler implements ImapHandlerInterface { $this->logCall(__FUNCTION__, func_get_args()); - $mbh = imap2_open($mailbox, $username, $password, $options, $n_retries, $params); + $mbh = Connection::open($mailbox, $username, $password, $options, $n_retries, $params); $this->setStream($mbh); if (empty($mbh) || !is_a($mbh, Connection::class)) { @@ -1204,7 +1204,7 @@ class Imap2Handler implements ImapHandlerInterface $pageLast = $pageOffSet + $pageSize; $sequence = "$pageOffSet:$pageLast"; - $sorteUids = $this->getSortedMessageIds('ARRIVAL', $pageOffSet, $pageLast); + $sorteUids = $this->getSortedMessageIds('ARRIVAL', $pageOffSet, $pageLast, ''); $sequence = implode(',', $sorteUids); $mailList = $this->$fetchMethod($sequence, FT_UID); diff --git a/include/ListView/ListViewGeneric.tpl b/include/ListView/ListViewGeneric.tpl index ee160a2cf..b04db99f0 100755 --- a/include/ListView/ListViewGeneric.tpl +++ b/include/ListView/ListViewGeneric.tpl @@ -66,7 +66,7 @@ {assign var="moduleName" value = $moduleList.$currentModule} {assign var="hideTable" value=false} -{if count($data) == 0} +{if !isset($data) || (count($data) == 0)} {assign var="hideTable" value=true}
{if $displayEmptyDataMesssages} diff --git a/include/MySugar/javascript/MySugar.js b/include/MySugar/javascript/MySugar.js index 9a5fc85fc..d7f9d655e 100755 --- a/include/MySugar/javascript/MySugar.js +++ b/include/MySugar/javascript/MySugar.js @@ -51,7 +51,7 @@ ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_LOADING'));if(!url){ else if(url=='predefined_chart'){url='index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module='+module+'&to_pdf=1&id='+id;scriptUrl='index.php?action=DynamicAction&DynamicAction=getPredefinedChartScript&session_commit=1&module='+module+'&to_pdf=1&id='+id;is_chart_dashlet=true;} if(dynamic){url+='&dynamic=true';} SUGAR.mySugar.currentDashlet=document.getElementById('dashlet_entire_'+id);$.ajax({"method":"GET","url":url}).done(function(data,textStatus,jqXHR){var updateDashlet=null;if($(data).find('#dashlet_entire_'+id).length==0){updateDashlet=$(data).find('.bd-center').html();}else{updateDashlet=$(data).find('#dashlet_entire_'+id+' .bd-center').html();} -$('#dashlet_entire_'+id).find('.bd-center').html(updateDashlet);ajaxStatus.hideStatus();});return false;},setChooser:function(){var displayColumnsDef=[];var hideTabsDef=[];var left_td=document.getElementById('display_tabs_td');var right_td=document.getElementById('hide_tabs_td');var displayTabs=left_td.getElementsByTagName('select')[0];var hideTabs=right_td.getElementsByTagName('select')[0];for(i=0;iisgroup ?? ''; + $isGroup = $item['isgroup'] ?? ''; if ($isGroup === 1) { $secureReturn[] = $item; } diff --git a/include/database/DBManager.php b/include/database/DBManager.php index 04f9cd614..7c64af9f0 100755 --- a/include/database/DBManager.php +++ b/include/database/DBManager.php @@ -3027,6 +3027,7 @@ abstract class DBManager */ public function getDataChanges(SugarBean &$bean, array $field_filter = null) { + $bean->fixUpFormatting(); $changed_values = array(); $fetched_row = array(); diff --git a/jssource/src_files/include/MySugar/javascript/MySugar.js b/jssource/src_files/include/MySugar/javascript/MySugar.js index 279892a78..9006cbc66 100755 --- a/jssource/src_files/include/MySugar/javascript/MySugar.js +++ b/jssource/src_files/include/MySugar/javascript/MySugar.js @@ -265,6 +265,9 @@ initMySugar = function () { ajaxStatus.hideStatus(); }); + + $('#dashlet_header_' + SUGAR.mySugar.configureDashletId).load(url + ' #dashlet_header_' + SUGAR.mySugar.configureDashletId); + return false; }, diff --git a/lib/Search/SearchResults.php b/lib/Search/SearchResults.php index 522a6d508..8bbc030ee 100644 --- a/lib/Search/SearchResults.php +++ b/lib/Search/SearchResults.php @@ -224,6 +224,9 @@ class SearchResults LoggerManager::getLogger()->warn('Unresolved related ID for field: ' . $relField); } + if (!$relId) { + $relId = ''; + } return $relId; } diff --git a/modules/ACL/remove_actions.php b/modules/ACL/remove_actions.php index e60837bed..ee0f23a06 100755 --- a/modules/ACL/remove_actions.php +++ b/modules/ACL/remove_actions.php @@ -50,7 +50,7 @@ if (is_admin($current_user)) { foreach ($actionarr as $actionobj) { if (!isset($beanList[$actionobj->category]) || !file_exists($beanFiles[$beanList[$actionobj->category]])) { if (!isset($_REQUEST['upgradeWizard'])) { - echo 'Removing for ' . $actionobj->category . '
'; + echo sprintf('Removing "%s" ACL for module "%s"
', $actionobj->name, $actionobj->category); } $foundOne = true; ACLAction::removeActions($actionobj->category); diff --git a/modules/AOR_Conditions/AOR_Condition.php b/modules/AOR_Conditions/AOR_Condition.php index 1ec4e2345..1331aca86 100755 --- a/modules/AOR_Conditions/AOR_Condition.php +++ b/modules/AOR_Conditions/AOR_Condition.php @@ -122,11 +122,11 @@ class AOR_Condition extends Basic } } } - if ($field_name == 'parenthesis' && $post_data[$key . $field_name][$i] == 'END') { - if (!isset($lastParenthesisStartConditionId)) { + if ($field_name === 'parenthesis' && $post_data[$key . $field_name][$i] !== 'START') { + if (!isset($lastParenthesisStartConditionIds)) { throw new Exception('a closure parenthesis has no starter pair'); } - $condition->parenthesis = $lastParenthesisStartConditionId; + $condition->parenthesis = array_pop($lastParenthesisStartConditionIds); } else { $condition->$field_name = $post_data[$key . $field_name][$i]; } @@ -149,8 +149,8 @@ class AOR_Condition extends Basic } $condition->aor_report_id = $parent->id; $conditionId = $condition->save(); - if ($condition->parenthesis == 'START') { - $lastParenthesisStartConditionId = $conditionId; + if ($condition->parenthesis === 'START') { + $lastParenthesisStartConditionIds[] = $conditionId; } } } diff --git a/modules/AOW_Actions/actions/actionSendEmail.php b/modules/AOW_Actions/actions/actionSendEmail.php index c60b7e6c4..a5bde1b08 100755 --- a/modules/AOW_Actions/actions/actionSendEmail.php +++ b/modules/AOW_Actions/actions/actionSendEmail.php @@ -486,7 +486,7 @@ class actionSendEmail extends actionBase $mail->handleAttachments($attachments); $mail->prepForOutbound(); - if (empty($emailTo)) { + if ((empty($emailTo)) || (!is_array($emailTo))) { return false; } foreach ($emailTo as $to) { @@ -502,6 +502,13 @@ class actionSendEmail extends actionBase $mail->AddBCC($email); } } + if (!is_array($emailCc)) { + $emailCc = []; + } + + if (!is_array($emailBcc)) { + $emailBcc = []; + } //now create email if ($mail->Send()) { diff --git a/modules/AOW_WorkFlow/AOW_WorkFlow.php b/modules/AOW_WorkFlow/AOW_WorkFlow.php index b959cd68b..ec3362836 100755 --- a/modules/AOW_WorkFlow/AOW_WorkFlow.php +++ b/modules/AOW_WorkFlow/AOW_WorkFlow.php @@ -407,16 +407,68 @@ class AOW_WorkFlow extends Basic $field = $table_alias.'_cstm.'.$condition->field; $query = $this->build_flow_custom_query_join( $table_alias, - $table_alias.'_cstm', + $table_alias . '_cstm', $condition_module, $query ); + } else if (isset($data['source']) && $data['source'] == 'non-db' && $data['type'] == 'relate' && !empty($data['link'])) { + $rel = $data['link']; + if (!isset($query['join'][$rel])) { + if ($condition_module->load_relationship($rel)) { + $join = $condition_module->$rel->getJoin([ + 'join_type' => 'LEFT JOIN', + 'join_table_alias' => str_replace('.', '_', $rel), + 'left_join_table_alias' => $table_alias, + 'right_join_table_alias' => $table_alias + ], true); + $query['join'][$rel] = $join['join']; + $query['select'][] = $join['select'] . " AS '" . str_replace('.', '_', $rel) . "_id'"; + } + } + $relObject = $condition_module->$rel; + + if (!empty($relObject)) { + if ($relObject->getRelationshipObject()->type == 'one-to-many') { + $field = $table_alias . '.' . $data['id_name']; + } else { + $targetTable = $relObject->getRelationshipObject()->getRelationshipTable(); + $field = $targetTable . '.' . $data['id_name']; + } + } else { + $field = $table_alias . '.' . $condition->field; + } + } else if (isset($data['source']) && $data['source'] == 'non-db' && $data['type'] == 'relate') { + $relModule = $data['module']; + $relBean = BeanFactory::getBean($relModule); + $relAlias = $data['id']; + $id_name = $data['id_name']; + $parentFieldDef = $condition_module->getFieldDefinition($data['id_name']); + if (!empty($parentFieldDef['source']) && $parentFieldDef['source'] == 'custom_fields') { + $query = $this->build_flow_custom_query_join( + $table_alias, + $table_alias . '_cstm', + $condition_module, + $query + ); + $table_alias = $table_alias . '_cstm'; + } + $primaryKey = $relBean->getPrimaryFieldDefinition(); + if (!isset($query['join'][$relAlias])) { + $query['join'][$relAlias] = ' LEFT JOIN ' . $relBean->getTableName() + . ' ' . $relAlias . ' ON ' . $table_alias . '.' . $id_name . ' = ' . $relAlias . '.' . $primaryKey['name']; + } + $field = $relAlias . '.' . $data['rname']; + $relFieldDef = $relBean->getFieldDefinition($data['rname']); + + if (isset($relFieldDef['db_concat_fields'])) { + $field = $this->db->concat($relAlias, $relFieldDef['db_concat_fields']); + } } else { - $field = $table_alias.'.'.$condition->field; + $field = $table_alias . '.' . $condition->field; } if ($condition->operator == 'is_null') { - $query['where'][] = '('.$field.' '.$this->getSQLOperator($condition->operator).' OR '.$field.' '.$this->getSQLOperator('Equal_To')." '')"; + $query['where'][] = '(' . $field . ' ' . $this->getSQLOperator($condition->operator) . ' OR ' . $field . ' ' . $this->getSQLOperator('Equal_To') . " '')"; return $query; } diff --git a/modules/AOW_WorkFlow/aow_utils.php b/modules/AOW_WorkFlow/aow_utils.php index f6eeed50f..a40fb9000 100755 --- a/modules/AOW_WorkFlow/aow_utils.php +++ b/modules/AOW_WorkFlow/aow_utils.php @@ -384,10 +384,6 @@ function getModuleField( $vardef['type'] = 'varchar'; } - if (isset($vardef['precision'])) { - unset($vardef['precision']); - } - //$vardef['precision'] = $locale->getPrecedentPreference('default_currency_significant_digits', $current_user); if ($vardef['type'] == 'datetime') { diff --git a/modules/Administration/AOPAdmin.php b/modules/Administration/AOPAdmin.php index 88e1edb31..8c7d099fe 100644 --- a/modules/Administration/AOPAdmin.php +++ b/modules/Administration/AOPAdmin.php @@ -126,7 +126,7 @@ if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'save') { * We save the case_status_changes array as json since the way config changes are persisted to config.php * means that removing entries is tricky. json simplifies this. */ - $cfg->config['aop']['case_status_changes'] = json_encode(array_combine($_POST['if_status'], $_POST['then_status'])); + $cfg->config['aop']['case_status_changes'] = json_encode(array_combine($_POST['if_status'] ?? [], $_POST['then_status'] ?? [])); $cfg->saveConfig(); header('Location: index.php?module=Administration&action=index'); exit(); diff --git a/modules/Administration/language/en_us.lang.php b/modules/Administration/language/en_us.lang.php index 26280aa1a..169f0573a 100755 --- a/modules/Administration/language/en_us.lang.php +++ b/modules/Administration/language/en_us.lang.php @@ -585,6 +585,9 @@ $mod_strings = array( 'LBL_UW_UPGRADE_SUCCESSFUL' => "Upgrade applied successfully!
\n", 'LBL_UW_UPLOAD_MODULE' => 'Module', 'LBL_UW_TYPE_THEME' => 'Theme', + 'LBL_UW_TYPE_MODULE' => 'Module', + 'LBL_UW_MODE_INSTALL' => 'Installed', + 'LBL_UW_MODE_UNINSTALL' => 'Uninstalled', 'LBL_UW_UPLOAD_SUCCESS' => " has been uploaded.
", 'LBL_VISIBLE_PANELS' => 'Displayed Subpanels', 'LBL_VISIBLE_TABS' => 'Displayed Modules', diff --git a/modules/InboundEmail/InboundEmail.php b/modules/InboundEmail/InboundEmail.php index 6ea351674..dc8f125df 100755 --- a/modules/InboundEmail/InboundEmail.php +++ b/modules/InboundEmail/InboundEmail.php @@ -6904,7 +6904,7 @@ class InboundEmail extends SugarBean /** @var User $owner */ $owner = BeanFactory::getBean('Users', $createdBy); - $emailSignatures = $owner->getPreference('account_signatures', 'Emails'); + $emailSignatures = $owner->getPreference('account_signatures', 'Emails') ?? ''; $emailSignatures = sugar_unserialize(base64_decode($emailSignatures)); $signatureId = $emailSignatures[$inboundEmailId] ?? ''; @@ -8598,16 +8598,7 @@ eoq; */ protected function getImapHandlerType(): string { - global $log; - $handlerType = 'native'; - - if (!empty($this->auth_type) && $this->auth_type === 'oauth') { - $handlerType = 'imap2'; - } - - $log->debug('Using imap handler type: ' . $handlerType); - - return $handlerType; + return 'imap2'; } /** diff --git a/modules/Tasks/Save.php b/modules/Tasks/Save.php index c5bdce44c..7771ed587 100755 --- a/modules/Tasks/Save.php +++ b/modules/Tasks/Save.php @@ -91,13 +91,13 @@ if (!$focus->ACLAccess('Save')) { if (isCloseAndCreateNewPressed()) { $focus->status = 'Completed'; } -if (!isset($_POST['date_due_flag'])) { - $focus->date_due_flag = 0; +if (isset($_POST['date_due'])) { + $focus->date_due_flag = 1; } -if (!isset($_POST['date_start_flag'])) { - $focus->date_start_flag = 0; +if (isset($_POST['date_start'])) { + $focus->date_start_flag = 1; } -if ($focus->date_due_flag != 'off' && $focus->date_due_flag != 1) { +if ($focus->date_due_flag !== 'off' && $focus->date_due_flag !== 1) { $focus->date_due = ''; $focus->time_due = ''; } diff --git a/service/core/REST/SugarRestJSON.php b/service/core/REST/SugarRestJSON.php index 7facc460e..5a83ebda4 100755 --- a/service/core/REST/SugarRestJSON.php +++ b/service/core/REST/SugarRestJSON.php @@ -91,6 +91,9 @@ class SugarRestJSON extends SugarRest{ $json = getJSONObj(); $data = $json->decode($json_data); if(!is_array($data))$data = array($data); + if (!isset($data['application_name']) && isset($data['application'])){ + $data['application_name'] = $data['application']; + } $res = call_user_func_array(array( $this->implementation, $method),$data); $GLOBALS['log']->info('End: SugarRestJSON->serve'); return $res; diff --git a/service/v4/SugarWebServiceImplv4.php b/service/v4/SugarWebServiceImplv4.php index 2f6ab1f44..4866a6171 100755 --- a/service/v4/SugarWebServiceImplv4.php +++ b/service/v4/SugarWebServiceImplv4.php @@ -70,9 +70,13 @@ class SugarWebServiceImplv4 extends SugarWebServiceImplv3_1 * - user_default_team_id, user_is_admin, user_default_dateformat, user_default_timeformat * @exception 'SoapFault' -- The SOAP error, if any */ - public function login($user_auth, $application = null, $name_value_list = array()) + public function login($user_auth, $application = null, $name_value_list = array(), ...$args) { - $GLOBALS['log']->info("Begin: SugarWebServiceImpl->login({$user_auth['user_name']}, $application, ". print_r($name_value_list, true) .")"); + $application_name = $args['application_name'] ?? ''; + if ($application_name === '' && $application === null){ + $GLOBALS['log']->info("Application name not set. Please set using 'application_name' or 'application'. "); + } + $GLOBALS['log']->info("Begin: SugarWebServiceImpl->login({$user_auth['user_name']}, $application_name, ". print_r($name_value_list, true) .")"); global $sugar_config, $system_config; $error = new SoapError(); $user = BeanFactory::newBean('Users'); diff --git a/suitecrm_version.php b/suitecrm_version.php index 87ccf62e7..6c9dc08d3 100755 --- a/suitecrm_version.php +++ b/suitecrm_version.php @@ -3,5 +3,5 @@ if (!defined('sugarEntry') || !sugarEntry) { die('Not A Valid Entry Point'); } -$suitecrm_version = '7.13.3'; -$suitecrm_timestamp = '2023-04-24 12:00:00'; +$suitecrm_version = '7.13.4'; +$suitecrm_timestamp = '2023-07-11 12:00:00'; diff --git a/tests/SuiteCRM/Test/Driver/WebDriver.php b/tests/SuiteCRM/Test/Driver/WebDriver.php index 9acc53e67..00407ddaa 100644 --- a/tests/SuiteCRM/Test/Driver/WebDriver.php +++ b/tests/SuiteCRM/Test/Driver/WebDriver.php @@ -47,15 +47,6 @@ use Exception; */ class WebDriver extends \Codeception\Module\WebDriver { - public function _initialize() - { - $config = $this->_getConfig(); - $this->config['host'] = $config['host']; - $this->config['port'] = $config['port']; - - parent::_initialize(); - } - protected function initialWindowSize() { $config = $this->_getConfig(); diff --git a/tests/acceptance.suite.yml b/tests/acceptance.suite.yml index add0bdde6..767c7468a 100644 --- a/tests/acceptance.suite.yml +++ b/tests/acceptance.suite.yml @@ -14,5 +14,23 @@ modules: - \SuiteCRM\Test\Driver\WebDriver config: \SuiteCRM\Test\Driver\WebDriver: - url: "https://demo.suiteondemand.com" - browser: chrome + url: '%INSTANCE_URL%' + browser: '%BROWSER%' + host: '%WEBDRIVER_HOST%' + port: '%WEBDRIVER_PORT%' +env: + chrome: + modules: + config: + \SuiteCRM\Test\Driver\WebDriver: + browser: chrome + firefox: + modules: + config: + \SuiteCRM\Test\Driver\WebDriver: + browser: firefox + edge: + modules: + config: + \SuiteCRM\Test\Driver\WebDriver: + browser: MicrosoftEdge \ No newline at end of file diff --git a/tests/acceptance/_bootstrap.php b/tests/acceptance/_bootstrap.php index 3a02455bd..7e8c5f34f 100644 --- a/tests/acceptance/_bootstrap.php +++ b/tests/acceptance/_bootstrap.php @@ -2,6 +2,7 @@ // Here you can initialize variables that will be available to your tests /* bootstrap composer's autoloader */ +chdir(__DIR__.'/../../'); require_once __DIR__ . '/../../vendor/autoload.php'; global $sugar_config, $db; diff --git a/tests/api/_bootstrap.php b/tests/api/_bootstrap.php index e2a5d656b..d128aecd8 100644 --- a/tests/api/_bootstrap.php +++ b/tests/api/_bootstrap.php @@ -1,5 +1,6 @@ {if $showFilterIcon}