diff --git a/.gitignore b/.gitignore index fd0c450..65018a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,38 @@ /composer.lock -/plugins +/composer.phar +/phpunit.xml +/.phpunit.result.cache +/phpunit.phar +/config/Migrations/schema-dump-default.lock +/vendor/ +/.idea/ +*.diff +*.err +*.log +*.orig +*.rej +*.swo +*.swp +*.vi +*~ +/.ddev/ +.idea/* +nbproject/* +.vscode +.DS_Store +.cache +.project +.settings +.svn +errors.err +tags +node_modules +package-lock.json +/nbproject/ /vendor +/webroot/css/style.css.map +/webroot/mix.js.map +/webroot/mix-manifest.json +/tools/ +/.phpunit.cache/ /auth.json -/.ddev -/.idea -/.phpunit.result.cache diff --git a/.phive/phars.xml b/.phive/phars.xml index 9aa6dfe..bf43870 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,5 +1,5 @@ - - + + diff --git a/.semver b/.semver deleted file mode 100644 index 9f57831..0000000 --- a/.semver +++ /dev/null @@ -1,6 +0,0 @@ ---- -:major: 3 -:minor: 0 -:patch: 0 -:special: '' -:metadata: '' diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dcde51..c68bc2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,15 @@ Changelog ========= -* 3.0.0-dev CakePHP 5.x support +* 3.1.0 + * fixed issue with $constant beeing of type /Cake/ORM/Entity + * fixed issue with missing support for non hydrated results in src/Model/Behavior/Strategy/ConstStrategy.php -* 2.0.0 CakePHP 4.x support +* 3.0.0 + * CakePHP 5.x support + +* 2.0.0 + * CakePHP 4.x support * 1.2.0 * Documentation improved diff --git a/Docs/Home.md b/Docs/Home.md index 7d5d621..c2ed3d0 100644 --- a/Docs/Home.md +++ b/Docs/Home.md @@ -4,7 +4,7 @@ Home Requirements ------------ -* CakePHP 5.0+ +* CakePHP 5.0.6+ * PHP 8.1+ Documentation diff --git a/README.md b/README.md index d4f0d30..119cb86 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,10 @@ Enumeration list for [CakePHP 5](http://cakephp.org). Versions and branches --------------------- -| CakePHP | CakeDC Enum Plugin | Tag | Notes | -|:----------|:-------------------------------------------------------|:------|:---------| -| ^5.0.0 | [3.next](https://github.com/cakedc/enum/tree/3next) | 3.0.0 | unstable | -| ^4.0 | [2.next](https://github.com/cakedc/enum/tree/2.next) | 2.0.4 | stable | -| ^3.7 | [master](https://github.com/cakedc/enum/tree/master) | 1.5.0 | stable | -| ^3.7 | [develop](https://github.com/cakedc/enum/tree/develop) | - | unstable | -| ^3.6 | [master](https://github.com/cakedc/enum/tree/1.4.0) | 1.4.0 | stable | -| 3.1 - 3.5 | | 1.3.0 | stable | - +| CakePHP | CakeDC Enum Plugin | Tag | Notes | +|:--------|:-----------------------------------------------------------|:------|:-------| +| ^5.0.6 | [3.next](https://github.com/cakedc/enum/tree/3.next-cake5) | 3.1.0 | stable | +| ^4.0 | [2.next](https://github.com/cakedc/enum/tree/2.next) | 2.0.4 | stable | Install ------- @@ -45,7 +40,7 @@ $this->addPlugin('CakeDC/Enum'); Requirements ------------ -* CakePHP 5.0+ +* CakePHP 5.0.6+ * PHP 8.1+ Documentation @@ -68,6 +63,6 @@ This repository follows the [CakeDC Plugin Standard](http://cakedc.com/plugin-st License ------- -Copyright 2015 - 2023 Cake Development Corporation (CakeDC). All rights reserved. +Copyright 2015 - 2024 Cake Development Corporation (CakeDC). All rights reserved. Licensed under the [MIT](http://www.opensource.org/licenses/mit-license.php) License. Redistributions of the source code included in this repository must retain the copyright notice found in each file. diff --git a/VERSION b/VERSION deleted file mode 100644 index 4a36342..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -3.0.0 diff --git a/composer.json b/composer.json index a705943..756c7f6 100644 --- a/composer.json +++ b/composer.json @@ -35,26 +35,23 @@ } }, "scripts": { - "analyse": [ - "@stan", - "@psalm" - ], "check": [ "@cs-check", - "@test", - "@analyse" + "@test" + ], + "cs-check": "phpcs --colors --parallel=16 -p src/ tests/", + "cs-fix": "phpcbf --colors --parallel=16 -p src/ tests/", + "phpstan": "tools/phpstan analyse", + "psalm": "tools/psalm --show-info=false", + "stan": [ + "@phpstan", + "@psalm" ], - "cs-check": "phpcs -p --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", - "cs-fix": "phpcbf --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", - "test": "phpunit --stderr", - "stan": "phpstan analyse src/", - "psalm": "php vendor/psalm/phar/psalm.phar --show-info=false src/ ", - "stan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan:0.12.94 psalm/phar:~4.9.2 && mv composer.backup composer.json", - "stan-rebuild-baseline": "phpstan analyse --configuration phpstan.neon --error-format baselineNeon src/ > phpstan-baseline.neon", - "psalm-rebuild-baseline": "php vendor/psalm/phar/psalm.phar --show-info=false --set-baseline=psalm-baseline.xml src/", - "rector": "rector process", - "rector-setup": "cp composer.json composer.backup && composer require --dev rector/rector:^0.11.2 && mv composer.backup composer.json", - "coverage-test": "phpunit --stderr --coverage-clover=clover.xml" + "stan-tests": "phpstan.phar analyze -c tests/phpstan.neon", + "stan-baseline": "phpstan.phar --generate-baseline", + "stan-setup": "phive install", + "test": "phpunit", + "test-coverage": "phpunit --coverage-clover=clover.xml" }, "config": { "allow-plugins": { diff --git a/config/Migrations/001_create_enum_lookups.php b/config/Migrations/001_create_enum_lookups.php index 7ef9086..65e813a 100644 --- a/config/Migrations/001_create_enum_lookups.php +++ b/config/Migrations/001_create_enum_lookups.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/phpcs.xml b/phpcs.xml index 5c270ce..6c56635 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -1,5 +1,5 @@ - + diff --git a/src/EnumPlugin.php b/src/EnumPlugin.php index fc5ca60..acd89be 100644 --- a/src/EnumPlugin.php +++ b/src/EnumPlugin.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/EnumBehavior.php b/src/Model/Behavior/EnumBehavior.php index b09e472..f1d2bb5 100644 --- a/src/Model/Behavior/EnumBehavior.php +++ b/src/Model/Behavior/EnumBehavior.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Exception/InvalidAliasListException.php b/src/Model/Behavior/Exception/InvalidAliasListException.php index 57374e3..ca25710 100644 --- a/src/Model/Behavior/Exception/InvalidAliasListException.php +++ b/src/Model/Behavior/Exception/InvalidAliasListException.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Exception/MissingEnumConfigurationException.php b/src/Model/Behavior/Exception/MissingEnumConfigurationException.php index ae0810d..5c6c303 100644 --- a/src/Model/Behavior/Exception/MissingEnumConfigurationException.php +++ b/src/Model/Behavior/Exception/MissingEnumConfigurationException.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Exception/MissingEnumStrategyException.php b/src/Model/Behavior/Exception/MissingEnumStrategyException.php index 0e29578..23843e3 100644 --- a/src/Model/Behavior/Exception/MissingEnumStrategyException.php +++ b/src/Model/Behavior/Exception/MissingEnumStrategyException.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Exception/MissingEnumStrategyPrefixException.php b/src/Model/Behavior/Exception/MissingEnumStrategyPrefixException.php index e539421..9c460ee 100644 --- a/src/Model/Behavior/Exception/MissingEnumStrategyPrefixException.php +++ b/src/Model/Behavior/Exception/MissingEnumStrategyPrefixException.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Strategy/AbstractStrategy.php b/src/Model/Behavior/Strategy/AbstractStrategy.php index d5e6f3f..37908a2 100644 --- a/src/Model/Behavior/Strategy/AbstractStrategy.php +++ b/src/Model/Behavior/Strategy/AbstractStrategy.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Strategy/ConfigStrategy.php b/src/Model/Behavior/Strategy/ConfigStrategy.php index 1055dc3..76de4d2 100644 --- a/src/Model/Behavior/Strategy/ConfigStrategy.php +++ b/src/Model/Behavior/Strategy/ConfigStrategy.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Strategy/ConstStrategy.php b/src/Model/Behavior/Strategy/ConstStrategy.php index 324caff..eff663b 100644 --- a/src/Model/Behavior/Strategy/ConstStrategy.php +++ b/src/Model/Behavior/Strategy/ConstStrategy.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ @@ -124,10 +124,14 @@ public function beforeFind(EventInterface $event, SelectQuery $query, ArrayObjec $query->clearContain()->contain($contain); $query->formatResults(fn (CollectionInterface $results) => $results - ->map(function (EntityInterface $row): EntityInterface { + ->map(function (mixed $row): mixed { + if (is_string($row) || !$row) { + return $row; + } + $constant = Hash::get($row, $this->getConfig('field')); - if ($constant instanceof Entity) { + if ($constant instanceof EntityInterface) { return $row; } @@ -138,8 +142,16 @@ public function beforeFind(EventInterface $event, SelectQuery $query, ArrayObjec 'value' => $constant, ], ['markClean' => true, 'markNew' => false]); - $row->set($field, $value); - $row->setDirty($field, false); + if (is_array($row)) { + $row[$field] = $value->toArray(); + + return $row; + } + + if ($row instanceof EntityInterface) { + $row->set($field, $value); + $row->setDirty($field, false); + } return $row; })); diff --git a/src/Model/Behavior/Strategy/LookupStrategy.php b/src/Model/Behavior/Strategy/LookupStrategy.php index 8bca6fa..acf6f74 100644 --- a/src/Model/Behavior/Strategy/LookupStrategy.php +++ b/src/Model/Behavior/Strategy/LookupStrategy.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Behavior/Strategy/StrategyInterface.php b/src/Model/Behavior/Strategy/StrategyInterface.php index 364ac53..ddaf15b 100644 --- a/src/Model/Behavior/Strategy/StrategyInterface.php +++ b/src/Model/Behavior/Strategy/StrategyInterface.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/src/Model/Table/LookupsTable.php b/src/Model/Table/LookupsTable.php index f968657..7a73a68 100644 --- a/src/Model/Table/LookupsTable.php +++ b/src/Model/Table/LookupsTable.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/Fixture/ArticlesFixture.php b/tests/Fixture/ArticlesFixture.php index 075eb8c..cff3284 100644 --- a/tests/Fixture/ArticlesFixture.php +++ b/tests/Fixture/ArticlesFixture.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/Fixture/LookupsFixture.php b/tests/Fixture/LookupsFixture.php index 41b5611..b8f81e9 100644 --- a/tests/Fixture/LookupsFixture.php +++ b/tests/Fixture/LookupsFixture.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/TestCase/Model/Behavior/EnumBehaviorTest.php b/tests/TestCase/Model/Behavior/EnumBehaviorTest.php index 0b21f05..960f72b 100644 --- a/tests/TestCase/Model/Behavior/EnumBehaviorTest.php +++ b/tests/TestCase/Model/Behavior/EnumBehaviorTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/TestCase/Model/Behavior/Strategy/ConfigStrategyTest.php b/tests/TestCase/Model/Behavior/Strategy/ConfigStrategyTest.php index 5526323..7427fc0 100644 --- a/tests/TestCase/Model/Behavior/Strategy/ConfigStrategyTest.php +++ b/tests/TestCase/Model/Behavior/Strategy/ConfigStrategyTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/TestCase/Model/Behavior/Strategy/ConstStrategyTest.php b/tests/TestCase/Model/Behavior/Strategy/ConstStrategyTest.php index 9dd9aef..b6e5b49 100644 --- a/tests/TestCase/Model/Behavior/Strategy/ConstStrategyTest.php +++ b/tests/TestCase/Model/Behavior/Strategy/ConstStrategyTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/TestCase/Model/Behavior/Strategy/LookupStrategyTest.php b/tests/TestCase/Model/Behavior/Strategy/LookupStrategyTest.php index 08b3ef6..e740329 100644 --- a/tests/TestCase/Model/Behavior/Strategy/LookupStrategyTest.php +++ b/tests/TestCase/Model/Behavior/Strategy/LookupStrategyTest.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */ diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 41ceffb..bf6e9e7 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -2,12 +2,12 @@ declare(strict_types=1); /** - * Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * - * @copyright Copyright 2015 - 2023, Cake Development Corporation (http://cakedc.com) + * @copyright Copyright 2015 - 2024, Cake Development Corporation (http://cakedc.com) * @license MIT License (http://www.opensource.org/licenses/mit-license.php) */