diff --git a/.gitignore b/.gitignore index 15ef5241..bd6d8209 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ _* /webroot/css/fonts /webroot/css/webfonts /webroot/coverage/ +/plugins/Sandbox/webroot/js/hljs-djot.js /config/Migrations/schema-dump-default.lock /node_modules/ .phpunit.result.cache diff --git a/composer.json b/composer.json index f4625614..11257596 100644 --- a/composer.json +++ b/composer.json @@ -139,7 +139,7 @@ "cp -R webroot/assets/@fortawesome/fontawesome-free/webfonts webroot/css/ccss/", "cp -R node_modules/bootstrap-icons webroot/assets/", "cp -R node_modules/bootstrap-icons/font/fonts webroot/css/ccss/", - "cp vendor/php-collective/djot/docs/assets/hljs-djot.js plugins/Sandbox/webroot/js/" + "cp vendor/php-collective/djot/docs/public/assets/hljs-djot.js plugins/Sandbox/webroot/js/" ], "setup": "bin/cake generate code_completion && bin/cake generate phpstorm", "annotate": "bin/cake annotate all -r && bin/cake annotate all -r -p Sandbox && bin/cake annotate all -r -p AuthSandbox && bin/cake annotate all -r -p StateMachineSandbox", diff --git a/composer.lock b/composer.lock index a7d63470..ca8aba00 100644 --- a/composer.lock +++ b/composer.lock @@ -8,16 +8,16 @@ "packages": [ { "name": "brick/math", - "version": "0.16.0", + "version": "0.16.2", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f9abcbd068bac8bfa571e8a8a3abbb171163fca1" + "reference": "78454885381afa242dcecaf2dd2476784901d3ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f9abcbd068bac8bfa571e8a8a3abbb171163fca1", - "reference": "f9abcbd068bac8bfa571e8a8a3abbb171163fca1", + "url": "https://api.github.com/repos/brick/math/zipball/78454885381afa242dcecaf2dd2476784901d3ef", + "reference": "78454885381afa242dcecaf2dd2476784901d3ef", "shasum": "" }, "require": { @@ -55,7 +55,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.16.0" + "source": "https://github.com/brick/math/tree/0.16.2" }, "funding": [ { @@ -63,7 +63,7 @@ "type": "github" } ], - "time": "2026-03-06T13:17:27+00:00" + "time": "2026-03-15T00:45:41+00:00" }, { "name": "brick/varexporter", @@ -311,12 +311,12 @@ "source": { "type": "git", "url": "https://github.com/cakephp/cakephp.git", - "reference": "4ddde8960786e4c412822099ef269fb87353ec1c" + "reference": "30c494e50bce1772a0c84b67cf14dc7713b34b56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp/zipball/4ddde8960786e4c412822099ef269fb87353ec1c", - "reference": "4ddde8960786e4c412822099ef269fb87353ec1c", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/30c494e50bce1772a0c84b67cf14dc7713b34b56", + "reference": "30c494e50bce1772a0c84b67cf14dc7713b34b56", "shasum": "" }, "require": { @@ -380,7 +380,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-5.next": "5.3.x-dev" + "dev-5.next": "5.4.x-dev" } }, "autoload": { @@ -425,20 +425,20 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/cakephp" }, - "time": "2026-03-07T13:53:50+00:00" + "time": "2026-03-14T03:20:25+00:00" }, { "name": "cakephp/chronos", - "version": "3.3.1", + "version": "3.3.3", "source": { "type": "git", "url": "https://github.com/cakephp/chronos.git", - "reference": "1e417fdd4a3c6602b6c4634cf54aa9b065127fa2" + "reference": "960e7ecd5709fc186309b0733a18beecb37fd37e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/chronos/zipball/1e417fdd4a3c6602b6c4634cf54aa9b065127fa2", - "reference": "1e417fdd4a3c6602b6c4634cf54aa9b065127fa2", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/960e7ecd5709fc186309b0733a18beecb37fd37e", + "reference": "960e7ecd5709fc186309b0733a18beecb37fd37e", "shasum": "" }, "require": { @@ -450,7 +450,7 @@ }, "require-dev": { "cakephp/cakephp-codesniffer": "^5.0", - "phpunit/phpunit": "^10.5.58 || ^11.1.3" + "phpunit/phpunit": "^10.5.58 || ^11.5.3 || ^12.1.3" }, "type": "library", "autoload": { @@ -484,7 +484,7 @@ "issues": "https://github.com/cakephp/chronos/issues", "source": "https://github.com/cakephp/chronos" }, - "time": "2025-10-30T13:08:23+00:00" + "time": "2026-03-14T17:03:37+00:00" }, { "name": "cakephp/debug_kit", @@ -606,16 +606,16 @@ }, { "name": "cakephp/migrations", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/cakephp/migrations.git", - "reference": "612764c7d69601b78b8efb43de861fc97cce1b03" + "reference": "c8cfb9359cec6a880f67eb25210fb02f260a5bd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/migrations/zipball/612764c7d69601b78b8efb43de861fc97cce1b03", - "reference": "612764c7d69601b78b8efb43de861fc97cce1b03", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/c8cfb9359cec6a880f67eb25210fb02f260a5bd8", + "reference": "c8cfb9359cec6a880f67eb25210fb02f260a5bd8", "shasum": "" }, "require": { @@ -663,7 +663,7 @@ "issues": "https://github.com/cakephp/migrations/issues", "source": "https://github.com/cakephp/migrations" }, - "time": "2026-03-07T18:38:22+00:00" + "time": "2026-03-12T21:10:11+00:00" }, { "name": "cakephp/plugin-installer", @@ -1566,12 +1566,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-ajax.git", - "reference": "65906962d77fee784422c5d04ef36ab18ad0ce09" + "reference": "0f43acc9026f8847541b1e994436c32a4023192d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-ajax/zipball/65906962d77fee784422c5d04ef36ab18ad0ce09", - "reference": "65906962d77fee784422c5d04ef36ab18ad0ce09", + "url": "https://api.github.com/repos/dereuromark/cakephp-ajax/zipball/0f43acc9026f8847541b1e994436c32a4023192d", + "reference": "0f43acc9026f8847541b1e994436c32a4023192d", "shasum": "" }, "require": { @@ -1615,7 +1615,7 @@ "issues": "https://github.com/dereuromark/cakephp-ajax/issues", "source": "https://github.com/dereuromark/cakephp-ajax" }, - "time": "2026-02-22T17:39:12+00:00" + "time": "2026-03-09T16:10:08+00:00" }, { "name": "dereuromark/cakephp-audit-stash", @@ -1623,12 +1623,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-audit-stash.git", - "reference": "ae879561495cc0171264f065fffe4a8c40b70dd4" + "reference": "dd3db2af6ee2edad2085e3b0491dbf1140350e67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-audit-stash/zipball/ae879561495cc0171264f065fffe4a8c40b70dd4", - "reference": "ae879561495cc0171264f065fffe4a8c40b70dd4", + "url": "https://api.github.com/repos/dereuromark/cakephp-audit-stash/zipball/dd3db2af6ee2edad2085e3b0491dbf1140350e67", + "reference": "dd3db2af6ee2edad2085e3b0491dbf1140350e67", "shasum": "" }, "require": { @@ -1662,11 +1662,20 @@ "MIT" ], "description": "Flexible and rock solid audit log tracking plugin for cakephp", + "keywords": [ + "Audit", + "admin-panel", + "cakephp", + "history", + "logging", + "plugin", + "tracking" + ], "support": { "issues": "https://github.com/dereuromark/cakephp-audit-stash/issues", "source": "https://github.com/dereuromark/cakephp-audit-stash/tree/master" }, - "time": "2026-02-27T23:25:09+00:00" + "time": "2026-03-14T03:55:57+00:00" }, { "name": "dereuromark/cakephp-bouncer", @@ -1674,12 +1683,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-bouncer.git", - "reference": "5aa9b4cb358c3587a72ad2382ff580e0bd63464d" + "reference": "7bbe788c6a7cb35612a194c506b649e07cc96854" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-bouncer/zipball/5aa9b4cb358c3587a72ad2382ff580e0bd63464d", - "reference": "5aa9b4cb358c3587a72ad2382ff580e0bd63464d", + "url": "https://api.github.com/repos/dereuromark/cakephp-bouncer/zipball/7bbe788c6a7cb35612a194c506b649e07cc96854", + "reference": "7bbe788c6a7cb35612a194c506b649e07cc96854", "shasum": "" }, "require": { @@ -1731,7 +1740,7 @@ "issues": "https://github.com/dereuromark/cakephp-bouncer/issues", "source": "https://github.com/dereuromark/cakephp-bouncer/tree/master" }, - "time": "2026-02-25T21:52:30+00:00" + "time": "2026-03-09T19:35:49+00:00" }, { "name": "dereuromark/cakephp-cache", @@ -1739,12 +1748,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-cache.git", - "reference": "308e28f8efd5733820cdc331695ce73b8ea841c2" + "reference": "7d4a985551792de9d3644de7d073e2b86f5eb34d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-cache/zipball/308e28f8efd5733820cdc331695ce73b8ea841c2", - "reference": "308e28f8efd5733820cdc331695ce73b8ea841c2", + "url": "https://api.github.com/repos/dereuromark/cakephp-cache/zipball/7d4a985551792de9d3644de7d073e2b86f5eb34d", + "reference": "7d4a985551792de9d3644de7d073e2b86f5eb34d", "shasum": "" }, "require": { @@ -1767,7 +1776,23 @@ "license": [ "MIT" ], - "description": "Cache plugin for CakePHP", + "authors": [ + { + "name": "Mark Scherer", + "homepage": "https://www.dereuromark.de", + "role": "Maintainer" + } + ], + "description": "A CakePHP plugin for view caching with configurable strategies", + "homepage": "https://github.com/dereuromark/cakephp-cache", + "keywords": [ + "cache", + "caching", + "cakephp", + "performance", + "plugin", + "view-cache" + ], "support": { "issues": "https://github.com/dereuromark/cakephp-cache/issues", "source": "https://github.com/dereuromark/cakephp-cache" @@ -1778,7 +1803,7 @@ "type": "github" } ], - "time": "2026-02-22T17:39:13+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-calendar", @@ -1786,12 +1811,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-calendar.git", - "reference": "f332e156f6cee21923f46254f52922baa668157b" + "reference": "3fc09061f17a2e29c167ffe82d81b8973d8d2ce4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-calendar/zipball/f332e156f6cee21923f46254f52922baa668157b", - "reference": "f332e156f6cee21923f46254f52922baa668157b", + "url": "https://api.github.com/repos/dereuromark/cakephp-calendar/zipball/3fc09061f17a2e29c167ffe82d81b8973d8d2ce4", + "reference": "3fc09061f17a2e29c167ffe82d81b8973d8d2ce4", "shasum": "" }, "require": { @@ -1826,15 +1851,17 @@ "keywords": [ "cakephp", "calendar", + "dates", "events", "helper", - "plugin" + "plugin", + "scheduling" ], "support": { "issues": "https://github.com/dereuromark/cakephp-calendar/issues", "source": "https://github.com/dereuromark/cakephp-calendar" }, - "time": "2026-02-22T17:39:08+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-captcha", @@ -1842,12 +1869,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-captcha.git", - "reference": "7b76228addaae86748c7c9f4c88a1f14d88cacb1" + "reference": "fddda229182e5d441806671a4821722c70d513e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-captcha/zipball/7b76228addaae86748c7c9f4c88a1f14d88cacb1", - "reference": "7b76228addaae86748c7c9f4c88a1f14d88cacb1", + "url": "https://api.github.com/repos/dereuromark/cakephp-captcha/zipball/fddda229182e5d441806671a4821722c70d513e5", + "reference": "fddda229182e5d441806671a4821722c70d513e5", "shasum": "" }, "require": { @@ -1886,14 +1913,17 @@ "keywords": [ "cakephp", "captchas", + "form", "plugin", - "security" + "recaptcha", + "security", + "spam-prevention" ], "support": { "issues": "https://github.com/dereuromark/cakephp-captcha/issues", "source": "https://github.com/dereuromark/cakephp-captcha" }, - "time": "2026-02-22T17:38:57+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-comments", @@ -1901,12 +1931,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-comments.git", - "reference": "f5c3c8de0c76048e451eb81d62c103738e55fb0c" + "reference": "8dbdf0b9d4d13ca1a443531d59b17891e146ddc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-comments/zipball/f5c3c8de0c76048e451eb81d62c103738e55fb0c", - "reference": "f5c3c8de0c76048e451eb81d62c103738e55fb0c", + "url": "https://api.github.com/repos/dereuromark/cakephp-comments/zipball/8dbdf0b9d4d13ca1a443531d59b17891e146ddc1", + "reference": "8dbdf0b9d4d13ca1a443531d59b17891e146ddc1", "shasum": "" }, "require": { @@ -1946,18 +1976,22 @@ "role": "Developer" } ], - "description": "CakePHP Comments Plugin", + "description": "A CakePHP plugin for adding threaded comments with moderation support", "homepage": "https://github.com/dereuromark/cakephp-comments/", "keywords": [ + "admin-panel", "cakephp", "comments", - "plugin" + "moderation", + "plugin", + "threaded", + "user-content" ], "support": { "issues": "https://github.com/dereuromark/cakephp-comments/issues", "source": "https://github.com/dereuromark/cakephp-comments/" }, - "time": "2026-02-22T17:39:24+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-data", @@ -1965,12 +1999,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-data.git", - "reference": "2f0f5ed7dea84412aa850a20eb2e7725cb450449" + "reference": "62b04852915a35a4988909057cb1536a11366d10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-data/zipball/2f0f5ed7dea84412aa850a20eb2e7725cb450449", - "reference": "2f0f5ed7dea84412aa850a20eb2e7725cb450449", + "url": "https://api.github.com/repos/dereuromark/cakephp-data/zipball/62b04852915a35a4988909057cb1536a11366d10", + "reference": "62b04852915a35a4988909057cb1536a11366d10", "shasum": "" }, "require": { @@ -2013,16 +2047,21 @@ "description": "A CakePHP plugin containing lots of useful and reusable data containers", "homepage": "https://github.com/dereuromark/cakephp-data", "keywords": [ + "admin-panel", "cakephp", + "cities", + "countries", + "currencies", "data", "geo", - "plugin" + "plugin", + "reference-data" ], "support": { "issues": "https://github.com/dereuromark/cakephp-data/issues", "source": "https://github.com/dereuromark/cakephp-data" }, - "time": "2026-02-22T17:38:59+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-databaselog", @@ -2030,12 +2069,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/CakePHP-DatabaseLog.git", - "reference": "9a4d4d39ecb5ddf49a1d9fae639e3d9ba26642a7" + "reference": "b61cb45a75f0d8fc6e116473a25aeb1bd194b049" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/CakePHP-DatabaseLog/zipball/9a4d4d39ecb5ddf49a1d9fae639e3d9ba26642a7", - "reference": "9a4d4d39ecb5ddf49a1d9fae639e3d9ba26642a7", + "url": "https://api.github.com/repos/dereuromark/CakePHP-DatabaseLog/zipball/b61cb45a75f0d8fc6e116473a25aeb1bd194b049", + "reference": "b61cb45a75f0d8fc6e116473a25aeb1bd194b049", "shasum": "" }, "require": { @@ -2084,20 +2123,23 @@ "homepage": "https://github.com/dereuromark/CakePHP-DatabaseLog/graphs/contributors" } ], - "description": "CakePHP DatabaseLog Plugin", + "description": "A CakePHP plugin for storing and viewing application logs in the database", "homepage": "https://github.com/dereuromark/CakePHP-DatabaseLog/", "keywords": [ + "admin-panel", "cakephp", "database", + "debugging", "logging", "logs", + "monitoring", "plugin" ], "support": { "issues": "https://github.com/dereuromark/CakePHP-DatabaseLog/issues", "source": "https://github.com/dereuromark/CakePHP-DatabaseLog/" }, - "time": "2026-02-27T23:44:10+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-decimal", @@ -2105,12 +2147,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-decimal.git", - "reference": "fba196d8cb8424c6dd376f97bb8d7a87d493dcda" + "reference": "5cf0a220060e70056ce77e034d9dea371c86ba56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-decimal/zipball/fba196d8cb8424c6dd376f97bb8d7a87d493dcda", - "reference": "fba196d8cb8424c6dd376f97bb8d7a87d493dcda", + "url": "https://api.github.com/repos/dereuromark/cakephp-decimal/zipball/5cf0a220060e70056ce77e034d9dea371c86ba56", + "reference": "5cf0a220060e70056ce77e034d9dea371c86ba56", "shasum": "" }, "require": { @@ -2134,12 +2176,28 @@ "license": [ "MIT" ], + "authors": [ + { + "name": "Mark Scherer", + "homepage": "https://www.dereuromark.de", + "role": "Maintainer" + } + ], "description": "CakePHP plugin for decimal handling via value object. Provides DecimalType class.", + "homepage": "https://github.com/dereuromark/cakephp-decimal", + "keywords": [ + "cakephp", + "decimal", + "numbers", + "plugin", + "precision", + "value-object" + ], "support": { "issues": "https://github.com/dereuromark/cakephp-decimal/issues", - "source": "https://github.com/dereuromark/cakephp-decimal/tree/master" + "source": "https://github.com/dereuromark/cakephp-decimal" }, - "time": "2026-02-27T23:45:15+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-dto", @@ -2147,12 +2205,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-dto.git", - "reference": "1cd44127c4ea656819db96cf48acc03f147727cc" + "reference": "3d49eefb899d51f664bbad3aaec2a9420db1ddb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-dto/zipball/1cd44127c4ea656819db96cf48acc03f147727cc", - "reference": "1cd44127c4ea656819db96cf48acc03f147727cc", + "url": "https://api.github.com/repos/dereuromark/cakephp-dto/zipball/3d49eefb899d51f664bbad3aaec2a9420db1ddb4", + "reference": "3d49eefb899d51f664bbad3aaec2a9420db1ddb4", "shasum": "" }, "require": { @@ -2201,18 +2259,22 @@ "role": "Developer" } ], - "description": "CakePHP DTO Plugin", + "description": "A CakePHP plugin for generating immutable Data Transfer Objects with full type safety", "homepage": "https://github.com/dereuromark/cakephp-dto/", "keywords": [ "cakephp", + "code-generation", + "data-transfer", "dto", - "plugin" + "immutable", + "plugin", + "type-safety" ], "support": { "issues": "https://github.com/dereuromark/cakephp-dto/issues", "source": "https://github.com/dereuromark/cakephp-dto/" }, - "time": "2026-02-27T23:49:29+00:00" + "time": "2026-03-13T14:54:40+00:00" }, { "name": "dereuromark/cakephp-expose", @@ -2220,12 +2282,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-expose.git", - "reference": "c2572d366130fa5574396ff19d933f6a01aae6f4" + "reference": "9073df673bb5d02c2dd078e8e987a9dfaeb57495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-expose/zipball/c2572d366130fa5574396ff19d933f6a01aae6f4", - "reference": "c2572d366130fa5574396ff19d933f6a01aae6f4", + "url": "https://api.github.com/repos/dereuromark/cakephp-expose/zipball/9073df673bb5d02c2dd078e8e987a9dfaeb57495", + "reference": "9073df673bb5d02c2dd078e8e987a9dfaeb57495", "shasum": "" }, "require": { @@ -2268,14 +2330,16 @@ "keywords": [ "cakephp", "expose", + "hashids", "obfuscate", + "security", "uuid" ], "support": { "issues": "https://github.com/dereuromark/cakephp-expose/issues", "source": "https://github.com/dereuromark/cakephp-expose/" }, - "time": "2026-02-22T17:38:55+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-favorites", @@ -2283,12 +2347,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-favorites.git", - "reference": "4a6c4ac9ffca7565951705c8d4524de30c73e735" + "reference": "8e2544a850693b7e5a180901bf64b7bc354ed3b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-favorites/zipball/4a6c4ac9ffca7565951705c8d4524de30c73e735", - "reference": "4a6c4ac9ffca7565951705c8d4524de30c73e735", + "url": "https://api.github.com/repos/dereuromark/cakephp-favorites/zipball/8e2544a850693b7e5a180901bf64b7bc354ed3b3", + "reference": "8e2544a850693b7e5a180901bf64b7bc354ed3b3", "shasum": "" }, "require": { @@ -2328,18 +2392,21 @@ "role": "Developer" } ], - "description": "CakePHP Favorites Plugin", + "description": "A CakePHP plugin for managing user favorites, bookmarks and wishlists", "homepage": "https://github.com/dereuromark/cakephp-favorites/", "keywords": [ "Favorites", + "bookmarks", "cakephp", - "plugin" + "plugin", + "stars", + "wishlist" ], "support": { "issues": "https://github.com/dereuromark/cakephp-favorites/issues", "source": "https://github.com/dereuromark/cakephp-favorites/" }, - "time": "2026-02-22T17:39:23+00:00" + "time": "2026-03-13T14:54:44+00:00" }, { "name": "dereuromark/cakephp-feed", @@ -2347,12 +2414,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-feed.git", - "reference": "cc08d09de96201a71469bf75e5265117a9f8b121" + "reference": "b7bc315b02e9b022526d1de94f436b15ed4f17ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-feed/zipball/cc08d09de96201a71469bf75e5265117a9f8b121", - "reference": "cc08d09de96201a71469bf75e5265117a9f8b121", + "url": "https://api.github.com/repos/dereuromark/cakephp-feed/zipball/b7bc315b02e9b022526d1de94f436b15ed4f17ed", + "reference": "b7bc315b02e9b022526d1de94f436b15ed4f17ed", "shasum": "" }, "require": { @@ -2395,7 +2462,7 @@ "issues": "https://github.com/dereuromark/cakephp-feed/issues", "source": "https://github.com/dereuromark/cakephp-feed" }, - "time": "2026-02-22T17:39:01+00:00" + "time": "2026-03-09T16:10:23+00:00" }, { "name": "dereuromark/cakephp-feedback", @@ -2403,12 +2470,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-feedback.git", - "reference": "04c464fb5897499edbba6bceb4a208a487958751" + "reference": "ef7520ad41d8bececceff8ab19887754e5ab57a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-feedback/zipball/04c464fb5897499edbba6bceb4a208a487958751", - "reference": "04c464fb5897499edbba6bceb4a208a487958751", + "url": "https://api.github.com/repos/dereuromark/cakephp-feedback/zipball/ef7520ad41d8bececceff8ab19887754e5ab57a8", + "reference": "ef7520ad41d8bececceff8ab19887754e5ab57a8", "shasum": "" }, "require": { @@ -2446,11 +2513,20 @@ ], "description": "Feedback or bugreport (with screenshot!) tab option in your CakePHP application. Data can be posted directly to Mantis, E-mail, Github issues, filesystem, etc.", "homepage": "https://github.com/dereuromark/cakephp-feedback", + "keywords": [ + "admin-panel", + "bug-report", + "cakephp", + "feedback", + "plugin", + "screenshot", + "user-feedback" + ], "support": { "issues": "https://github.com/dereuromark/cakephp-feedback/issues", "source": "https://github.com/dereuromark/cakephp-feedback/tree/master" }, - "time": "2026-02-22T17:39:03+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-file-storage", @@ -2458,12 +2534,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-file-storage.git", - "reference": "2415fdba88ebe6d120688e5a930a5ea4cce2ee6c" + "reference": "4938d6c065cd6140de4ed39c8a2c61ce8968affc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-file-storage/zipball/2415fdba88ebe6d120688e5a930a5ea4cce2ee6c", - "reference": "2415fdba88ebe6d120688e5a930a5ea4cce2ee6c", + "url": "https://api.github.com/repos/dereuromark/cakephp-file-storage/zipball/4938d6c065cd6140de4ed39c8a2c61ce8968affc", + "reference": "4938d6c065cd6140de4ed39c8a2c61ce8968affc", "shasum": "" }, "require": { @@ -2509,9 +2585,10 @@ } ], "description": "This plugin is giving you the possibility to store files in virtually any kind of storage backend. This plugin is wrapping the Gaufrette library (https://github.com/KnpLabs/Gaufrette) library in a CakePHP fashion and provides a simple way to use the storage adapters through the StorageManager class.", - "homepage": "https://github.com/dereuromark/cakephp-file-storage-plugin", + "homepage": "https://github.com/dereuromark/cakephp-file-storage", "keywords": [ "abstraction", + "admin-panel", "cakephp", "file", "filesystem", @@ -2523,7 +2600,7 @@ "issues": "https://github.com/dereuromark/cakephp-file-storage/issues", "source": "https://github.com/dereuromark/cakephp-file-storage/tree/master" }, - "time": "2026-02-28T00:02:56+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-flash", @@ -2531,12 +2608,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-flash.git", - "reference": "bcbecfc776b844bfd4816b88fc2d744ac2b9758e" + "reference": "7238dba1fd07b2c40dde17fa9986b12bc56563f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-flash/zipball/bcbecfc776b844bfd4816b88fc2d744ac2b9758e", - "reference": "bcbecfc776b844bfd4816b88fc2d744ac2b9758e", + "url": "https://api.github.com/repos/dereuromark/cakephp-flash/zipball/7238dba1fd07b2c40dde17fa9986b12bc56563f7", + "reference": "7238dba1fd07b2c40dde17fa9986b12bc56563f7", "shasum": "" }, "require": { @@ -2578,7 +2655,7 @@ "issues": "https://github.com/dereuromark/cakephp-flash/issues", "source": "https://github.com/dereuromark/cakephp-flash" }, - "time": "2026-02-22T17:39:06+00:00" + "time": "2026-03-09T16:10:29+00:00" }, { "name": "dereuromark/cakephp-geo", @@ -2586,12 +2663,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-geo.git", - "reference": "0292aeb3b638f932a5125a29ab10778ddc568e95" + "reference": "bc5707c1b67746d041d1dd53545bcc6c49ed0f81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-geo/zipball/0292aeb3b638f932a5125a29ab10778ddc568e95", - "reference": "0292aeb3b638f932a5125a29ab10778ddc568e95", + "url": "https://api.github.com/repos/dereuromark/cakephp-geo/zipball/bc5707c1b67746d041d1dd53545bcc6c49ed0f81", + "reference": "bc5707c1b67746d041d1dd53545bcc6c49ed0f81", "shasum": "" }, "require": { @@ -2639,9 +2716,13 @@ "description": "A CakePHP plugin around geocoding tools and helpers.", "homepage": "https://github.com/dereuromark/cakephp-geo", "keywords": [ + "admin-panel", "cakephp", + "coordinates", "geocoding", + "google-maps", "helpers", + "location", "maps", "plugin" ], @@ -2649,7 +2730,7 @@ "issues": "https://github.com/dereuromark/cakephp-geo/issues", "source": "https://github.com/dereuromark/cakephp-geo" }, - "time": "2026-02-06T23:53:55+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-markup", @@ -2657,12 +2738,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-markup.git", - "reference": "164e18222f8a325502300f262e1b23c2fcc4cfae" + "reference": "b390d26db85410bf23f6e74d1938c65558c82f6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-markup/zipball/164e18222f8a325502300f262e1b23c2fcc4cfae", - "reference": "164e18222f8a325502300f262e1b23c2fcc4cfae", + "url": "https://api.github.com/repos/dereuromark/cakephp-markup/zipball/b390d26db85410bf23f6e74d1938c65558c82f6b", + "reference": "b390d26db85410bf23f6e74d1938c65558c82f6b", "shasum": "" }, "require": { @@ -2698,16 +2779,20 @@ "description": "CakePHP plugin for markup (parsing and displaying)", "homepage": "https://github.com/dereuromark/cakephp-markup", "keywords": [ + "bbcode", "cakephp", "highlighting", + "markdown", "markup", - "plugin" + "parsing", + "plugin", + "syntax" ], "support": { "issues": "https://github.com/dereuromark/cakephp-markup/issues", "source": "https://github.com/dereuromark/cakephp-markup" }, - "time": "2026-03-01T02:44:36+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-meta", @@ -2715,12 +2800,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-meta.git", - "reference": "d2c278761c2c767b78a77b050e77e0663570a3b3" + "reference": "faa5c6902bd81d9d59470dd62245a8159c85e273" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-meta/zipball/d2c278761c2c767b78a77b050e77e0663570a3b3", - "reference": "d2c278761c2c767b78a77b050e77e0663570a3b3", + "url": "https://api.github.com/repos/dereuromark/cakephp-meta/zipball/faa5c6902bd81d9d59470dd62245a8159c85e273", + "reference": "faa5c6902bd81d9d59470dd62245a8159c85e273", "shasum": "" }, "require": { @@ -2742,21 +2827,30 @@ "license": [ "MIT" ], - "description": "Meta plugin for CakePHP", + "authors": [ + { + "name": "Mark Scherer", + "homepage": "https://www.dereuromark.de", + "role": "Maintainer" + } + ], + "description": "A CakePHP plugin for SEO meta tags, OpenGraph and Twitter Cards", "homepage": "https://github.com/dereuromark/cakephp-meta", "keywords": [ "cakephp", "canonical", "meta", + "opengraph", "plugin", "seo", + "twitter-cards", "view" ], "support": { "issues": "https://github.com/dereuromark/cakephp-meta/issues", - "source": "https://github.com/dereuromark/cakephp-meta/tree/master" + "source": "https://github.com/dereuromark/cakephp-meta" }, - "time": "2026-02-22T17:39:15+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-qrcode", @@ -2764,12 +2858,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-qrcode.git", - "reference": "bbe33c55dcfaf4a214f8aefa657864aa7939cfef" + "reference": "68c2a35f30b43bfa6cff133b52e1f9ff8cbb3f00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-qrcode/zipball/bbe33c55dcfaf4a214f8aefa657864aa7939cfef", - "reference": "bbe33c55dcfaf4a214f8aefa657864aa7939cfef", + "url": "https://api.github.com/repos/dereuromark/cakephp-qrcode/zipball/68c2a35f30b43bfa6cff133b52e1f9ff8cbb3f00", + "reference": "68c2a35f30b43bfa6cff133b52e1f9ff8cbb3f00", "shasum": "" }, "require": { @@ -2805,10 +2899,14 @@ "role": "Developer" } ], - "description": "CakePHP QR Code Plugin", + "description": "A CakePHP plugin for generating QR codes with helper and admin backend", "homepage": "https://github.com/dereuromark/cakephp-qrcode/", "keywords": [ + "admin-panel", + "barcode", "cakephp", + "generator", + "image", "plugin", "qr code" ], @@ -2816,7 +2914,7 @@ "issues": "https://github.com/dereuromark/cakephp-qrcode/issues", "source": "https://github.com/dereuromark/cakephp-qrcode/" }, - "time": "2026-02-22T17:39:28+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-queue", @@ -2824,12 +2922,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-queue.git", - "reference": "0a52e9cc962f3325da79106670a92cd62e352453" + "reference": "8dc1db72045b6a563b4ebe9af5dbab50072773f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-queue/zipball/0a52e9cc962f3325da79106670a92cd62e352453", - "reference": "0a52e9cc962f3325da79106670a92cd62e352453", + "url": "https://api.github.com/repos/dereuromark/cakephp-queue/zipball/8dc1db72045b6a563b4ebe9af5dbab50072773f8", + "reference": "8dc1db72045b6a563b4ebe9af5dbab50072773f8", "shasum": "" }, "require": { @@ -2884,16 +2982,20 @@ "description": "The Queue plugin for CakePHP provides deferred task execution.", "homepage": "https://github.com/dereuromark/cakephp-queue", "keywords": [ + "admin-panel", + "async", "background", "cakephp", "deferred tasks", - "queue" + "jobs", + "queue", + "workers" ], "support": { "issues": "https://github.com/dereuromark/cakephp-queue/issues", "source": "https://github.com/dereuromark/cakephp-queue" }, - "time": "2026-02-28T00:02:48+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-queue-scheduler", @@ -2901,12 +3003,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-queue-scheduler.git", - "reference": "a3a4f4758b2babcd5fe6a9a6173d3ba2cd522b23" + "reference": "451f032107bc213f4f0770847e3aaa7c7097848a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-queue-scheduler/zipball/a3a4f4758b2babcd5fe6a9a6173d3ba2cd522b23", - "reference": "a3a4f4758b2babcd5fe6a9a6173d3ba2cd522b23", + "url": "https://api.github.com/repos/dereuromark/cakephp-queue-scheduler/zipball/451f032107bc213f4f0770847e3aaa7c7097848a", + "reference": "451f032107bc213f4f0770847e3aaa7c7097848a", "shasum": "" }, "require": { @@ -2938,12 +3040,22 @@ "license": [ "MIT" ], - "description": "QueueScheduler plugin for CakePHP", + "description": "A CakePHP plugin for scheduling recurring queue jobs with cron expressions", + "keywords": [ + "admin-panel", + "automation", + "cakephp", + "cron", + "plugin", + "queue", + "recurring", + "scheduler" + ], "support": { "issues": "https://github.com/dereuromark/cakephp-queue-scheduler/issues", "source": "https://github.com/dereuromark/cakephp-queue-scheduler/tree/master" }, - "time": "2026-02-28T00:02:51+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-ratings", @@ -2951,12 +3063,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-ratings.git", - "reference": "3329657acb663b3f4def3d733f9d4d1921b68da6" + "reference": "4e2c62350c00b98b54fd177d12f357b2222f4f43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-ratings/zipball/3329657acb663b3f4def3d733f9d4d1921b68da6", - "reference": "3329657acb663b3f4def3d733f9d4d1921b68da6", + "url": "https://api.github.com/repos/dereuromark/cakephp-ratings/zipball/4e2c62350c00b98b54fd177d12f357b2222f4f43", + "reference": "4e2c62350c00b98b54fd177d12f357b2222f4f43", "shasum": "" }, "require": { @@ -3004,16 +3116,20 @@ "description": "Ratings Plugin for CakePHP.", "homepage": "https://github.com/dereuromark/cakephp-ratings", "keywords": [ + "Behavior", "cakephp", "plugin", - "ratings" + "ratings", + "reviews", + "stars", + "voting" ], "support": { "issues": "https://github.com/dereuromark/cakephp-ratings/issues", "source": "https://github.com/dereuromark/cakephp-ratings", "wiki": "https://github.com/dereuromark/cakephp-ratings/blob/master/docs" }, - "time": "2026-02-22T17:39:21+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-setup", @@ -3021,12 +3137,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-setup.git", - "reference": "22e90579d1ea5280e078cf728238c8ccb6f4629d" + "reference": "12c95b07196aa7ea193129eb2d10c0b427440a85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-setup/zipball/22e90579d1ea5280e078cf728238c8ccb6f4629d", - "reference": "22e90579d1ea5280e078cf728238c8ccb6f4629d", + "url": "https://api.github.com/repos/dereuromark/cakephp-setup/zipball/12c95b07196aa7ea193129eb2d10c0b427440a85", + "reference": "12c95b07196aa7ea193129eb2d10c0b427440a85", "shasum": "" }, "require": { @@ -3065,6 +3181,7 @@ "description": "A CakePHP plugin containing lots of useful management tools", "homepage": "https://github.com/dereuromark/cakephp-setup", "keywords": [ + "admin-panel", "backup", "bake", "cakephp", @@ -3078,7 +3195,7 @@ "issues": "https://github.com/dereuromark/cakephp-setup/issues", "source": "https://github.com/dereuromark/cakephp-setup" }, - "time": "2026-02-22T17:38:47+00:00" + "time": "2026-03-13T14:43:35+00:00" }, { "name": "dereuromark/cakephp-shim", @@ -3086,12 +3203,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-shim.git", - "reference": "5e0f6da3493c59b46e3543c7d4d2fab06998d18e" + "reference": "565e7fff48d8abe80e70bc8c81d1cd98a4f80996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-shim/zipball/5e0f6da3493c59b46e3543c7d4d2fab06998d18e", - "reference": "5e0f6da3493c59b46e3543c7d4d2fab06998d18e", + "url": "https://api.github.com/repos/dereuromark/cakephp-shim/zipball/565e7fff48d8abe80e70bc8c81d1cd98a4f80996", + "reference": "565e7fff48d8abe80e70bc8c81d1cd98a4f80996", "shasum": "" }, "require": { @@ -3126,15 +3243,18 @@ "homepage": "https://github.com/dereuromark/cakephp-shim", "keywords": [ "cakephp", + "compatibility", "helpers", + "migration", "plugin", - "shim" + "shim", + "upgrade" ], "support": { "issues": "https://github.com/dereuromark/cakephp-shim/issues", "source": "https://github.com/dereuromark/cakephp-shim" }, - "time": "2026-02-22T17:38:43+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-tags", @@ -3142,12 +3262,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-tags.git", - "reference": "97941185de085d804f9cc8ca0e39f034b654e184" + "reference": "7df539bf4fd8f01151be539078de74e098021808" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-tags/zipball/97941185de085d804f9cc8ca0e39f034b654e184", - "reference": "97941185de085d804f9cc8ca0e39f034b654e184", + "url": "https://api.github.com/repos/dereuromark/cakephp-tags/zipball/7df539bf4fd8f01151be539078de74e098021808", + "reference": "7df539bf4fd8f01151be539078de74e098021808", "shasum": "" }, "require": { @@ -3200,14 +3320,17 @@ "homepage": "https://github.com/dereuromark/cakephp-tags", "keywords": [ "cakephp", + "categorization", + "plugin", "tagging", - "tags" + "tags", + "taxonomy" ], "support": { "issues": "https://github.com/dereuromark/cakephp-tags/issues", "source": "https://github.com/dereuromark/cakephp-tags" }, - "time": "2026-02-06T23:54:20+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "dereuromark/cakephp-templating", @@ -3215,12 +3338,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-templating.git", - "reference": "d14b6671fd2698d8a73b58e2d48650b89d790b34" + "reference": "f502a4a78b203afa3288fd36794ea7ca6071f765" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-templating/zipball/d14b6671fd2698d8a73b58e2d48650b89d790b34", - "reference": "d14b6671fd2698d8a73b58e2d48650b89d790b34", + "url": "https://api.github.com/repos/dereuromark/cakephp-templating/zipball/f502a4a78b203afa3288fd36794ea7ca6071f765", + "reference": "f502a4a78b203afa3288fd36794ea7ca6071f765", "shasum": "" }, "require": { @@ -3254,7 +3377,10 @@ "description": "CakePHP plugin around templating and (font) icons", "homepage": "https://github.com/dereuromark/cakephp-templating", "keywords": [ + "FontAwesome", + "bootstrap", "cakephp", + "helper", "icons", "plugin", "templating" @@ -3263,7 +3389,7 @@ "issues": "https://github.com/dereuromark/cakephp-templating/issues", "source": "https://github.com/dereuromark/cakephp-templating" }, - "time": "2026-02-22T17:39:26+00:00" + "time": "2026-03-13T14:51:22+00:00" }, { "name": "dereuromark/cakephp-tinyauth", @@ -3271,12 +3397,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-tinyauth.git", - "reference": "dbc01608bf0e6f4db79fa2aeaa3f70d65557f50f" + "reference": "ca8b6e4848b528c1283c4e5e9a6d60c9f2fee7ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-tinyauth/zipball/dbc01608bf0e6f4db79fa2aeaa3f70d65557f50f", - "reference": "dbc01608bf0e6f4db79fa2aeaa3f70d65557f50f", + "url": "https://api.github.com/repos/dereuromark/cakephp-tinyauth/zipball/ca8b6e4848b528c1283c4e5e9a6d60c9f2fee7ce", + "reference": "ca8b6e4848b528c1283c4e5e9a6d60c9f2fee7ce", "shasum": "" }, "require": { @@ -3313,8 +3439,11 @@ "homepage": "https://github.com/dereuromark/cakephp-tinyauth", "keywords": [ "Authentication", + "acl", "authorization", "cakephp", + "middleware", + "permissions", "plugin", "roles", "tinyauth" @@ -3323,7 +3452,7 @@ "issues": "https://github.com/dereuromark/cakephp-tinyauth/issues", "source": "https://github.com/dereuromark/cakephp-tinyauth" }, - "time": "2026-02-07T09:09:24+00:00" + "time": "2026-03-13T14:51:22+00:00" }, { "name": "dereuromark/cakephp-tools", @@ -3331,12 +3460,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-tools.git", - "reference": "3b52cccd7382c3389459ba8ee5ca6a06201ae3b0" + "reference": "c36221455648ee796f1d43655f3d88c51b677142" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-tools/zipball/3b52cccd7382c3389459ba8ee5ca6a06201ae3b0", - "reference": "3b52cccd7382c3389459ba8ee5ca6a06201ae3b0", + "url": "https://api.github.com/repos/dereuromark/cakephp-tools/zipball/c36221455648ee796f1d43655f3d88c51b677142", + "reference": "c36221455648ee796f1d43655f3d88c51b677142", "shasum": "" }, "require": { @@ -3389,7 +3518,7 @@ "issues": "https://github.com/dereuromark/cakephp-tools/issues", "source": "https://github.com/dereuromark/cakephp-tools" }, - "time": "2026-03-07T23:37:52+00:00" + "time": "2026-03-09T16:11:00+00:00" }, { "name": "dereuromark/cakephp-translate", @@ -3397,12 +3526,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-translate.git", - "reference": "42626cfe52bdd4cc5767cd11af448ba9357573fd" + "reference": "a83c4e83b0d7a1dfe8acbdd68723bf547b040d20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-translate/zipball/42626cfe52bdd4cc5767cd11af448ba9357573fd", - "reference": "42626cfe52bdd4cc5767cd11af448ba9357573fd", + "url": "https://api.github.com/repos/dereuromark/cakephp-translate/zipball/a83c4e83b0d7a1dfe8acbdd68723bf547b040d20", + "reference": "a83c4e83b0d7a1dfe8acbdd68723bf547b040d20", "shasum": "" }, "require": { @@ -3450,15 +3579,21 @@ "description": "A CakePHP plugin for managing translations", "homepage": "https://github.com/dereuromark/cakephp-translate", "keywords": [ + "admin-panel", "cakephp", "i18n", - "plugin" + "l10n", + "localization", + "plugin", + "po-files", + "standalone-ui", + "translations" ], "support": { "issues": "https://github.com/dereuromark/cakephp-translate/issues", "source": "https://github.com/dereuromark/cakephp-translate" }, - "time": "2026-03-04T00:06:21+00:00" + "time": "2026-03-13T14:53:18+00:00" }, { "name": "dereuromark/media-embed", @@ -3466,12 +3601,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/media-embed.git", - "reference": "c08ef0ce1a3075818bbfe1f4f54a5e3e1144a64e" + "reference": "901f3eb3f01e5530274eaa937313a5a675188fb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/media-embed/zipball/c08ef0ce1a3075818bbfe1f4f54a5e3e1144a64e", - "reference": "c08ef0ce1a3075818bbfe1f4f54a5e3e1144a64e", + "url": "https://api.github.com/repos/dereuromark/media-embed/zipball/901f3eb3f01e5530274eaa937313a5a675188fb4", + "reference": "901f3eb3f01e5530274eaa937313a5a675188fb4", "shasum": "" }, "require": { @@ -3480,7 +3615,7 @@ }, "require-dev": { "fig-r/psr2r-sniffer": "@stable", - "phpunit/phpunit": "^10.5 || ^11.5 || ^12.1", + "phpunit/phpunit": "^10.5 || ^11.5 || ^12.1 || 13.0", "sebastian/diff": "@stable" }, "default-branch": true, @@ -3523,7 +3658,7 @@ "type": "github" } ], - "time": "2025-12-01T17:32:44+00:00" + "time": "2026-03-09T04:07:56+00:00" }, { "name": "dflydev/dot-access-data", @@ -6242,12 +6377,12 @@ "source": { "type": "git", "url": "https://github.com/php-collective/djot-php.git", - "reference": "68a5a749ef6ee10e8969aaa872ec36dade90cfa5" + "reference": "d12f66bd89171d5c6082f35f935f0494ab91a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-collective/djot-php/zipball/68a5a749ef6ee10e8969aaa872ec36dade90cfa5", - "reference": "68a5a749ef6ee10e8969aaa872ec36dade90cfa5", + "url": "https://api.github.com/repos/php-collective/djot-php/zipball/d12f66bd89171d5c6082f35f935f0494ab91a2c5", + "reference": "d12f66bd89171d5c6082f35f935f0494ab91a2c5", "shasum": "" }, "require": { @@ -6257,7 +6392,7 @@ "nikic/php-fuzzer": "^0.0.11", "php-collective/code-sniffer": "dev-master", "phpstan/phpstan": "^2.1.32", - "phpunit/phpunit": "^11.0 || ^12.0" + "phpunit/phpunit": "^11.0 || ^12.0 || ^13.0" }, "default-branch": true, "bin": [ @@ -6296,7 +6431,7 @@ "type": "github" } ], - "time": "2026-03-08T06:10:05+00:00" + "time": "2026-03-15T06:31:22+00:00" }, { "name": "php-collective/dto", @@ -6372,12 +6507,12 @@ "source": { "type": "git", "url": "https://github.com/php-collective/file-storage.git", - "reference": "a27742365781aed2b3df3037fff03f4f4f6bcc2a" + "reference": "0812afcb8a35f9db6292a805a1a9d0ee6da8419a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-collective/file-storage/zipball/a27742365781aed2b3df3037fff03f4f4f6bcc2a", - "reference": "a27742365781aed2b3df3037fff03f4f4f6bcc2a", + "url": "https://api.github.com/repos/php-collective/file-storage/zipball/0812afcb8a35f9db6292a805a1a9d0ee6da8419a", + "reference": "0812afcb8a35f9db6292a805a1a9d0ee6da8419a", "shasum": "" }, "require": { @@ -6436,7 +6571,7 @@ "issues": "https://github.com/php-collective/file-storage/issues", "source": "https://github.com/php-collective/file-storage/tree/master" }, - "time": "2025-11-10T21:52:59+00:00" + "time": "2026-03-08T17:12:47+00:00" }, { "name": "php-collective/file-storage-factories", @@ -6515,12 +6650,12 @@ "source": { "type": "git", "url": "https://github.com/php-collective/file-storage-image-processor.git", - "reference": "62e36be705d0ad9ca6c44ebb704ab4f31cf72dfb" + "reference": "697eaa4114c3f9ce7836a804e665f3b94bb10f7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-collective/file-storage-image-processor/zipball/62e36be705d0ad9ca6c44ebb704ab4f31cf72dfb", - "reference": "62e36be705d0ad9ca6c44ebb704ab4f31cf72dfb", + "url": "https://api.github.com/repos/php-collective/file-storage-image-processor/zipball/697eaa4114c3f9ce7836a804e665f3b94bb10f7f", + "reference": "697eaa4114c3f9ce7836a804e665f3b94bb10f7f", "shasum": "" }, "require": { @@ -6571,7 +6706,7 @@ "issues": "https://github.com/php-collective/file-storage-image-processor/issues", "source": "https://github.com/php-collective/file-storage-image-processor/tree/master" }, - "time": "2025-11-10T21:57:34+00:00" + "time": "2026-03-08T17:12:52+00:00" }, { "name": "php-http/discovery", @@ -10040,12 +10175,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-ide-helper-extra.git", - "reference": "bce0892e96921cb76ec849a3b39628c4724751b0" + "reference": "67c2aeccb6608a917a258cfa9c066c063dab1269" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-ide-helper-extra/zipball/bce0892e96921cb76ec849a3b39628c4724751b0", - "reference": "bce0892e96921cb76ec849a3b39628c4724751b0", + "url": "https://api.github.com/repos/dereuromark/cakephp-ide-helper-extra/zipball/67c2aeccb6608a917a258cfa9c066c063dab1269", + "reference": "67c2aeccb6608a917a258cfa9c066c063dab1269", "shasum": "" }, "require": { @@ -10102,7 +10237,7 @@ "issues": "https://github.com/dereuromark/cakephp-ide-helper-extra/issues", "source": "https://github.com/dereuromark/cakephp-ide-helper-extra/" }, - "time": "2026-02-22T17:38:53+00:00" + "time": "2026-03-09T16:13:31+00:00" }, { "name": "dereuromark/cakephp-test-helper", @@ -10110,12 +10245,12 @@ "source": { "type": "git", "url": "https://github.com/dereuromark/cakephp-test-helper.git", - "reference": "062e95e8c8ea2dcecad33c4be907eb758aacbb34" + "reference": "05b2f08f1fa84542defe8fe95111e9c633183a50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dereuromark/cakephp-test-helper/zipball/062e95e8c8ea2dcecad33c4be907eb758aacbb34", - "reference": "062e95e8c8ea2dcecad33c4be907eb758aacbb34", + "url": "https://api.github.com/repos/dereuromark/cakephp-test-helper/zipball/05b2f08f1fa84542defe8fe95111e9c633183a50", + "reference": "05b2f08f1fa84542defe8fe95111e9c633183a50", "shasum": "" }, "require": { @@ -10146,22 +10281,26 @@ "role": "Author" } ], - "description": "TestHelper plugin for CakePHP", + "description": "A CakePHP plugin for generating test cases and debugging tests with standalone UI", "homepage": "https://github.com/dereuromark/cakephp-test-helper", "keywords": [ + "admin-panel", "cakephp", + "cli", "coverage", + "debugging", "dev", "generate", "plugin", "setup", + "standalone-ui", "tests" ], "support": { "issues": "https://github.com/dereuromark/cakephp-test-helper/issues", "source": "https://github.com/dereuromark/cakephp-test-helper/tree/master" }, - "time": "2026-02-25T21:14:16+00:00" + "time": "2026-03-13T14:51:21+00:00" }, { "name": "fig-r/psr2r-sniffer", @@ -10405,12 +10544,12 @@ "source": { "type": "git", "url": "https://github.com/php-collective/code-sniffer.git", - "reference": "c40a330bf9f077977e562e26bf7982783940f44c" + "reference": "a72681bc6f0fdda47cd2e86ec3244562f263d9b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-collective/code-sniffer/zipball/c40a330bf9f077977e562e26bf7982783940f44c", - "reference": "c40a330bf9f077977e562e26bf7982783940f44c", + "url": "https://api.github.com/repos/php-collective/code-sniffer/zipball/a72681bc6f0fdda47cd2e86ec3244562f263d9b6", + "reference": "a72681bc6f0fdda47cd2e86ec3244562f263d9b6", "shasum": "" }, "require": { @@ -10457,7 +10596,7 @@ "issues": "https://github.com/php-collective/code-sniffer/issues", "source": "https://github.com/php-collective/code-sniffer" }, - "time": "2026-02-15T15:25:50+00:00" + "time": "2026-03-08T17:12:43+00:00" }, { "name": "phpcsstandards/phpcsextra", @@ -11559,16 +11698,16 @@ }, { "name": "sebastian/environment", - "version": "9.0.0", + "version": "9.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "bb64d08145b021b67d5f253308a498b73ab0461e" + "reference": "e26e9a944bd9d27b3a38a82fc2093d440951bfbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/bb64d08145b021b67d5f253308a498b73ab0461e", - "reference": "bb64d08145b021b67d5f253308a498b73ab0461e", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/e26e9a944bd9d27b3a38a82fc2093d440951bfbe", + "reference": "e26e9a944bd9d27b3a38a82fc2093d440951bfbe", "shasum": "" }, "require": { @@ -11611,7 +11750,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/9.0.0" + "source": "https://github.com/sebastianbergmann/environment/tree/9.0.1" }, "funding": [ { @@ -11631,7 +11770,7 @@ "type": "tidelift" } ], - "time": "2026-02-06T04:43:29+00:00" + "time": "2026-03-15T07:13:02+00:00" }, { "name": "sebastian/exporter", diff --git a/plugins/Sandbox/webroot/js/hljs-djot.js b/plugins/Sandbox/webroot/js/hljs-djot.js deleted file mode 100644 index 78740a81..00000000 --- a/plugins/Sandbox/webroot/js/hljs-djot.js +++ /dev/null @@ -1,387 +0,0 @@ -/** - * Djot language definition for highlight.js - * - * Supports the full Djot specification plus djot-php enhancements. - * @see https://djot.net for Djot specification - * @see https://github.com/php-collective/djot-php for enhancements - */ -(function() { - function djot(hljs) { - // Block attributes: {.class #id key=value} or boolean {reversed} - // Excludes special syntax like {= {+ {- {% - const ATTRIBUTE = { - className: 'attr', - begin: /\{(?![=+\-%])[^}]+\}/, - relevance: 5, - }; - - // Headings: # to ###### - const HEADING = { - className: 'section', - begin: /^#{1,6}\s/, - end: /$/, - relevance: 10, - }; - - // Strong: *text* - const STRONG = { - className: 'strong', - begin: /\*(?!\s)/, - end: /\*/, - relevance: 0, - }; - - // Emphasis: _text_ - const EMPHASIS = { - className: 'emphasis', - begin: /_(?!\s)/, - end: /_/, - relevance: 0, - }; - - // Highlight: {=text=} - const HIGHLIGHT = { - className: 'addition', - begin: /\{=/, - end: /=\}/, - relevance: 5, - }; - - // Insert: {+text+} - const INSERT = { - className: 'addition', - begin: /\{\+/, - end: /\+\}/, - relevance: 5, - }; - - // Delete: {-text-} - const DELETE = { - className: 'deletion', - begin: /\{-/, - end: /-\}/, - relevance: 5, - }; - - // Superscript: ^text^ - const SUPERSCRIPT = { - className: 'built_in', - begin: /\^(?!\s)/, - end: /\^/, - relevance: 2, - }; - - // Subscript: ~text~ - const SUBSCRIPT = { - className: 'built_in', - begin: /~(?!\s)/, - end: /~/, - relevance: 2, - }; - - // Inline code: `code` or ``code`` - const INLINE_CODE = { - className: 'code', - begin: /`+/, - end: /`+/, - relevance: 0, - }; - - // Inline links: [text](url) with optional trailing attributes - const LINK = { - className: 'link', - begin: /\[[^\]]*\]\([^)]*\)(\{[^}]+\})?/, - relevance: 5, - }; - - // Autolinks: or - const AUTOLINK = { - className: 'link', - begin: /]+>/, - relevance: 5, - }; - - // Email autolinks: - const EMAIL_AUTOLINK = { - className: 'link', - begin: /<[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}>/, - relevance: 5, - }; - - // Images: ![alt](url) with optional trailing attributes - const IMAGE = { - className: 'link', - begin: /!\[[^\]]*\]\([^)]*\)(\{[^}]+\})?/, - relevance: 5, - }; - - // Reference links: [text][ref] with optional trailing attributes - const REFERENCE_LINK = { - className: 'link', - begin: /\[[^\]]+\]\[[^\]]*\](\{[^}]+\})?/, - relevance: 5, - }; - - // Spans with attributes: [text]{.class} or [text]{#id} - const SPAN = { - className: 'string', - begin: /\[[^\]]+\]\{[^}]+\}/, - relevance: 5, - }; - - // Reference definitions: [ref]: url - const REFERENCE_DEF = { - className: 'symbol', - begin: /^\[[^\]^\]]+\]:/, - end: /$/, - relevance: 10, - }; - - // Footnote references: [^note] - const FOOTNOTE_REF = { - className: 'symbol', - begin: /\[\^[^\]]+\]/, - relevance: 5, - }; - - // Footnote definitions: [^note]: content - const FOOTNOTE_DEF = { - className: 'symbol', - begin: /^\[\^[^\]]+\]:/, - end: /$/, - relevance: 10, - }; - - // Blockquotes: > text - const BLOCKQUOTE = { - className: 'quote', - begin: /^>/, - end: /$/, - relevance: 0, - }; - - // Horizontal rules: --- or *** or ___ - const HORIZONTAL_RULE = { - className: 'meta', - begin: /^(-{3,}|\*{3,}|_{3,})$/, - relevance: 10, - }; - - // Bullet list items: - or * or + - const LIST_BULLET = { - className: 'bullet', - begin: /^[ \t]*[-*+](?=\s)/, - relevance: 0, - }; - - // Numbered list items: 1. or 1) - const LIST_NUMBER = { - className: 'bullet', - begin: /^[ \t]*\d+[.)](?=\s)/, - relevance: 0, - }; - - // Task list items: - [ ] or - [x] - const TASK_LIST = { - className: 'bullet', - begin: /^[ \t]*[-*+]\s\[[ xX]\]/, - relevance: 5, - }; - - // Definition list terms: : term (at start of line with content after colon+space) - const DEFINITION_TERM = { - className: 'title', - begin: /^: /, - end: /$/, - relevance: 5, - }; - - // Code fence opening: ``` with optional language or =format - const CODE_FENCE_START = { - className: 'keyword', - begin: /^`{3,}\s*=?[a-zA-Z]*$/, - relevance: 10, - }; - - // Code fence closing: ``` - const CODE_FENCE_END = { - className: 'keyword', - begin: /^`{3,}$/, - relevance: 10, - }; - - // Div block opening: ::: with optional class - const DIV_BLOCK_START = { - className: 'keyword', - begin: /^:{3,}\s*\w*$/, - relevance: 10, - }; - - // Div block closing: ::: - const DIV_BLOCK_END = { - className: 'keyword', - begin: /^:{3,}$/, - relevance: 10, - }; - - // Fenced comment opening (djot-php extension): %%% - const FENCED_COMMENT_START = { - className: 'comment', - begin: /^%{3,}$/, - relevance: 10, - }; - - // Fenced comment closing: %%% - const FENCED_COMMENT_END = { - className: 'comment', - begin: /^%{3,}$/, - relevance: 10, - }; - - // Inline comments: {% comment %} - const INLINE_COMMENT = { - className: 'comment', - begin: /\{%/, - end: /%\}/, - relevance: 5, - }; - - // Table rows: | cell | cell | - const TABLE_ROW = { - className: 'string', - begin: /^\|/, - end: /\|(\{[^}]*\})?$/, - relevance: 2, - }; - - // Table separator: |---|---| - const TABLE_SEPARATOR = { - className: 'meta', - begin: /^\|[-:| ]+\|$/, - relevance: 5, - }; - - // Line blocks: | text (for poetry) - const LINE_BLOCK = { - className: 'string', - begin: /^\| /, - end: /$/, - relevance: 3, - }; - - // Captions (djot-php extension): ^ caption text - const CAPTION = { - className: 'title', - begin: /^\^ /, - end: /$/, - relevance: 5, - }; - - // Symbols: :name: - const SYMBOL = { - className: 'symbol', - begin: /:[a-zA-Z_][a-zA-Z0-9_]*:/, - relevance: 3, - }; - - // Inline math: $`code`$ - const INLINE_MATH = { - className: 'formula', - begin: /\$`/, - end: /`\$/, - relevance: 5, - }; - - // Display math: $$`code`$$ - const DISPLAY_MATH = { - className: 'formula', - begin: /\$\$`/, - end: /`\$\$/, - relevance: 5, - }; - - // Raw format marker: {=html} or {=latex} - const RAW_FORMAT = { - className: 'meta', - begin: /\{=[a-zA-Z]+\}/, - relevance: 5, - }; - - // Escaped characters: \* \[ etc - const ESCAPE = { - className: 'symbol', - begin: /\\[!"#$%&'()*+,.\/:;<=>?@\[\\\]^_`{|}~-]/, - relevance: 0, - }; - - // Hard line break: \ at end of line - const HARD_BREAK = { - className: 'meta', - begin: /\\$/, - relevance: 2, - }; - - return { - name: 'Djot', - aliases: ['djot'], - case_insensitive: false, - contains: [ - // Block-level elements (order matters - more specific first) - HEADING, - CODE_FENCE_START, - CODE_FENCE_END, - DIV_BLOCK_START, - DIV_BLOCK_END, - FENCED_COMMENT_START, - FENCED_COMMENT_END, - HORIZONTAL_RULE, - TABLE_SEPARATOR, - LINE_BLOCK, // Must be before TABLE_ROW (both start with |) - TABLE_ROW, - BLOCKQUOTE, - CAPTION, - TASK_LIST, // Must be before LIST_BULLET - LIST_BULLET, - LIST_NUMBER, - DEFINITION_TERM, - FOOTNOTE_DEF, // Must be before REFERENCE_DEF - REFERENCE_DEF, - - // Inline elements (order matters - more specific first) - FOOTNOTE_REF, - IMAGE, // Must be before LINK (starts with !) - SPAN, // Must be before LINK ([text]{attr} vs [text](url)) - REFERENCE_LINK, // Must be before LINK ([text][ref] vs [text](url)) - LINK, - AUTOLINK, - EMAIL_AUTOLINK, - DISPLAY_MATH, // Must be before INLINE_MATH ($$` vs $`) - INLINE_MATH, - RAW_FORMAT, // {=html} - must be before HIGHLIGHT - HIGHLIGHT, // {=text=} - INSERT, // {+text+} - DELETE, // {-text-} - INLINE_COMMENT, // {% %} - must be before ATTRIBUTE - SUPERSCRIPT, - SUBSCRIPT, - STRONG, - EMPHASIS, - INLINE_CODE, - SYMBOL, - ATTRIBUTE, - ESCAPE, - HARD_BREAK, - ], - }; - } - - // Register with highlight.js - if (typeof hljs !== 'undefined') { - hljs.registerLanguage('djot', djot); - } - - // Export for module systems - if (typeof module !== 'undefined' && module.exports) { - module.exports = djot; - } -})();