Ugly progress commit, added Chipsets
This commit is contained in:
parent
5e7658c7b9
commit
f6e00fbdb7
151
composer.lock
generated
151
composer.lock
generated
@ -1700,16 +1700,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/php-parser",
|
"name": "nikic/php-parser",
|
||||||
"version": "v4.15.1",
|
"version": "v4.15.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||||
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
|
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
|
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
|
||||||
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
|
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -1750,9 +1750,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
"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": "psr/cache",
|
"name": "psr/cache",
|
||||||
@ -3451,16 +3451,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/maker-bundle",
|
"name": "symfony/maker-bundle",
|
||||||
"version": "v1.47.0",
|
"version": "v1.48.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/maker-bundle.git",
|
"url": "https://github.com/symfony/maker-bundle.git",
|
||||||
"reference": "e607f129d29a6c1e9a9e1ef3d229d653311d58f3"
|
"reference": "2e428e8432e9879187672fe08f1cc335e2a31dd6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/e607f129d29a6c1e9a9e1ef3d229d653311d58f3",
|
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/2e428e8432e9879187672fe08f1cc335e2a31dd6",
|
||||||
"reference": "e607f129d29a6c1e9a9e1ef3d229d653311d58f3",
|
"reference": "2e428e8432e9879187672fe08f1cc335e2a31dd6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3524,7 +3524,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/symfony/maker-bundle/issues",
|
"issues": "https://github.com/symfony/maker-bundle/issues",
|
||||||
"source": "https://github.com/symfony/maker-bundle/tree/v1.47.0"
|
"source": "https://github.com/symfony/maker-bundle/tree/v1.48.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -3540,7 +3540,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-10-04T15:05:10+00:00"
|
"time": "2022-11-14T10:48:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/monolog-bridge",
|
"name": "symfony/monolog-bridge",
|
||||||
@ -3847,16 +3847,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
|
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
|
||||||
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
|
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3871,7 +3871,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -3909,7 +3909,7 @@
|
|||||||
"portable"
|
"portable"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -3925,20 +3925,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2"
|
"reference": "511a08c03c1960e08a883f4cffcacd219b758354"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
|
||||||
"reference": "433d05519ce6990bf3530fba6957499d327395c2",
|
"reference": "511a08c03c1960e08a883f4cffcacd219b758354",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3950,7 +3950,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -3990,7 +3990,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"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": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4006,20 +4006,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-icu",
|
"name": "symfony/polyfill-intl-icu",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||||
"reference": "e407643d610e5f2c8a4b14189150f68934bf5e48"
|
"reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e407643d610e5f2c8a4b14189150f68934bf5e48",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/a3d9148e2c363588e05abbdd4ee4f971f0a5330c",
|
||||||
"reference": "e407643d610e5f2c8a4b14189150f68934bf5e48",
|
"reference": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4031,7 +4031,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -4077,7 +4077,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4093,20 +4093,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-normalizer",
|
"name": "symfony/polyfill-intl-normalizer",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd"
|
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||||
"reference": "219aa369ceff116e673852dce47c3a41794c14bd",
|
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4118,7 +4118,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -4161,7 +4161,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"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": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4177,20 +4177,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
|
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
|
||||||
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
|
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4205,7 +4205,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -4244,7 +4244,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4260,20 +4260,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php72",
|
"name": "symfony/polyfill-php72",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||||
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2"
|
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||||
"reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2",
|
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4282,7 +4282,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -4320,7 +4320,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4336,20 +4336,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-24T11:49:31+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php80",
|
"name": "symfony/polyfill-php80",
|
||||||
"version": "v1.26.0",
|
"version": "v1.27.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
|
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
|
||||||
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
|
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4358,7 +4358,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "1.26-dev"
|
"dev-main": "1.27-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
@ -4403,7 +4403,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
|
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -4419,7 +4419,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-10T07:21:04+00:00"
|
"time": "2022-11-03T14:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/property-access",
|
"name": "symfony/property-access",
|
||||||
@ -6655,12 +6655,12 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
||||||
"reference": "45470fe91508b361778c84cb492d17826c04bbd7"
|
"reference": "ed33734832e5a87eaa4341be7ce580de54157460"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/45470fe91508b361778c84cb492d17826c04bbd7",
|
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/ed33734832e5a87eaa4341be7ce580de54157460",
|
||||||
"reference": "45470fe91508b361778c84cb492d17826c04bbd7",
|
"reference": "ed33734832e5a87eaa4341be7ce580de54157460",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
@ -6709,7 +6709,7 @@
|
|||||||
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
|
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
|
||||||
"cartalyst/sentry": "<=2.1.6",
|
"cartalyst/sentry": "<=2.1.6",
|
||||||
"catfan/medoo": "<1.7.5",
|
"catfan/medoo": "<1.7.5",
|
||||||
"centreon/centreon": "<21.4.16|>=21.10,<21.10.8|>=22,<22.4.1",
|
"centreon/centreon": "<22.10-beta.1",
|
||||||
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
|
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
|
||||||
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
|
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
|
||||||
"codeigniter/framework": "<=3.0.6",
|
"codeigniter/framework": "<=3.0.6",
|
||||||
@ -6717,7 +6717,7 @@
|
|||||||
"codeigniter4/shield": "= 1.0.0-beta",
|
"codeigniter4/shield": "= 1.0.0-beta",
|
||||||
"codiad/codiad": "<=2.8.4",
|
"codiad/codiad": "<=2.8.4",
|
||||||
"composer/composer": "<1.10.26|>=2-alpha.1,<2.2.12|>=2.3,<2.3.5",
|
"composer/composer": "<1.10.26|>=2-alpha.1,<2.2.12|>=2.3,<2.3.5",
|
||||||
"concrete5/concrete5": "<9",
|
"concrete5/concrete5": ">= 9.0.0RC1, < 9.1.3|<9",
|
||||||
"concrete5/core": "<8.5.8|>=9,<9.1",
|
"concrete5/core": "<8.5.8|>=9,<9.1",
|
||||||
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
|
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
|
||||||
"contao/contao": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3",
|
"contao/contao": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3",
|
||||||
@ -6763,16 +6763,17 @@
|
|||||||
"ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1",
|
"ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1",
|
||||||
"ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1",
|
"ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1",
|
||||||
"ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24",
|
"ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24",
|
||||||
"ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.27",
|
"ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26",
|
||||||
"ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1",
|
"ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1",
|
||||||
"ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.19",
|
"ezsystems/ezplatform-graphql": ">=1-rc.1,<1.0.13|>=2-beta.1,<2.3.12",
|
||||||
|
"ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.26",
|
||||||
"ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8",
|
"ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8",
|
||||||
"ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7",
|
"ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7",
|
||||||
"ezsystems/ezplatform-user": ">=1,<1.0.1",
|
"ezsystems/ezplatform-user": ">=1,<1.0.1",
|
||||||
"ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.29",
|
"ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.30",
|
||||||
"ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1",
|
"ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1",
|
||||||
"ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3",
|
"ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3",
|
||||||
"ezsystems/repository-forms": ">=2.3,<2.3.2.1",
|
"ezsystems/repository-forms": ">=2.3,<2.3.2.1|>=2.5,<2.5.15",
|
||||||
"ezyang/htmlpurifier": "<4.1.1",
|
"ezyang/htmlpurifier": "<4.1.1",
|
||||||
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
|
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
|
||||||
"facturascripts/facturascripts": "<=2022.8",
|
"facturascripts/facturascripts": "<=2022.8",
|
||||||
@ -6796,7 +6797,7 @@
|
|||||||
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
|
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
|
||||||
"friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
|
"friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
|
||||||
"froala/wysiwyg-editor": "<3.2.7",
|
"froala/wysiwyg-editor": "<3.2.7",
|
||||||
"froxlor/froxlor": "<0.10.38",
|
"froxlor/froxlor": "<0.10.39",
|
||||||
"fuel/core": "<1.8.1",
|
"fuel/core": "<1.8.1",
|
||||||
"gaoming13/wechat-php-sdk": "<=1.10.2",
|
"gaoming13/wechat-php-sdk": "<=1.10.2",
|
||||||
"genix/cms": "<=1.1.11",
|
"genix/cms": "<=1.1.11",
|
||||||
@ -6818,7 +6819,9 @@
|
|||||||
"hjue/justwriting": "<=1",
|
"hjue/justwriting": "<=1",
|
||||||
"hov/jobfair": "<1.0.13|>=2,<2.0.2",
|
"hov/jobfair": "<1.0.13|>=2,<2.0.2",
|
||||||
"hyn/multi-tenant": ">=5.6,<5.7.2",
|
"hyn/multi-tenant": ">=5.6,<5.7.2",
|
||||||
"ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4",
|
"ibexa/admin-ui": ">=4.2,<4.2.3",
|
||||||
|
"ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3",
|
||||||
|
"ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3",
|
||||||
"ibexa/post-install": "<=1.0.4",
|
"ibexa/post-install": "<=1.0.4",
|
||||||
"icecoder/icecoder": "<=8.1",
|
"icecoder/icecoder": "<=8.1",
|
||||||
"idno/known": "<=1.3.1",
|
"idno/known": "<=1.3.1",
|
||||||
@ -6913,7 +6916,7 @@
|
|||||||
"onelogin/php-saml": "<2.10.4",
|
"onelogin/php-saml": "<2.10.4",
|
||||||
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
|
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
|
||||||
"open-web-analytics/open-web-analytics": "<1.7.4",
|
"open-web-analytics/open-web-analytics": "<1.7.4",
|
||||||
"opencart/opencart": "<=3.0.3.2",
|
"opencart/opencart": "<=3.0.3.7",
|
||||||
"openid/php-openid": "<2.3",
|
"openid/php-openid": "<2.3",
|
||||||
"openmage/magento-lts": "<19.4.15|>=20,<20.0.13",
|
"openmage/magento-lts": "<19.4.15|>=20,<20.0.13",
|
||||||
"orchid/platform": ">=9,<9.4.4",
|
"orchid/platform": ">=9,<9.4.4",
|
||||||
@ -7181,7 +7184,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-11-03T10:04:41+00:00"
|
"time": "2022-11-16T22:04:17+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/cli-parser",
|
"name": "sebastian/cli-parser",
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
return [
|
return [
|
||||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
use Symfony\Config\MonologConfig;
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
return static function (MonologConfig $config): void {
|
||||||
|
$config->handler('main', [
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
'type' => 'stream',
|
||||||
$containerConfigurator->extension('monolog', ['handlers' => ['main' => ['type' => 'stream', 'path' => '%kernel.logs_dir%/%kernel.environment%.log', 'level' => 'debug', 'channels' => ['!event']], 'console' => ['type' => 'console', 'process_psr_3_messages' => false, 'channels' => ['!event', '!doctrine', '!console']]]]);
|
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
||||||
|
'level' => 'debug',
|
||||||
|
'channels' => ['elements' => ['!event']]
|
||||||
|
]);
|
||||||
|
$config->handler('console', [
|
||||||
|
'type' => 'console',
|
||||||
|
'process_psr_3_messages' => false,
|
||||||
|
'channels' => ['elements' => ['!event', '!doctrine', '!console']]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('web_profiler', ['toolbar' => true, 'intercept_redirects' => false]);
|
$containerConfigurator->extension('web_profiler', [
|
||||||
|
'toolbar' => true,
|
||||||
|
'intercept_redirects' => false
|
||||||
|
]);
|
||||||
|
|
||||||
$containerConfigurator->extension('framework', ['profiler' => ['only_exceptions' => false]]);
|
$containerConfigurator->extension('framework', [
|
||||||
|
'profiler' => [
|
||||||
|
'only_exceptions' => false
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -7,13 +7,13 @@ use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigura
|
|||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$parameters = $containerConfigurator->parameters();
|
$parameters = $containerConfigurator->parameters();
|
||||||
|
|
||||||
$parameters->set('env(DATABASE_URL)', '');
|
$parameters->set('env(DATABASE_URL)', '');
|
||||||
|
|
||||||
$containerConfigurator->extension('doctrine', [
|
$containerConfigurator->extension('doctrine', [
|
||||||
'dbal' => [
|
'dbal' => [
|
||||||
'driver' => 'pdo_pgsql',
|
'driver' => 'pdo_pgsql',
|
||||||
'types' => ['money' => MoneyType::class],
|
'types' => ['money' => MoneyType::class],
|
||||||
|
'logging' => '%kernel.debug%',
|
||||||
'mapping_types' => ['bit' => 'boolean', 'money' => 'money'],
|
'mapping_types' => ['bit' => 'boolean', 'money' => 'money'],
|
||||||
'url' => '%env(DATABASE_URL)%'
|
'url' => '%env(DATABASE_URL)%'
|
||||||
],
|
],
|
||||||
|
@ -2,14 +2,15 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use Symfony\Config\FrameworkConfig;
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator, FrameworkConfig $config): void {
|
||||||
$containerConfigurator->extension('framework', [
|
$config->session(['handler_id' => null]);
|
||||||
'secret' => '%env(APP_SECRET)%',
|
|
||||||
'default_locale' => 'en',
|
$config->secret('%env(APP_SECRET)%')
|
||||||
'http_method_override' => false,
|
->defaultLocale('en')
|
||||||
'session' => ['handler_id' => null],
|
->httpMethodOverride(true)
|
||||||
'php_errors' => ['log' => true]
|
->phpErrors(['log' => true])
|
||||||
]);
|
;
|
||||||
};
|
};
|
||||||
|
@ -1,12 +1,25 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
|
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('doctrine', ['orm' => ['metadata_cache_driver' => ['type' => 'service', 'id' => 'doctrine.system_cache_provider'], 'query_cache_driver' => ['type' => 'service', 'id' => 'doctrine.system_cache_provider'], 'result_cache_driver' => ['type' => 'service', 'id' => 'doctrine.result_cache_provider']]]);
|
$containerConfigurator->extension('doctrine', [
|
||||||
|
'orm' => [
|
||||||
|
'metadata_cache_driver' => [
|
||||||
|
'type' => 'service',
|
||||||
|
'id' => 'doctrine.system_cache_provider'
|
||||||
|
],
|
||||||
|
'query_cache_driver' => [
|
||||||
|
'type' => 'service',
|
||||||
|
'id' => 'doctrine.system_cache_provider'
|
||||||
|
],
|
||||||
|
'result_cache_driver' => [
|
||||||
|
'type' => 'service',
|
||||||
|
'id' => 'doctrine.result_cache_provider'
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
|
||||||
$services = $containerConfigurator->services();
|
$services = $containerConfigurator->services();
|
||||||
|
|
||||||
@ -18,5 +31,16 @@ return static function (ContainerConfigurator $containerConfigurator): void {
|
|||||||
->private()
|
->private()
|
||||||
->args([service('doctrine.system_cache_pool')]);
|
->args([service('doctrine.system_cache_pool')]);
|
||||||
|
|
||||||
$containerConfigurator->extension('framework', ['cache' => ['pools' => ['doctrine.result_cache_pool' => ['adapter' => 'cache.app'], 'doctrine.system_cache_pool' => ['adapter' => 'cache.system']]]]);
|
$containerConfigurator->extension('framework', [
|
||||||
|
'cache' => [
|
||||||
|
'pools' => [
|
||||||
|
'doctrine.result_cache_pool' => [
|
||||||
|
'adapter' => 'cache.app'
|
||||||
|
],
|
||||||
|
'doctrine.system_cache_pool' => [
|
||||||
|
'adapter' => 'cache.system'
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,26 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('monolog', ['handlers' => ['main' => ['type' => 'fingers_crossed', 'action_level' => 'error', 'handler' => 'nested', 'excluded_404s' => ['^/']], 'nested' => ['type' => 'stream', 'path' => '%kernel.logs_dir%/%kernel.environment%.log', 'level' => 'debug'], 'console' => ['type' => 'console', 'process_psr_3_messages' => false, 'channels' => ['!event', '!doctrine']]]]);
|
$containerConfigurator->extension('monolog', [
|
||||||
|
'handlers' => [
|
||||||
|
'main' => [
|
||||||
|
'type' => 'fingers_crossed',
|
||||||
|
'action_level' => 'error',
|
||||||
|
'handler' => 'nested',
|
||||||
|
'excluded_404s' => ['^/']
|
||||||
|
],
|
||||||
|
'nested' => [
|
||||||
|
'type' => 'stream',
|
||||||
|
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
||||||
|
'level' => 'debug'
|
||||||
|
],
|
||||||
|
'console' => [
|
||||||
|
'type' => 'console',
|
||||||
|
'process_psr_3_messages' => false,
|
||||||
|
'channels' => ['!event', '!doctrine']
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('framework', ['router' => ['strict_requirements' => null]]);
|
$containerConfigurator->extension('framework', [
|
||||||
|
'router' => ['strict_requirements' => null]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('framework', ['router' => ['strict_requirements' => null, 'utf8' => true]]);
|
$containerConfigurator->extension('framework', [
|
||||||
|
'router' => [
|
||||||
|
'strict_requirements' => null,
|
||||||
|
'utf8' => true
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,13 +1,36 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
|
use Symfony\Config\SecurityConfig;
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator, SecurityConfig $security): void {
|
||||||
$containerConfigurator->extension('security', ['password_hashers' => [PasswordAuthenticatedUserInterface::class => 'auto'], 'providers' => ['users_in_memory' => ['memory' => null]], 'firewalls' => ['dev' => ['pattern' => '^/(_(profiler|wdt)|css|images|js)/', 'security' => false], 'main' => ['lazy' => true, 'provider' => 'users_in_memory']], 'access_control' => null]);
|
$security->passwordHasher(PasswordAuthenticatedUserInterface::class, 'auto')
|
||||||
|
;
|
||||||
|
|
||||||
|
$containerConfigurator->extension('security', [
|
||||||
|
'providers' => [
|
||||||
|
'users_in_memory' => [
|
||||||
|
'memory' => null]
|
||||||
|
],
|
||||||
|
'firewalls' => [
|
||||||
|
'dev' => [
|
||||||
|
'pattern' => '^/(_(profiler|wdt)|css|images|js)/',
|
||||||
|
'security' => false
|
||||||
|
],
|
||||||
|
'main' => [
|
||||||
|
'lazy' => true,
|
||||||
|
'provider' => 'users_in_memory'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'access_control' => null
|
||||||
|
]);
|
||||||
if ($containerConfigurator->env() === 'test') {
|
if ($containerConfigurator->env() === 'test') {
|
||||||
$containerConfigurator->extension('security', ['password_hashers' => [PasswordAuthenticatedUserInterface::class => ['algorithm' => 'auto', 'cost' => 4, 'time_cost' => 3, 'memory_cost' => 10]]]);
|
$security->passwordHasher(PasswordAuthenticatedUserInterface::class, [
|
||||||
|
'algorithm' => 'auto',
|
||||||
|
'cost' => 4,
|
||||||
|
'time_cost' => 3,
|
||||||
|
'memory_cost' => 10
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('sensio_framework_extra', ['router' => ['annotations' => false]]);
|
$containerConfigurator->extension('sensio_framework_extra', [
|
||||||
|
'router' => ['annotations' => false]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$containerConfigurator->extension('framework', ['default_locale' => 'en', 'translator' => ['default_path' => '%kernel.project_dir%/translations', 'fallbacks' => ['%locale%']]]);
|
$containerConfigurator->extension('framework', [
|
||||||
|
'default_locale' => 'en',
|
||||||
|
'translator' => [
|
||||||
|
'default_path' => '%kernel.project_dir%/translations',
|
||||||
|
'fallbacks' => ['%locale%']
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
use Symfony\Config\TwigConfig;
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
return static function (TwigConfig $config): void {
|
||||||
|
$config->formThemes(['form_custom_layout.html.twig'])
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
->defaultPath('%kernel.project_dir%/templates')
|
||||||
$containerConfigurator->extension('twig', ['form_themes' => ['form_custom_layout.html.twig'], 'paths' => ['%kernel.project_dir%/templates'], 'debug' => '%kernel.debug%', 'strict_variables' => '%kernel.debug%', 'exception_controller' => null]);
|
->debug('%kernel.debug%')
|
||||||
|
->strictVariables('%kernel.debug%')
|
||||||
|
;
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
<?php
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
|
@ -2,10 +2,4 @@
|
|||||||
|
|
||||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
||||||
|
|
||||||
return function (RoutingConfigurator $routes) {
|
return static function (RoutingConfigurator $routes) {};
|
||||||
|
|
||||||
// if the action is implemented as the __invoke() method of the
|
|
||||||
// controller class, you can skip the 'method_name' part:
|
|
||||||
// ->controller(BlogController::class)
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||||
|
|
||||||
use App\Maker\MakeCollectionCrud;
|
use App\Maker\MakeCollectionCrud;
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return function (ContainerConfigurator $configurator): void {
|
return function (ContainerConfigurator $configurator): void {
|
||||||
$parameters = $configurator->parameters();
|
$parameters = $configurator->parameters();
|
||||||
@ -31,7 +30,7 @@ return function (ContainerConfigurator $configurator): void {
|
|||||||
|
|
||||||
// Fix wiring of custom CRUD maker class
|
// Fix wiring of custom CRUD maker class
|
||||||
$services->set(MakeCollectionCrud::class)
|
$services->set(MakeCollectionCrud::class)
|
||||||
->arg('$doctrineHelper', '@maker.doctrine_helper')
|
->arg('$doctrineHelper', service('maker.doctrine_helper'))
|
||||||
->arg('$formTypeRenderer', '@maker.renderer.form_type_renderer');
|
->arg('$formTypeRenderer', service('maker.renderer.form_type_renderer'));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
56
src/Controller/ChipsetController.php
Normal file
56
src/Controller/ChipsetController.php
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use App\Entity\Chipset;
|
||||||
|
use App\Form\ChipsetType;
|
||||||
|
use App\Traits\FormControllerTrait;
|
||||||
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
|
#[Route('/chipset')]
|
||||||
|
class ChipsetController extends AbstractController {
|
||||||
|
use FormControllerTrait;
|
||||||
|
|
||||||
|
protected const ENTITY = Chipset::class;
|
||||||
|
protected const TEMPLATE_PATH = 'chipset/';
|
||||||
|
protected const ROUTE_PREFIX = 'chipset_';
|
||||||
|
protected const FORM = ChipsetType::class;
|
||||||
|
|
||||||
|
public function __construct(private readonly EntityManagerInterface $entityManager)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/', name: 'chipset_index', methods: ['GET'])]
|
||||||
|
public function index(): Response
|
||||||
|
{
|
||||||
|
return $this->itemListView('chipsets', []);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/new', name: 'chipset_new', methods: ['GET', 'POST'])]
|
||||||
|
public function new(Request $request): Response
|
||||||
|
{
|
||||||
|
return $this->itemCreate($request, 'chipset');
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/{id}', name: 'chipset_show', methods: ['GET'])]
|
||||||
|
public function show(Chipset $chipset): Response
|
||||||
|
{
|
||||||
|
return $this->itemView($chipset, 'chipset');
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/{id}/edit', name: 'chipset_edit', methods: ['GET', 'POST'])]
|
||||||
|
public function edit(Request $request, Chipset $chipset): Response
|
||||||
|
{
|
||||||
|
return $this->itemUpdate($request, $chipset, 'chipset');
|
||||||
|
}
|
||||||
|
|
||||||
|
#[Route('/{id}', name: 'chipset_delete', methods: ['POST'])]
|
||||||
|
public function delete(Request $request, Chipset $chipset): Response
|
||||||
|
{
|
||||||
|
return $this->deleteCSRF($request, $chipset);
|
||||||
|
}
|
||||||
|
}
|
@ -3,7 +3,7 @@
|
|||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
use App\Entity\Gpu;
|
use App\Entity\Gpu;
|
||||||
use App\Enum\SlotKeyEnum;
|
use App\Enum\SlotKey;
|
||||||
use App\Form\GpuType;
|
use App\Form\GpuType;
|
||||||
use App\Traits\FormControllerTrait;
|
use App\Traits\FormControllerTrait;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
@ -34,7 +34,7 @@ class GpuController extends AbstractController
|
|||||||
|
|
||||||
$filter = fn (array $itemTypes) => array_filter($acquiredItems, fn (Gpu $item) => in_array($item->getCardKey(), $itemTypes));
|
$filter = fn (array $itemTypes) => array_filter($acquiredItems, fn (Gpu $item) => in_array($item->getCardKey(), $itemTypes));
|
||||||
|
|
||||||
$cardTypes = SlotKeyEnum::getGroups();
|
$cardTypes = SlotKey::getGroups();
|
||||||
$pcieCardTypes = $cardTypes['PCI Express'];
|
$pcieCardTypes = $cardTypes['PCI Express'];
|
||||||
$agpCardTypes = $cardTypes['AGP'];
|
$agpCardTypes = $cardTypes['AGP'];
|
||||||
$pciCardTypes = array_merge($cardTypes['PCI 32-bit'], $cardTypes['PCI 64-bit']);
|
$pciCardTypes = array_merge($cardTypes['PCI 32-bit'], $cardTypes['PCI 64-bit']);
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace App\Entity;
|
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Battery Type
|
|
||||||
*/
|
|
||||||
#[ORM\Table(name: 'battery_type', schema: 'collection')]
|
|
||||||
#[ORM\Entity]
|
|
||||||
class BatteryType
|
|
||||||
{
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
|
||||||
#[ORM\Id]
|
|
||||||
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
|
||||||
private int $id;
|
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
}
|
|
@ -10,7 +10,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
#[ORM\UniqueConstraint(name: 'brand_unq', columns: ["name"])]
|
#[ORM\UniqueConstraint(name: 'brand_unq', columns: ["name"])]
|
||||||
class Brand {
|
class Brand {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
@ -21,7 +21,7 @@ class Brand {
|
|||||||
/**
|
/**
|
||||||
* @var Collection<int, BrandCategory>
|
* @var Collection<int, BrandCategory>
|
||||||
*/
|
*/
|
||||||
#[ORM\ManyToMany(targetEntity: BrandCategory::class, fetch: 'EAGER')]
|
#[ORM\ManyToMany(targetEntity: BrandCategory::class, fetch: 'EXTRA_LAZY')]
|
||||||
#[ORM\JoinTable(name: 'collection.brand_category_link')]
|
#[ORM\JoinTable(name: 'collection.brand_category_link')]
|
||||||
#[ORM\JoinColumn(name: 'brand_id', referencedColumnName: 'id')]
|
#[ORM\JoinColumn(name: 'brand_id', referencedColumnName: 'id')]
|
||||||
#[ORM\InverseJoinColumn(name: 'brand_category', referencedColumnName: 'category_name')]
|
#[ORM\InverseJoinColumn(name: 'brand_category', referencedColumnName: 'category_name')]
|
||||||
@ -31,6 +31,8 @@ class Brand {
|
|||||||
#[ORM\Column(name: 'name', unique: TRUE, nullable: FALSE)]
|
#[ORM\Column(name: 'name', unique: TRUE, nullable: FALSE)]
|
||||||
private string $name;
|
private string $name;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->categories = new ArrayCollection();
|
$this->categories = new ArrayCollection();
|
||||||
|
@ -7,13 +7,15 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Table(name: 'brand_category', schema: 'collection')]
|
#[ORM\Table(name: 'brand_category', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class BrandCategory {
|
class BrandCategory {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\Column(name: 'category_name')]
|
#[ORM\Column(name: 'category_name')]
|
||||||
#[ORM\OrderBy(['name' => 'asc'])]
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
private string $name;
|
private string $name;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
public function __toString(): string
|
public function __toString(): string
|
||||||
{
|
{
|
||||||
return $this->name;
|
return $this->name;
|
||||||
|
@ -12,6 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity(repositoryClass: CameraRepository::class)]
|
#[ORM\Entity(repositoryClass: CameraRepository::class)]
|
||||||
class Camera
|
class Camera
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use CameraTrait;
|
use CameraTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
|
@ -11,8 +11,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
*/
|
*/
|
||||||
trait CameraTrait
|
trait CameraTrait
|
||||||
{
|
{
|
||||||
use GetSetTrait;
|
use PurchasePrice;
|
||||||
use PurchasePriceTrait;
|
|
||||||
|
|
||||||
#[ORM\ManyToOne(targetEntity: 'CameraType')]
|
#[ORM\ManyToOne(targetEntity: 'CameraType')]
|
||||||
#[ORM\JoinColumn(name: 'type_id', referencedColumnName: 'id', nullable: FALSE)]
|
#[ORM\JoinColumn(name: 'type_id', referencedColumnName: 'id', nullable: FALSE)]
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
use Doctrine\DBAL\Types\Types;
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use Stringable;
|
use Stringable;
|
||||||
|
|
||||||
@ -13,6 +12,8 @@ use Stringable;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class CameraType implements Stringable
|
class CameraType implements Stringable
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
@ -25,6 +26,8 @@ class CameraType implements Stringable
|
|||||||
#[ORM\Column(name: 'description', type: 'text', nullable: TRUE)]
|
#[ORM\Column(name: 'description', type: 'text', nullable: TRUE)]
|
||||||
private ?string $description = NULL;
|
private ?string $description = NULL;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value for serialization
|
* Value for serialization
|
||||||
*/
|
*/
|
||||||
@ -32,52 +35,4 @@ class CameraType implements Stringable
|
|||||||
{
|
{
|
||||||
return $this->type;
|
return $this->type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get id
|
|
||||||
*/
|
|
||||||
public function getId(): int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set type
|
|
||||||
*/
|
|
||||||
public function setType(string $type): self
|
|
||||||
{
|
|
||||||
$this->type = $type;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set description
|
|
||||||
*/
|
|
||||||
public function setDescription(string $description): self
|
|
||||||
{
|
|
||||||
$this->description = $description;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get type
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getType(): ?string
|
|
||||||
{
|
|
||||||
return $this->type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get description
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getDescription(): ?string
|
|
||||||
{
|
|
||||||
return $this->description;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
38
src/Entity/Chipset.php
Normal file
38
src/Entity/Chipset.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Entity;
|
||||||
|
|
||||||
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
use Doctrine\Common\Collections\{Collection, ArrayCollection};
|
||||||
|
|
||||||
|
#[ORM\Table(name: 'chipset', schema: 'collection')]
|
||||||
|
#[ORM\Entity]
|
||||||
|
class Chipset {
|
||||||
|
use GetSet;
|
||||||
|
|
||||||
|
#[ORM\Column('id', type: 'integer', nullable: FALSE)]
|
||||||
|
#[ORM\Id]
|
||||||
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
|
private int $id;
|
||||||
|
|
||||||
|
#[ORM\ManyToOne(targetEntity: Brand::class, fetch: 'EAGER')]
|
||||||
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
|
#[ORM\JoinColumn('brand_id', referencedColumnName: 'id', nullable: FALSE)]
|
||||||
|
private Brand $brand;
|
||||||
|
|
||||||
|
#[ORM\Column('name', type: 'string', nullable: FALSE)]
|
||||||
|
private string $name;
|
||||||
|
|
||||||
|
#[ORM\Column('parts', type: 'string', nullable: FALSE)]
|
||||||
|
private string $parts;
|
||||||
|
|
||||||
|
#[ORM\Column('link', type: 'string', nullable: TRUE)]
|
||||||
|
private ?string $link;
|
||||||
|
|
||||||
|
public function __toString(): string
|
||||||
|
{
|
||||||
|
$name = $this->brand->getName() . ' ' . $this->name;
|
||||||
|
|
||||||
|
return ($this->parts !== '') ? "{$name} ({$this->parts})" : $name;
|
||||||
|
}
|
||||||
|
}
|
@ -2,33 +2,32 @@
|
|||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
use App\Enum\CpuArchitectureEnum;
|
use App\Enum\CpuArchitecture;
|
||||||
use Doctrine\Common\Collections\{Collection, ArrayCollection};
|
use Doctrine\Common\Collections\{Collection, ArrayCollection};
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
#[ORM\Table('cpu', schema: 'collection')]
|
#[ORM\Table('cpu', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Cpu {
|
class Cpu {
|
||||||
use CpuCacheTrait;
|
use GetSet;
|
||||||
use GetSetTrait;
|
|
||||||
|
|
||||||
#[ORM\Column('id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column('id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
private int $id;
|
private int $id;
|
||||||
|
|
||||||
#[ORM\ManyToOne(targetEntity: 'Brand', fetch: 'EAGER')]
|
#[ORM\ManyToOne(targetEntity: Brand::class, fetch: 'EAGER')]
|
||||||
#[ORM\OrderBy(['name' => 'asc'])]
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
#[ORM\JoinColumn('brand_id', referencedColumnName: 'id', nullable: FALSE)]
|
#[ORM\JoinColumn('brand_id', referencedColumnName: 'id', nullable: FALSE)]
|
||||||
private Brand $brand;
|
private Brand $brand;
|
||||||
|
|
||||||
#[ORM\Column('architecture', type: 'string', enumType: CpuArchitectureEnum::class)]
|
#[ORM\Column('architecture', type: 'string', enumType: CpuArchitecture::class)]
|
||||||
private CpuArchitectureEnum $architecture;
|
private CpuArchitecture $architecture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Collection<int, Socket>
|
* @var Collection<int, Socket>
|
||||||
*/
|
*/
|
||||||
#[ORM\ManyToMany(targetEntity: Socket::class)]
|
#[ORM\ManyToMany(targetEntity: Socket::class, inversedBy: 'cpus', fetch: 'LAZY')]
|
||||||
#[ORM\JoinTable('collection.cpu_socket_link')]
|
#[ORM\JoinTable('collection.cpu_socket_link')]
|
||||||
#[ORM\JoinColumn('cpu_id', referencedColumnName: 'id')]
|
#[ORM\JoinColumn('cpu_id', referencedColumnName: 'id')]
|
||||||
#[ORM\InverseJoinColumn('socket_id', referencedColumnName: 'id')]
|
#[ORM\InverseJoinColumn('socket_id', referencedColumnName: 'id')]
|
||||||
@ -104,6 +103,77 @@ class Cpu {
|
|||||||
#[ORM\Column('notes', type: 'text', nullable: true)]
|
#[ORM\Column('notes', type: 'text', nullable: true)]
|
||||||
private ?string $notes = '';
|
private ?string $notes = '';
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
// CPU Cache
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#[ORM\Column('l1_data_count', type:'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The number of L1 data caches on the package, usually the same as the number of cores'
|
||||||
|
))]
|
||||||
|
private ?int $L1dCount = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_data_size', type: 'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The size of each Level 1 data cache in KB'
|
||||||
|
))]
|
||||||
|
private ?int $L1dSize = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_data_way', type: 'integer', nullable: true)]
|
||||||
|
private ?int $L1dWay = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_code_count', type:'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The number of L1 instruction caches on the package, usually the same as the number of cores'
|
||||||
|
))]
|
||||||
|
private ?int $L1cCount = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_code_size', type: 'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The size of each Level 1 instruction cache in KB'
|
||||||
|
))]
|
||||||
|
private ?int $L1cSize = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_code_way', type: 'integer', nullable: true)]
|
||||||
|
private ?int $L1cWay = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_unified_count', type:'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The number of L1 caches on the package, usually the same as the number of cores'
|
||||||
|
))]
|
||||||
|
private ?int $L1uCount = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_unified_size', type: 'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The size of each Level 1 unified cache in KB'
|
||||||
|
))]
|
||||||
|
private ?int $L1uSize = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l1_unified_way', type: 'integer', nullable: true)]
|
||||||
|
private ?int $L1uWay = null;
|
||||||
|
|
||||||
|
#[ORM\Column('l2_count', type: 'integer', options: array(
|
||||||
|
'comment' => 'The number of L2 caches on the package, usually the same as the number of cores'
|
||||||
|
))]
|
||||||
|
private int $L2Count = 1;
|
||||||
|
|
||||||
|
#[ORM\Column('l2_size', type: 'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The size of each Level 2 cache in KB'
|
||||||
|
))]
|
||||||
|
private ?int $L2Size;
|
||||||
|
|
||||||
|
#[ORM\Column('l2_way', type: 'integer', nullable: true)]
|
||||||
|
private ?int $L2Way;
|
||||||
|
|
||||||
|
#[ORM\Column('l3_count', type: 'integer', options: array(
|
||||||
|
'comment' => 'The number of L3 caches on the package'
|
||||||
|
))]
|
||||||
|
private int $L3Count = 0;
|
||||||
|
|
||||||
|
#[ORM\Column('l3_size', type: 'integer', nullable: true, options: array(
|
||||||
|
'comment' => 'The size of each Level 3 cache in KB'
|
||||||
|
))]
|
||||||
|
private ?int $L3Size;
|
||||||
|
|
||||||
|
#[ORM\Column('l3_way', type: 'integer', nullable: true)]
|
||||||
|
private ?int $L3Way;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->sockets = new ArrayCollection();
|
$this->sockets = new ArrayCollection();
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace App\Entity;
|
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
|
||||||
|
|
||||||
trait CpuCacheTrait {
|
|
||||||
#[ORM\Column('l1_data_count', type:'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The number of L1 data caches on the package, usually the same as the number of cores'
|
|
||||||
))]
|
|
||||||
private ?int $L1dCount = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_data_size', type: 'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The size of each Level 1 data cache in KB'
|
|
||||||
))]
|
|
||||||
private ?int $L1dSize = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_data_way', type: 'integer', nullable: true)]
|
|
||||||
private ?int $L1dWay = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_code_count', type:'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The number of L1 instruction caches on the package, usually the same as the number of cores'
|
|
||||||
))]
|
|
||||||
private ?int $L1cCount = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_code_size', type: 'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The size of each Level 1 instruction cache in KB'
|
|
||||||
))]
|
|
||||||
private ?int $L1cSize = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_code_way', type: 'integer', nullable: true)]
|
|
||||||
private ?int $L1cWay = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_unified_count', type:'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The number of L1 caches on the package, usually the same as the number of cores'
|
|
||||||
))]
|
|
||||||
private ?int $L1uCount = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_unified_size', type: 'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The size of each Level 1 unified cache in KB'
|
|
||||||
))]
|
|
||||||
private ?int $L1uSize = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l1_unified_way', type: 'integer', nullable: true)]
|
|
||||||
private ?int $L1uWay = null;
|
|
||||||
|
|
||||||
#[ORM\Column('l2_count', type: 'integer', options: array(
|
|
||||||
'comment' => 'The number of L2 caches on the package, usually the same as the number of cores'
|
|
||||||
))]
|
|
||||||
private int $L2Count = 1;
|
|
||||||
|
|
||||||
#[ORM\Column('l2_size', type: 'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The size of each Level 2 cache in KB'
|
|
||||||
))]
|
|
||||||
private ?int $L2Size;
|
|
||||||
|
|
||||||
#[ORM\Column('l2_way', type: 'integer', nullable: true)]
|
|
||||||
private ?int $L2Way;
|
|
||||||
|
|
||||||
#[ORM\Column('l3_count', type: 'integer', options: array(
|
|
||||||
'comment' => 'The number of L3 caches on the package'
|
|
||||||
))]
|
|
||||||
private int $L3Count = 0;
|
|
||||||
|
|
||||||
#[ORM\Column('l3_size', type: 'integer', nullable: true, options: array(
|
|
||||||
'comment' => 'The size of each Level 3 cache in KB'
|
|
||||||
))]
|
|
||||||
private ?int $L3Size;
|
|
||||||
|
|
||||||
#[ORM\Column('l3_way', type: 'integer', nullable: true)]
|
|
||||||
private ?int $L3Way;
|
|
||||||
}
|
|
@ -12,6 +12,8 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Film
|
class Film
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
@ -55,207 +57,4 @@ class Film
|
|||||||
|
|
||||||
#[ORM\Column(name: 'notes', type: 'text', nullable: TRUE)]
|
#[ORM\Column(name: 'notes', type: 'text', nullable: TRUE)]
|
||||||
private ?string $notes = NULL;
|
private ?string $notes = NULL;
|
||||||
|
|
||||||
public function getId(): int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getBrand(): ?string
|
|
||||||
{
|
|
||||||
return $this->brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setBrand(string $brand): self
|
|
||||||
{
|
|
||||||
$this->brand = $brand;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getProductLine(): ?string
|
|
||||||
{
|
|
||||||
return $this->productLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $productLine
|
|
||||||
*/
|
|
||||||
public function setProductLine(?string $productLine): self
|
|
||||||
{
|
|
||||||
$this->productLine = $productLine;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getFilmName(): ?string
|
|
||||||
{
|
|
||||||
return $this->filmName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmName(string $filmName): self
|
|
||||||
{
|
|
||||||
$this->filmName = $filmName;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getFilmAlias(): ?string
|
|
||||||
{
|
|
||||||
return $this->filmAlias;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmAlias(string $filmAlias): self
|
|
||||||
{
|
|
||||||
$this->filmAlias = $filmAlias;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getFilmSpeedAsa(): ?int
|
|
||||||
{
|
|
||||||
return $this->filmSpeedAsa;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmSpeedAsa(int $filmSpeedAsa): self
|
|
||||||
{
|
|
||||||
$this->filmSpeedAsa = $filmSpeedAsa;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getFilmSpeedDin(): ?int
|
|
||||||
{
|
|
||||||
return $this->filmSpeedDin;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmSpeedDin(int $filmSpeedDin): self
|
|
||||||
{
|
|
||||||
$this->filmSpeedDin = $filmSpeedDin;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getFilmFormat(): ?string
|
|
||||||
{
|
|
||||||
return $this->filmFormat;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmFormat(string $filmFormat): self
|
|
||||||
{
|
|
||||||
$this->filmFormat = $filmFormat;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getFilmBase(): ?string
|
|
||||||
{
|
|
||||||
return $this->filmBase;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFilmBase(string $filmBase): self
|
|
||||||
{
|
|
||||||
$this->filmBase = $filmBase;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getUnusedRolls(): ?int
|
|
||||||
{
|
|
||||||
return $this->unusedRolls;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setUnusedRolls(int $unusedRolls): self
|
|
||||||
{
|
|
||||||
$this->unusedRolls = $unusedRolls;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getRollsInCamera(): ?int
|
|
||||||
{
|
|
||||||
return $this->rollsInCamera;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setRollsInCamera(int $rollsInCamera): self
|
|
||||||
{
|
|
||||||
$this->rollsInCamera = $rollsInCamera;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getDevelopedRolls(): ?int
|
|
||||||
{
|
|
||||||
return $this->developedRolls;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setDevelopedRolls(int $developedRolls): self
|
|
||||||
{
|
|
||||||
$this->developedRolls = $developedRolls;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getChemistry(): ?string
|
|
||||||
{
|
|
||||||
return $this->chemistry;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setChemistry(string $chemistry): self
|
|
||||||
{
|
|
||||||
$this->chemistry = $chemistry;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getNotes(): ?string
|
|
||||||
{
|
|
||||||
return $this->notes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setNotes(string $notes): self
|
|
||||||
{
|
|
||||||
$this->notes = $notes;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,8 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class FilmFormat
|
class FilmFormat
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
#[ORM\GeneratedValue]
|
#[ORM\GeneratedValue]
|
||||||
#[ORM\Column(type: 'integer')]
|
#[ORM\Column(type: 'integer')]
|
||||||
@ -18,42 +20,4 @@ class FilmFormat
|
|||||||
|
|
||||||
#[ORM\Column(name: 'name', type: 'string')]
|
#[ORM\Column(name: 'name', type: 'string')]
|
||||||
private string $name;
|
private string $name;
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return int
|
|
||||||
*/
|
|
||||||
public function getNumberId(): ?int
|
|
||||||
{
|
|
||||||
return $this->numberId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setNumberId(int $numberId): self
|
|
||||||
{
|
|
||||||
$this->numberId = $numberId;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getName(): ?string
|
|
||||||
{
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setName(string $name): self
|
|
||||||
{
|
|
||||||
$this->name = $name;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Flash
|
class Flash
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use FlashTrait;
|
use FlashTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
@ -24,33 +25,4 @@ class Flash
|
|||||||
|
|
||||||
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE, options: ['default' => FALSE])]
|
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE, options: ['default' => FALSE])]
|
||||||
private bool $formerlyOwned = FALSE;
|
private bool $formerlyOwned = FALSE;
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isReceived(): ?bool
|
|
||||||
{
|
|
||||||
return $this->received;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setReceived(bool $received): self
|
|
||||||
{
|
|
||||||
$this->received = $received;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isFormerlyOwned(): ?bool
|
|
||||||
{
|
|
||||||
return $this->formerlyOwned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFormerlyOwned(bool $formerlyOwned): self
|
|
||||||
{
|
|
||||||
$this->formerlyOwned = $formerlyOwned;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
|
|
||||||
trait FlashTrait
|
trait FlashTrait
|
||||||
{
|
{
|
||||||
use PurchasePriceTrait;
|
use PurchasePrice;
|
||||||
|
|
||||||
#[ORM\Column(name: 'brand', type: 'string', nullable: FALSE)]
|
#[ORM\Column(name: 'brand', type: 'string', nullable: FALSE)]
|
||||||
private readonly string $brand;
|
private readonly string $brand;
|
||||||
@ -40,315 +40,4 @@ trait FlashTrait
|
|||||||
|
|
||||||
#[ORM\Column(name: 'serial', type: 'string', nullable: TRUE)]
|
#[ORM\Column(name: 'serial', type: 'string', nullable: TRUE)]
|
||||||
private readonly ?string $serial;
|
private readonly ?string $serial;
|
||||||
|
|
||||||
public function getId(): int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set brand
|
|
||||||
*/
|
|
||||||
public function setBrand(string $brand): self
|
|
||||||
{
|
|
||||||
$this->brand = $brand;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get brand
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getBrand()
|
|
||||||
{
|
|
||||||
return $this->brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set model
|
|
||||||
*
|
|
||||||
* @param string $model
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setModel($model)
|
|
||||||
{
|
|
||||||
$this->model = $model;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get model
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getModel()
|
|
||||||
{
|
|
||||||
return $this->model;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set isAutoFlash
|
|
||||||
*
|
|
||||||
* @param bool $isAutoFlash
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setIsAutoFlash($isAutoFlash)
|
|
||||||
{
|
|
||||||
$this->isAutoFlash = $isAutoFlash;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get isAutoFlash
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getIsAutoFlash()
|
|
||||||
{
|
|
||||||
return $this->isAutoFlash;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set isTtl
|
|
||||||
*
|
|
||||||
* @param bool $isTtl
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setIsTtl($isTtl)
|
|
||||||
{
|
|
||||||
$this->isTtl = $isTtl;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get isTtl
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getIsTtl()
|
|
||||||
{
|
|
||||||
return $this->isTtl;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set ttlType
|
|
||||||
*
|
|
||||||
* @param string $ttlType
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setTtlType($ttlType)
|
|
||||||
{
|
|
||||||
$this->ttlType = $ttlType;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get ttlType
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getTtlType()
|
|
||||||
{
|
|
||||||
return $this->ttlType;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set isPTtl
|
|
||||||
*
|
|
||||||
* @param bool $isPTtl
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setIsPTtl($isPTtl)
|
|
||||||
{
|
|
||||||
$this->isPTtl = $isPTtl;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get isPTtl
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getIsPTtl()
|
|
||||||
{
|
|
||||||
return $this->isPTtl;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set pTtlType
|
|
||||||
*
|
|
||||||
* @param string $pTtlType
|
|
||||||
*/
|
|
||||||
public function setPTtlType($pTtlType): self
|
|
||||||
{
|
|
||||||
$this->pTtlType = $pTtlType;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get pTtlType
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getPTtlType()
|
|
||||||
{
|
|
||||||
return $this->pTtlType;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set guideNumber
|
|
||||||
*
|
|
||||||
* @param string $guideNumber
|
|
||||||
*
|
|
||||||
* @return self
|
|
||||||
*/
|
|
||||||
public function setGuideNumber($guideNumber)
|
|
||||||
{
|
|
||||||
$this->guideNumber = $guideNumber;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get guideNumber
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getGuideNumber()
|
|
||||||
{
|
|
||||||
return $this->guideNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set batteries
|
|
||||||
*
|
|
||||||
* @param string $batteries
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setBatteries($batteries): self
|
|
||||||
{
|
|
||||||
$this->batteries = $batteries;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get batteries
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getBatteries()
|
|
||||||
{
|
|
||||||
return $this->batteries;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set notes
|
|
||||||
*
|
|
||||||
* @param string $notes
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setNotes($notes): self
|
|
||||||
{
|
|
||||||
$this->notes = $notes;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get notes
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getNotes()
|
|
||||||
{
|
|
||||||
return $this->notes;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set serial
|
|
||||||
*
|
|
||||||
* @param string $serial
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setSerial($serial): self
|
|
||||||
{
|
|
||||||
$this->serial = $serial;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get serial
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getSerial()
|
|
||||||
{
|
|
||||||
return $this->serial;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set formerlyOwned
|
|
||||||
*
|
|
||||||
* @param bool $formerlyOwned
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setFormerlyOwned($formerlyOwned): self
|
|
||||||
{
|
|
||||||
$this->formerlyOwned = $formerlyOwned;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get formerlyOwned
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getFormerlyOwned()
|
|
||||||
{
|
|
||||||
return $this->formerlyOwned;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set received
|
|
||||||
*
|
|
||||||
* @param bool $received
|
|
||||||
*
|
|
||||||
* @return Flash
|
|
||||||
*/
|
|
||||||
public function setReceived($received): self
|
|
||||||
{
|
|
||||||
$this->received = $received;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get received
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getReceived()
|
|
||||||
{
|
|
||||||
return $this->received;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Table(name: 'fpu', schema: 'collection')]
|
#[ORM\Table(name: 'fpu', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Fpu {
|
class Fpu {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
|
@ -7,7 +7,7 @@ use InvalidArgumentException;
|
|||||||
/**
|
/**
|
||||||
* Remove the need for all the Doctrine getter/setter Entity boilerplate
|
* Remove the need for all the Doctrine getter/setter Entity boilerplate
|
||||||
*/
|
*/
|
||||||
trait GetSetTrait {
|
trait GetSet {
|
||||||
public function __get(string $name): mixed
|
public function __get(string $name): mixed
|
||||||
{
|
{
|
||||||
if (property_exists($this, $name))
|
if (property_exists($this, $name))
|
@ -2,16 +2,14 @@
|
|||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
use App\Enum\CardBusEnum;
|
use App\Enum\CardBus;
|
||||||
use App\Enum\SlotKeyEnum;
|
use App\Enum\SlotKey;
|
||||||
use App\Types\CardBusEnumType;
|
|
||||||
use App\Types\SlotKeyEnumType;
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
#[ORM\Table(name: 'gpu', schema: 'collection')]
|
#[ORM\Table(name: 'gpu', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Gpu {
|
class Gpu {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
@ -42,22 +40,22 @@ class Gpu {
|
|||||||
#[ORM\Column(
|
#[ORM\Column(
|
||||||
name: 'card_key',
|
name: 'card_key',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enumType: SlotKeyEnum::class,
|
enumType: SlotKey::class,
|
||||||
options: array(
|
options: array(
|
||||||
'comment' => "The shape of the card connector",
|
'comment' => "The shape of the card connector",
|
||||||
'default' => "PCIe x16"
|
'default' => "PCIe x16"
|
||||||
)
|
)
|
||||||
)]
|
)]
|
||||||
private SlotKeyEnum $cardKey = SlotKeyEnum::PCIE_X16;
|
private SlotKey $cardKey = SlotKey::PCIE_X16;
|
||||||
|
|
||||||
#[ORM\Column(
|
#[ORM\Column(
|
||||||
name: 'bus_interface',
|
name: 'bus_interface',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
nullable: TRUE,
|
nullable: TRUE,
|
||||||
enumType: CardBusEnum::class,
|
enumType: CardBus::class,
|
||||||
options: array('comment' => "The type of electrical bus this card uses")
|
options: array('comment' => "The type of electrical bus this card uses")
|
||||||
)]
|
)]
|
||||||
private ?CardBusEnum $busInterface;
|
private ?CardBus $busInterface;
|
||||||
|
|
||||||
#[ORM\Column(
|
#[ORM\Column(
|
||||||
name: 'slot_span',
|
name: 'slot_span',
|
||||||
|
@ -8,7 +8,7 @@ use Stringable;
|
|||||||
#[ORM\Table(name: 'gpu_core', schema: 'collection')]
|
#[ORM\Table(name: 'gpu_core', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class GpuCore implements Stringable {
|
class GpuCore implements Stringable {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
|
@ -6,8 +6,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
|
|
||||||
trait LensTrait
|
trait LensTrait
|
||||||
{
|
{
|
||||||
use PurchasePriceTrait;
|
use PurchasePrice;
|
||||||
use GetSetTrait;
|
|
||||||
|
|
||||||
#[ORM\Column(name: 'brand', type: 'string', length: 64, nullable: TRUE)]
|
#[ORM\Column(name: 'brand', type: 'string', length: 64, nullable: TRUE)]
|
||||||
private readonly ?string $brand;
|
private readonly ?string $brand;
|
||||||
@ -62,13 +61,4 @@ trait LensTrait
|
|||||||
|
|
||||||
#[ORM\Column(name: 'aperture_blades', type: 'smallint', nullable: TRUE)]
|
#[ORM\Column(name: 'aperture_blades', type: 'smallint', nullable: TRUE)]
|
||||||
private readonly ?int $apertureBlades;
|
private readonly ?int $apertureBlades;
|
||||||
|
|
||||||
public function __get(string $name): mixed
|
|
||||||
{
|
|
||||||
if (property_exists($this, $name)) {
|
|
||||||
return $this->{$name};
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity(repositoryClass: LensesRepository::class)]
|
#[ORM\Entity(repositoryClass: LensesRepository::class)]
|
||||||
class Lenses
|
class Lenses
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use LensTrait;
|
use LensTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
@ -25,33 +26,4 @@ class Lenses
|
|||||||
|
|
||||||
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE)]
|
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE)]
|
||||||
private bool $formerlyOwned = FALSE;
|
private bool $formerlyOwned = FALSE;
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isReceived(): ?bool
|
|
||||||
{
|
|
||||||
return $this->received;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setReceived(bool $received): self
|
|
||||||
{
|
|
||||||
$this->received = $received;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isFormerlyOwned(): ?bool
|
|
||||||
{
|
|
||||||
return $this->formerlyOwned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFormerlyOwned(bool $formerlyOwned): self
|
|
||||||
{
|
|
||||||
$this->formerlyOwned = $formerlyOwned;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
70
src/Entity/Motherboard.php
Normal file
70
src/Entity/Motherboard.php
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Entity;
|
||||||
|
|
||||||
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
use Doctrine\Common\Collections\{Collection, ArrayCollection};
|
||||||
|
|
||||||
|
#[ORM\Table(name: 'motherboard', schema: 'collection')]
|
||||||
|
#[ORM\Entity]
|
||||||
|
class Motherboard {
|
||||||
|
use GetSet;
|
||||||
|
|
||||||
|
#[ORM\Column('id', type: 'integer', nullable: FALSE)]
|
||||||
|
#[ORM\Id]
|
||||||
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
|
private int $id;
|
||||||
|
|
||||||
|
#[ORM\ManyToOne(targetEntity: Brand::class, fetch: 'EAGER')]
|
||||||
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
|
#[ORM\JoinColumn('brand_id', referencedColumnName: 'id', nullable: FALSE)]
|
||||||
|
private Brand $brand;
|
||||||
|
|
||||||
|
#[ORM\Column('model', type: 'string')]
|
||||||
|
private string $model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Collection<int, Socket>
|
||||||
|
*/
|
||||||
|
#[ORM\ManyToMany(targetEntity: Socket::class, inversedBy: 'cpus', fetch: 'LAZY')]
|
||||||
|
#[ORM\JoinTable('collection.motherboard_socket_link')]
|
||||||
|
#[ORM\JoinColumn('motherboard_id', referencedColumnName: 'id')]
|
||||||
|
#[ORM\InverseJoinColumn('socket_id', referencedColumnName: 'id')]
|
||||||
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
|
private Collection $sockets;
|
||||||
|
|
||||||
|
#[ORM\ManyToOne(targetEntity: Chipset::class, fetch: 'EAGER')]
|
||||||
|
#[ORM\OrderBy(['name' => 'asc'])]
|
||||||
|
#[ORM\JoinColumn('chipset_id', 'id', FALSE)]
|
||||||
|
private Chipset $chipset;
|
||||||
|
|
||||||
|
#[ORM\Column('link', type: 'string')]
|
||||||
|
private string $link;
|
||||||
|
|
||||||
|
#[ORM\Column('notes', type: 'text', nullable: true)]
|
||||||
|
private ?string $notes = '';
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->sockets = new ArrayCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addSocket(Socket $socket): self
|
||||||
|
{
|
||||||
|
if ( ! $this->sockets->contains($socket))
|
||||||
|
{
|
||||||
|
$this->sockets->add($socket);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function removeSocket(Socket $socket): self
|
||||||
|
{
|
||||||
|
$this->sockets->removeElement($socket);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
@ -12,6 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity(repositoryClass: CameraRepository::class)]
|
#[ORM\Entity(repositoryClass: CameraRepository::class)]
|
||||||
class PreviouslyOwnedCamera
|
class PreviouslyOwnedCamera
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use CameraTrait;
|
use CameraTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
@ -19,9 +20,4 @@ class PreviouslyOwnedCamera
|
|||||||
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
|
||||||
#[ORM\SequenceGenerator(sequenceName: 'prevously_owned_camera_id_seq', allocationSize: 1, initialValue: 1)]
|
#[ORM\SequenceGenerator(sequenceName: 'prevously_owned_camera_id_seq', allocationSize: 1, initialValue: 1)]
|
||||||
private int $id;
|
private int $id;
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class PreviouslyOwnedFlash
|
class PreviouslyOwnedFlash
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use FlashTrait;
|
use FlashTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
@ -23,33 +24,4 @@ class PreviouslyOwnedFlash
|
|||||||
|
|
||||||
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE, options: ['default' => TRUE])]
|
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE, options: ['default' => TRUE])]
|
||||||
private bool $formerlyOwned = TRUE;
|
private bool $formerlyOwned = TRUE;
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isReceived(): ?bool
|
|
||||||
{
|
|
||||||
return $this->received;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setReceived(bool $received): self
|
|
||||||
{
|
|
||||||
$this->received = $received;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isFormerlyOwned(): ?bool
|
|
||||||
{
|
|
||||||
return $this->formerlyOwned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFormerlyOwned(bool $formerlyOwned): self
|
|
||||||
{
|
|
||||||
$this->formerlyOwned = $formerlyOwned;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Entity(repositoryClass: LensesRepository::class)]
|
#[ORM\Entity(repositoryClass: LensesRepository::class)]
|
||||||
class PreviouslyOwnedLenses
|
class PreviouslyOwnedLenses
|
||||||
{
|
{
|
||||||
|
use GetSet;
|
||||||
use LensTrait;
|
use LensTrait;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
@ -24,33 +25,4 @@ class PreviouslyOwnedLenses
|
|||||||
|
|
||||||
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE)]
|
#[ORM\Column(name: 'formerly_owned', type: 'boolean', nullable: FALSE)]
|
||||||
private bool $formerlyOwned = TRUE;
|
private bool $formerlyOwned = TRUE;
|
||||||
|
|
||||||
public function getId(): ?int
|
|
||||||
{
|
|
||||||
return $this->id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isReceived(): ?bool
|
|
||||||
{
|
|
||||||
return $this->received;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setReceived(bool $received): self
|
|
||||||
{
|
|
||||||
$this->received = $received;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function isFormerlyOwned(): ?bool
|
|
||||||
{
|
|
||||||
return $this->formerlyOwned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setFormerlyOwned(bool $formerlyOwned): self
|
|
||||||
{
|
|
||||||
$this->formerlyOwned = $formerlyOwned;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ namespace App\Entity;
|
|||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
trait PurchasePriceTrait
|
trait PurchasePrice
|
||||||
{
|
{
|
||||||
#[ORM\Column(name: 'purchase_price', type: 'money', nullable: TRUE)]
|
#[ORM\Column(name: 'purchase_price', type: 'money', nullable: TRUE)]
|
||||||
private ?string $purchasePrice = NULL;
|
private ?string $purchasePrice = NULL;
|
@ -3,6 +3,7 @@
|
|||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
use App\Enum\SocketTypeEnum;
|
use App\Enum\SocketTypeEnum;
|
||||||
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -11,7 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
|
|||||||
#[ORM\Table(name: 'socket', schema: 'collection')]
|
#[ORM\Table(name: 'socket', schema: 'collection')]
|
||||||
#[ORM\Entity]
|
#[ORM\Entity]
|
||||||
class Socket {
|
class Socket {
|
||||||
use GetSetTrait;
|
use GetSet;
|
||||||
|
|
||||||
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'id', type: 'integer', nullable: FALSE)]
|
||||||
#[ORM\Id]
|
#[ORM\Id]
|
||||||
@ -27,6 +28,12 @@ class Socket {
|
|||||||
#[ORM\Column(name: 'pin_count', type: 'integer', nullable: FALSE)]
|
#[ORM\Column(name: 'pin_count', type: 'integer', nullable: FALSE)]
|
||||||
private int $pinCount;
|
private int $pinCount;
|
||||||
|
|
||||||
|
#[ORM\ManyToMany(targetEntity: Cpu::class, mappedBy: 'sockets', fetch: 'EXTRA_LAZY')]
|
||||||
|
private Collection $cpus;
|
||||||
|
|
||||||
|
#[ORM\ManyToMany(targetEntity: Motherboard::class, mappedBy: 'sockets', fetch: 'EXTRA_LAZY')]
|
||||||
|
private Collection $motherboards;
|
||||||
|
|
||||||
#[ORM\Column(
|
#[ORM\Column(
|
||||||
name: 'socket_type',
|
name: 'socket_type',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@ -34,6 +41,8 @@ class Socket {
|
|||||||
)]
|
)]
|
||||||
private SocketTypeEnum $type = SocketTypeEnum::PIN_GRID_ARRAY;
|
private SocketTypeEnum $type = SocketTypeEnum::PIN_GRID_ARRAY;
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
public function __toString(): string
|
public function __toString(): string
|
||||||
{
|
{
|
||||||
$name = ( ! empty($this->otherName)) ? "$this->name/$this->otherName" : $this->name;
|
$name = ( ! empty($this->otherName)) ? "$this->name/$this->otherName" : $this->name;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Enum;
|
namespace App\Enum;
|
||||||
|
|
||||||
enum CardBusEnum: string {
|
enum CardBus: string {
|
||||||
case PCIE_10_16 = 'PCIe 1.0 x16';
|
case PCIE_10_16 = 'PCIe 1.0 x16';
|
||||||
case PCIE_11_16 = 'PCIe 1.1 x16';
|
case PCIE_11_16 = 'PCIe 1.1 x16';
|
||||||
case PCIE_20_16 = 'PCIe 2.0 x16';
|
case PCIE_20_16 = 'PCIe 2.0 x16';
|
||||||
@ -27,7 +27,7 @@ enum CardBusEnum: string {
|
|||||||
public static function getGroups(): array
|
public static function getGroups(): array
|
||||||
{
|
{
|
||||||
$filter = static fn (string $starts_with) =>
|
$filter = static fn (string $starts_with) =>
|
||||||
array_filter(self::cases(), fn (CardBusEnum $case) =>
|
array_filter(self::cases(), fn (CardBus $case) =>
|
||||||
str_starts_with($case->name, $starts_with)
|
str_starts_with($case->name, $starts_with)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ enum CardBusEnum: string {
|
|||||||
$pci = $filter('PCI_');
|
$pci = $filter('PCI_');
|
||||||
$isa = $filter('ISA_');
|
$isa = $filter('ISA_');
|
||||||
|
|
||||||
$pcie16 = array_filter($pcie, fn (CardBusEnum $case) => str_ends_with($case->name, '_16'));
|
$pcie16 = array_filter($pcie, fn (CardBus $case) => str_ends_with($case->name, '_16'));
|
||||||
$pcieOther = array_udiff($pcie, $pcie16, fn ($a, $b) => $a->name <=> $b->name);
|
$pcieOther = array_udiff($pcie, $pcie16, fn ($a, $b) => $a->name <=> $b->name);
|
||||||
|
|
||||||
return [
|
return [
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Enum;
|
namespace App\Enum;
|
||||||
|
|
||||||
enum CpuArchitectureEnum: string {
|
enum CpuArchitecture: string {
|
||||||
case ARM = 'arm';
|
case ARM = 'arm';
|
||||||
case ARM64 = 'arm64';
|
case ARM64 = 'arm64';
|
||||||
case EIGHT_OH_ONE_EIGHT_SIX = 'Intel 80186';
|
case EIGHT_OH_ONE_EIGHT_SIX = 'Intel 80186';
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Enum;
|
namespace App\Enum;
|
||||||
|
|
||||||
enum SlotKeyEnum: string {
|
enum SlotKey: string {
|
||||||
case PCIE_X16 = 'PCIe x16';
|
case PCIE_X16 = 'PCIe x16';
|
||||||
case PCIE_X8 = 'PCIe x8';
|
case PCIE_X8 = 'PCIe x8';
|
||||||
case PCIE_X4 = 'PCIe x4';
|
case PCIE_X4 = 'PCIe x4';
|
||||||
@ -42,7 +42,7 @@ enum SlotKeyEnum: string {
|
|||||||
public static function getGroups(): array
|
public static function getGroups(): array
|
||||||
{
|
{
|
||||||
$filter = static fn (string $starts_with) =>
|
$filter = static fn (string $starts_with) =>
|
||||||
array_filter(self::cases(), fn (SlotKeyEnum $case) =>
|
array_filter(self::cases(), fn (SlotKey $case) =>
|
||||||
str_starts_with($case->name, $starts_with)
|
str_starts_with($case->name, $starts_with)
|
||||||
);
|
);
|
||||||
|
|
35
src/Form/ChipsetType.php
Normal file
35
src/Form/ChipsetType.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Form;
|
||||||
|
|
||||||
|
use App\Entity\Brand;
|
||||||
|
use App\Entity\Chipset;
|
||||||
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
|
class ChipsetType extends AbstractType
|
||||||
|
{
|
||||||
|
use BrandCategoryTrait;
|
||||||
|
|
||||||
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
|
{
|
||||||
|
$builder
|
||||||
|
->add('brand', EntityType::class, [
|
||||||
|
'class' => Brand::class,
|
||||||
|
'query_builder' => self::filterBrands('chipset'),
|
||||||
|
])
|
||||||
|
->add('name')
|
||||||
|
->add('parts')
|
||||||
|
->add('link')
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
|
{
|
||||||
|
$resolver->setDefaults([
|
||||||
|
'data_class' => Chipset::class,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,7 @@ namespace App\Form;
|
|||||||
|
|
||||||
use App\Entity\Brand;
|
use App\Entity\Brand;
|
||||||
use App\Entity\Cpu;
|
use App\Entity\Cpu;
|
||||||
use App\Enum\CpuArchitectureEnum;
|
use App\Enum\CpuArchitecture;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\EnumType;
|
use Symfony\Component\Form\Extension\Core\Type\EnumType;
|
||||||
@ -20,9 +20,9 @@ class CpuType extends AbstractType {
|
|||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('architecture', EnumType::class, [
|
->add('architecture', EnumType::class, [
|
||||||
'class' => CpuArchitectureEnum::class,
|
'class' => CpuArchitecture::class,
|
||||||
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
||||||
'choices' => CpuArchitectureEnum::getGroups(),
|
'choices' => CpuArchitecture::getGroups(),
|
||||||
])
|
])
|
||||||
->add('brand', EntityType::class, [
|
->add('brand', EntityType::class, [
|
||||||
'class' => Brand::class,
|
'class' => Brand::class,
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Form;
|
namespace App\Form;
|
||||||
|
|
||||||
use App\Enum\{CardBusEnum, SlotKeyEnum};
|
use App\Enum\{CardBus, SlotKey};
|
||||||
use App\Entity\{Brand, Gpu, GpuCore};
|
use App\Entity\{Brand, Gpu, GpuCore};
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
@ -38,13 +38,13 @@ class GpuType extends AbstractType {
|
|||||||
])
|
])
|
||||||
->add('alternateModelName')
|
->add('alternateModelName')
|
||||||
->add('cardKey', EnumType::class, [
|
->add('cardKey', EnumType::class, [
|
||||||
'class' => SlotKeyEnum::class,
|
'class' => SlotKey::class,
|
||||||
'choices' => SlotKeyEnum::getGroups(),
|
'choices' => SlotKey::getGroups(),
|
||||||
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
||||||
])
|
])
|
||||||
->add('busInterface', EnumType::class, [
|
->add('busInterface', EnumType::class, [
|
||||||
'class' => CardBusEnum::class,
|
'class' => CardBus::class,
|
||||||
'choices' => CardBusEnum::getGroups(),
|
'choices' => CardBus::getGroups(),
|
||||||
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
'choice_label' => fn(UnitEnum $choice): string => $choice->value,
|
||||||
])
|
])
|
||||||
->add('slotSpan')
|
->add('slotSpan')
|
||||||
|
55
src/Migrations/Version20221117193508.php
Normal file
55
src/Migrations/Version20221117193508.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20221117193508 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this up() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('DROP SEQUENCE collection.battery_type_id_seq CASCADE');
|
||||||
|
$this->addSql('CREATE TABLE collection.chipset (id SERIAL NOT NULL, brand_id INT NOT NULL, name VARCHAR(255) NOT NULL, parts VARCHAR(255) NOT NULL, link VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))');
|
||||||
|
$this->addSql('CREATE INDEX IDX_110BAE8044F5D008 ON collection.chipset (brand_id)');
|
||||||
|
$this->addSql('CREATE TABLE collection.motherboard (id SERIAL NOT NULL, brand_id INT NOT NULL, chipset_id INT DEFAULT NULL, model VARCHAR(255) NOT NULL, link VARCHAR(255) NOT NULL, notes TEXT DEFAULT NULL, PRIMARY KEY(id))');
|
||||||
|
$this->addSql('CREATE INDEX IDX_5C3F5E3144F5D008 ON collection.motherboard (brand_id)');
|
||||||
|
$this->addSql('CREATE INDEX IDX_5C3F5E31BC1433B9 ON collection.motherboard (chipset_id)');
|
||||||
|
$this->addSql('CREATE TABLE collection.motherboard_socket_link (motherboard_id INT NOT NULL, socket_id INT NOT NULL, PRIMARY KEY(motherboard_id, socket_id))');
|
||||||
|
$this->addSql('CREATE INDEX IDX_D635BC6D6511E8A3 ON collection.motherboard_socket_link (motherboard_id)');
|
||||||
|
$this->addSql('CREATE INDEX IDX_D635BC6DD20E239C ON collection.motherboard_socket_link (socket_id)');
|
||||||
|
$this->addSql('ALTER TABLE collection.chipset ADD CONSTRAINT FK_110BAE8044F5D008 FOREIGN KEY (brand_id) REFERENCES collection.brand (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard ADD CONSTRAINT FK_5C3F5E3144F5D008 FOREIGN KEY (brand_id) REFERENCES collection.brand (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard ADD CONSTRAINT FK_5C3F5E31BC1433B9 FOREIGN KEY (chipset_id) REFERENCES collection.chipset (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard_socket_link ADD CONSTRAINT FK_D635BC6D6511E8A3 FOREIGN KEY (motherboard_id) REFERENCES collection.motherboard (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard_socket_link ADD CONSTRAINT FK_D635BC6DD20E239C FOREIGN KEY (socket_id) REFERENCES collection.socket (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('DROP TABLE collection.battery_type');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this down() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('CREATE SCHEMA public');
|
||||||
|
$this->addSql('CREATE SEQUENCE collection.battery_type_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
|
||||||
|
$this->addSql('CREATE TABLE collection.battery_type (id SERIAL NOT NULL, PRIMARY KEY(id))');
|
||||||
|
$this->addSql('ALTER TABLE collection.chipset DROP CONSTRAINT FK_110BAE8044F5D008');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard DROP CONSTRAINT FK_5C3F5E3144F5D008');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard DROP CONSTRAINT FK_5C3F5E31BC1433B9');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard_socket_link DROP CONSTRAINT FK_D635BC6D6511E8A3');
|
||||||
|
$this->addSql('ALTER TABLE collection.motherboard_socket_link DROP CONSTRAINT FK_D635BC6DD20E239C');
|
||||||
|
$this->addSql('DROP TABLE collection.chipset');
|
||||||
|
$this->addSql('DROP TABLE collection.motherboard');
|
||||||
|
$this->addSql('DROP TABLE collection.motherboard_socket_link');
|
||||||
|
}
|
||||||
|
}
|
30
templates/chipset/edit.html.twig
Normal file
30
templates/chipset/edit.html.twig
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{% extends 'form.html.twig' %}
|
||||||
|
|
||||||
|
{% block title %}Chipset - Edit{% endblock %}
|
||||||
|
|
||||||
|
{% block form %}
|
||||||
|
<h2>Edit Chipset</h2>
|
||||||
|
|
||||||
|
<div class="small callout">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_index') }}">Back to the list</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="large primary callout">
|
||||||
|
{{ form_start(form) }}
|
||||||
|
{{ form_widget(form) }}
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
class="success button expanded"
|
||||||
|
>Update</button>
|
||||||
|
{{ form_end(form) }}
|
||||||
|
|
||||||
|
<form method="post" action="{{ path('chipset_delete', {'id': chipset.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||||
|
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ chipset.id) }}">
|
||||||
|
<button type="submit" class="alert button expanded">Delete</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
55
templates/chipset/index.html.twig
Normal file
55
templates/chipset/index.html.twig
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block title %}Chipset{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<h2>Chipset</h2>
|
||||||
|
|
||||||
|
<div class="small callout primary">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_new') }}">Add Chipset</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th> </th>
|
||||||
|
<th>Id</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Parts</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for chipset in chipsets %}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_show', {'id': chipset.id}) }}">
|
||||||
|
View 👁
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_edit', {'id': chipset.id}) }}">
|
||||||
|
Edit <span class="edit-icon">✎</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
<td>{{ chipset.id }}</td>
|
||||||
|
<td>{{ chipset.name }}</td>
|
||||||
|
<td>{{ chipset.parts }}</td>
|
||||||
|
<td>{{ chipset.link }}</td>
|
||||||
|
</tr>
|
||||||
|
{% else %}
|
||||||
|
<tr>
|
||||||
|
<td colspan="5">no records found</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endblock %}
|
23
templates/chipset/new.html.twig
Normal file
23
templates/chipset/new.html.twig
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{% extends 'form.html.twig' %}
|
||||||
|
|
||||||
|
{% block title %}Chipset - New{% endblock %}
|
||||||
|
|
||||||
|
{% block form %}
|
||||||
|
<h2>Add Chipset</h2>
|
||||||
|
|
||||||
|
<div class="small callout">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_index') }}">Back to the list</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="large primary callout">
|
||||||
|
{{ form_start(form) }}
|
||||||
|
{{ form_widget(form) }}
|
||||||
|
<button type="submit" class="success button expanded">Add</button>
|
||||||
|
{{ form_end(form) }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
50
templates/chipset/show.html.twig
Normal file
50
templates/chipset/show.html.twig
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
{% extends 'form.html.twig' %}
|
||||||
|
|
||||||
|
{% block title %}Chipset{% endblock %}
|
||||||
|
|
||||||
|
{% block form %}
|
||||||
|
<h2>Chipset</h2>
|
||||||
|
|
||||||
|
<div class="callout">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_index') }}">Back to the list</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chipset_edit', {'id': chipset.id}) }}">Edit</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
|
||||||
|
<form method="post" action="{{ path('chipset_delete', {'id': chipset.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||||
|
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ chipset.id) }}">
|
||||||
|
<button type="submit" class="alert button expanded">Delete</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="large primary callout">
|
||||||
|
<table class="table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>Id</th>
|
||||||
|
<td>{{ chipset.id }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<td>{{ chipset.name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Parts</th>
|
||||||
|
<td>{{ chipset.parts }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Link</th>
|
||||||
|
<td>{{ chipset.link }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
@ -8,15 +8,15 @@
|
|||||||
<div class="dropdown-pane bottom" id="computer-menu" data-dropdown data-options="closeOnClick:true; hover: true; hoverPane: true; vOffset:11">
|
<div class="dropdown-pane bottom" id="computer-menu" data-dropdown data-options="closeOnClick:true; hover: true; hoverPane: true; vOffset:11">
|
||||||
<div class="row expanded">
|
<div class="row expanded">
|
||||||
<ul class="menu">
|
<ul class="menu">
|
||||||
<li class="{{ route starts with 'gpu_' ? 'is-active' }}">
|
|
||||||
<a href="{{ path('gpu_index') }}">🎮 Graphics Cards</a>
|
|
||||||
</li>
|
|
||||||
<li class="{{ route starts with 'cpu_' ? 'is-active' }}">
|
<li class="{{ route starts with 'cpu_' ? 'is-active' }}">
|
||||||
<a href="{{ path('cpu_index') }}">🧠 CPUs</a>
|
<a href="{{ path('cpu_index') }}">🧠 CPUs</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{ route starts with 'fpu_' ? 'is-active' }}">
|
<li class="{{ route starts with 'fpu_' ? 'is-active' }}">
|
||||||
<a href="{{ path('fpu_index') }}">🧮 FPUs</a>
|
<a href="{{ path('fpu_index') }}">🧮 FPUs</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="{{ route starts with 'gpu_' ? 'is-active' }}">
|
||||||
|
<a href="{{ path('gpu_index') }}">🎮 GPUs</a>
|
||||||
|
</li>
|
||||||
<li class="not-implemented {{ route starts with 'motherboard_' ? 'is-active' }}">
|
<li class="not-implemented {{ route starts with 'motherboard_' ? 'is-active' }}">
|
||||||
<a href="#">🤰 Motherboards</a>
|
<a href="#">🤰 Motherboards</a>
|
||||||
</li>
|
</li>
|
||||||
@ -32,15 +32,15 @@
|
|||||||
<li class="{{ route starts with 'brand-category_' ? 'is-active' }}">
|
<li class="{{ route starts with 'brand-category_' ? 'is-active' }}">
|
||||||
<a href="{{ path('brand-category_index') }}">💃 Brand Categories</a>
|
<a href="{{ path('brand-category_index') }}">💃 Brand Categories</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="{{ route starts with 'chipset_' ? 'is-active' }}">
|
||||||
|
<a href="{{ path('chipset_index') }}">🧩 Chipsets</a>
|
||||||
|
</li>
|
||||||
<li class="{{ route starts with 'gpu-core' ? 'is-active' }}">
|
<li class="{{ route starts with 'gpu-core' ? 'is-active' }}">
|
||||||
<a href="{{ path('gpu-core_index') }}">🌀 GPU Cores</a>
|
<a href="{{ path('gpu-core_index') }}">🌀 GPU Cores</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{ route starts with 'socket_' ? 'is-active' }}">
|
<li class="{{ route starts with 'socket_' ? 'is-active' }}">
|
||||||
<a href="{{ path('socket_index') }}">📍Sockets</a>
|
<a href="{{ path('socket_index') }}">📍Sockets</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="not-implemented">
|
|
||||||
<a href="#">🐏 Ram Types</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,66 +3,203 @@
|
|||||||
return [
|
return [
|
||||||
'' => '',
|
'' => '',
|
||||||
'4x4' => '4x4cm',
|
'4x4' => '4x4cm',
|
||||||
'6x4.5' => '6x4.5cm',
|
'5V 32-bit PCI' => '5V 32-bit PCI',
|
||||||
|
'5V 64-bit PCI' => '5V 64-bit PCI',
|
||||||
'6x6' => '6x6cm',
|
'6x6' => '6x6cm',
|
||||||
|
'6x4.5' => '6x4.5cm',
|
||||||
|
'8-bit ISA' => '8-bit ISA',
|
||||||
|
'16-bit ISA' => '16-bit ISA',
|
||||||
'35mm' => '35mm',
|
'35mm' => '35mm',
|
||||||
|
'1.5V AGP' => '1.5V AGP',
|
||||||
'110' => '110',
|
'110' => '110',
|
||||||
'120' => '120',
|
'120' => '120',
|
||||||
'127' => '127',
|
'127' => '127',
|
||||||
|
'3.3V 32-bit PCI' => '3.3V 32-bit PCI',
|
||||||
|
'3.3V 64-bit PCI' => '3.3V 64-bit PCI',
|
||||||
|
'3.3V AGP' => '3.3V AGP',
|
||||||
|
'3.3V PCI 33' => '3.3V PCI 33',
|
||||||
'620' => '620',
|
'620' => '620',
|
||||||
|
'Acquired' => 'Acquired',
|
||||||
|
'AGP 1x' => 'AGP 1x',
|
||||||
|
'AGP 2x' => 'AGP 2x',
|
||||||
|
'AGP 4x' => 'AGP 4x',
|
||||||
|
'AGP 8x' => 'AGP 8x',
|
||||||
|
'AGP' => 'AGP',
|
||||||
|
'Alternate model name' => 'Alternate Model Name',
|
||||||
'Aperture blades' => '# of Aperture Blades',
|
'Aperture blades' => '# of Aperture Blades',
|
||||||
'APS-C' => 'APS-C',
|
'APS-C' => 'APS-C',
|
||||||
|
'Architecture link' => 'Architecture Link',
|
||||||
|
'Architecture' => 'Architecture',
|
||||||
|
'arm' => 'arm',
|
||||||
|
'arm64' => 'arm64',
|
||||||
'B & W' => 'B & W',
|
'B & W' => 'B & W',
|
||||||
|
'Base speed' => 'Base Speed',
|
||||||
'Batteries' => 'Batteries',
|
'Batteries' => 'Batteries',
|
||||||
'Battery type' => 'Battery Type',
|
'Battery type' => 'Battery Type',
|
||||||
|
'Board brand' => 'GPU Board Brand',
|
||||||
|
'Boost speed' => 'Boost Speed',
|
||||||
'Brand' => 'Brand',
|
'Brand' => 'Brand',
|
||||||
|
'Bus interface' => 'Bus Interface',
|
||||||
'C-41' => 'C-41',
|
'C-41' => 'C-41',
|
||||||
|
'Card key' => 'Card Interface Keying',
|
||||||
|
'Categories' => 'Categories',
|
||||||
'Cellulose Triacetate' => 'Cellulose Triacetate',
|
'Cellulose Triacetate' => 'Cellulose Triacetate',
|
||||||
'Chemistry' => 'Film Chemistry',
|
'Chemistry' => 'Film Chemistry',
|
||||||
|
'Clock speed' => 'Clock Speed (MHz)',
|
||||||
'Coatings' => 'Coatings',
|
'Coatings' => 'Coatings',
|
||||||
|
'Code name' => 'Codename',
|
||||||
|
'Common' => 'Common',
|
||||||
|
'Compute units' => 'Compute Units/Cores',
|
||||||
|
'Cores' => 'Cores',
|
||||||
|
'Count' => 'Count',
|
||||||
'Crop factor' => 'Crop Factor',
|
'Crop factor' => 'Crop Factor',
|
||||||
'Description' => 'Description',
|
'Description' => 'Description',
|
||||||
'Design elements' => '# of Design Elements',
|
'Design elements' => '# of Design Elements',
|
||||||
'Design groups' => '# of Design Groups',
|
'Design groups' => '# of Design Groups',
|
||||||
'Developed rolls' => '# of Developed Rolls',
|
'Developed rolls' => '# of Developed Rolls',
|
||||||
|
'DirectX Support' => 'DirectX Support',
|
||||||
|
'DUAL_INLINE_PACKAGE' => 'DIP',
|
||||||
'E-6' => 'E-6',
|
'E-6' => 'E-6',
|
||||||
'Film alias' => 'Film Alias',
|
'Film alias' => 'Film Alias',
|
||||||
'Film base' => 'Film Base',
|
'Film base' => 'Film Base',
|
||||||
'Film format' => 'Film Format',
|
'Film format' => 'Film Format',
|
||||||
'Film name' => 'Film Name',
|
'Film name' => 'Film Name',
|
||||||
'Film speed asa' => 'Film Speed (ASA)',
|
'Film speed asa' => 'Film Speed (ASA)',
|
||||||
'Film speed din' => 'Film Speed (DIN)',
|
'Film speed din' => 'Film Speed (DIN)',
|
||||||
'Formerly owned' => 'Formerly Owned',
|
'Formerly owned' => 'Formerly Owned',
|
||||||
'Front filter size' => 'Front filter size (mm)',
|
'Front filter size' => 'Front filter size (mm)',
|
||||||
'Guide number' => 'Guide Number',
|
'Generation link' => 'Generation Link',
|
||||||
'Image size' => 'Image Size',
|
'Generation name' => 'Generation Name',
|
||||||
'Is auto flash' => 'Is auto flash',
|
'GPU Base Clock (MHz)' => 'GPU Base Clock (MHz)',
|
||||||
'Is digital' => 'Is Digital',
|
'GPU Boost Clock (MHz)' => 'GPU Boost Clock (MHz)',
|
||||||
'Is p ttl' => 'Is P-TTL',
|
'Gpu brand' => 'GPU Brand',
|
||||||
'Is teleconverter' => 'Is teleconverter',
|
'Gpu core' => 'GPU Core',
|
||||||
'Is ttl' => 'Is TTL',
|
'Guide number' => 'Guide Number',
|
||||||
'Is working' => 'Is Working',
|
'Historical' => 'Historical',
|
||||||
'Max f stop' => 'Max aperture (smallest f number)',
|
'IBM POWER' => 'IBM POWER',
|
||||||
'Max focal length' => 'Max focal length (mm)',
|
'Igp' => 'IGP',
|
||||||
'Medium Format' => 'Medium Format',
|
'Image size' => 'Image Size',
|
||||||
'Micro 4/3' => 'μ 4/3',
|
'Intel 8088' => 'Intel 8088',
|
||||||
'Min f stop' => 'Min aperture (largest f number)',
|
'Intel 80186' => 'Intel 80186',
|
||||||
'Min focal length' => 'Min focal length (mm)',
|
'Is auto flash' => 'Is auto flash',
|
||||||
'Model' => 'Model',
|
'Is digital' => 'Is Digital',
|
||||||
'Mount' => 'Mount',
|
'Is p ttl' => 'Is P-TTL',
|
||||||
'Notes' => 'Notes',
|
'Is teleconverter' => 'Is teleconverter',
|
||||||
'Other' => 'Other',
|
'Is ttl' => 'Is TTL',
|
||||||
'P ttl type' => 'P-TTL Type',
|
'Is working' => 'Is Working',
|
||||||
'Polyester' => 'Polyester',
|
'ISA' => 'ISA',
|
||||||
'Polyethylene Naphtalate' => 'Polyethylene Naphtalate',
|
'L1 Cache' => 'Level 1 Cache',
|
||||||
'Product line' => 'Product Line',
|
'L1 Data (x-way)' => 'L1 Data (x-way)',
|
||||||
'Purchase price' => 'Purchase Price',
|
'L1 Data Cache(s)' => 'L1 Data Cache(s)',
|
||||||
'Rear filter size' => 'Rear filter size (mm)',
|
'L1 Data Size KB' => 'L1 Data Size (KB)',
|
||||||
'Received' => 'Received',
|
'L1 Instruction (x-way)' => 'L1 Instruction (x-way)',
|
||||||
'Rolls in camera' => '# of Rolls in a Camera',
|
'L1 Instruction Cache(s)' => 'L1 Instruction Cache(s)',
|
||||||
'Serial' => 'Serial',
|
'L1 Instruction Size KB' => 'L1 Instruction Size (KB)',
|
||||||
'Small Format' => 'Small Format',
|
'L1 Unified (x-way)' => 'L1 Unified (x-way)',
|
||||||
'Ttl type' => 'TTL Type',
|
'L1 Unified Cache Size: KB' => 'L1 Unified Cache Size (KB)',
|
||||||
'Type' => 'Type',
|
'L1 Unified Cache(s)' => 'L1 Unified Cache(s)',
|
||||||
'Unused rolls' => '# of Unused Rolls',
|
'L2 Cache (x-way)' => 'L2 Cache (x-way)',
|
||||||
|
'L2 Cache Size KB (per unit)' => 'L2 Cache Size (KB per unit)',
|
||||||
|
'L2 Cache' => 'Level 2 Cache',
|
||||||
|
'L2 Cache(s)' => 'L2 Cache(s)',
|
||||||
|
'L3 Cache (x-way)' => 'L3 Cache (x-way)',
|
||||||
|
'L3 Cache Size KB (per unit)' => 'L3 Cache Size (KB per unit)',
|
||||||
|
'L3 Cache(s)' => 'L3 Cache(s)',
|
||||||
|
'LAND_GRID_ARRAY' => 'LGA',
|
||||||
|
'LEAD_LESS_CHIP_CARRIER' => 'Leadless Chip Carrier',
|
||||||
|
'Link' => 'Link',
|
||||||
|
'Lot number' => 'Lot Number',
|
||||||
|
'Max f stop' => 'Max aperture (smallest f number)',
|
||||||
|
'Max focal length' => 'Max focal length (mm)',
|
||||||
|
'Medium Format' => 'Medium Format',
|
||||||
|
'Memory Bus Size (bits)' => 'Memory Bus Size (bits)',
|
||||||
|
'Memory Size (MB)' => 'Memory Size (MB)',
|
||||||
|
'Memory Speed (MHz)' => 'Memory Speed (MHz)',
|
||||||
|
'Memory type' => 'Memory Type',
|
||||||
|
'Micro 4/3' => 'μ 4/3',
|
||||||
|
'Micro architecture' => 'μArchitecture',
|
||||||
|
'Min f stop' => 'Min aperture (largest f number)',
|
||||||
|
'Min focal length' => 'Min focal length (mm)',
|
||||||
|
'MIPS' => 'MIPS',
|
||||||
|
'Model name' => 'Model Name',
|
||||||
|
'Model' => 'Model',
|
||||||
|
'Molex Power Connectors' => 'Molex Power Connectors',
|
||||||
|
'MOS 6502' => 'MOS 6502',
|
||||||
|
'Motorola 68k' => 'Motorola 68k',
|
||||||
|
'Mount' => 'Mount',
|
||||||
|
'Name' => 'Name',
|
||||||
|
'Notes' => 'Notes',
|
||||||
|
'OpenCL Support' => 'OpenCL Support',
|
||||||
|
'OpenGL Support' => 'OpenGL Support',
|
||||||
|
'Other name' => 'Other Name',
|
||||||
|
'Other' => 'Other',
|
||||||
|
'Others' => 'Others',
|
||||||
|
'P ttl type' => 'P-TTL Type',
|
||||||
|
'Part number' => 'Part Number',
|
||||||
|
'PCI 32-bit' => 'PCI 32-bit',
|
||||||
|
'PCI 33' => 'PCI 33',
|
||||||
|
'PCI 64-bit' => 'PCI 64-bit',
|
||||||
|
'PCI Express Other' => 'PCI Express Other',
|
||||||
|
'PCI Express x16' => 'PCI Express x16',
|
||||||
|
'PCI Express' => 'PCI Express',
|
||||||
|
'PCI' => 'PCI',
|
||||||
|
'PCI-X' => 'PCI-X',
|
||||||
|
'PCIe 6-pin Power Connectors' => 'PCIe 6-pin Power Connectors',
|
||||||
|
'PCIe 8-pin Power Connectors' => 'PCIe 8-pin Power Connectors',
|
||||||
|
'PCIe 1.0 x16' => 'PCIe 1.0 x16',
|
||||||
|
'PCIe 1.1 x16' => 'PCIe 1.1 x16',
|
||||||
|
'PCIe 2.0 x16' => 'PCIe 2.0 x16',
|
||||||
|
'PCIe 3.0 x8' => 'PCIe 3.0 x8',
|
||||||
|
'PCIe 3.0 x16' => 'PCIe 3.0 x16',
|
||||||
|
'PCIe 4.0 x4' => 'PCIe 4.0 x4',
|
||||||
|
'PCIe 4.0 x8' => 'PCIe 4.0 x8',
|
||||||
|
'PCIe 4.0 x16' => 'PCIe 4.0 x16',
|
||||||
|
'PCIe 5.0 x16' => 'PCIe 5.0 x16',
|
||||||
|
'PCIe x1' => 'PCIe x1',
|
||||||
|
'PCIe x4' => 'PCIe x4',
|
||||||
|
'PCIe x8' => 'PCIe x8',
|
||||||
|
'PCIe x16' => 'PCIe x16',
|
||||||
|
'Pin count' => 'Pin Count',
|
||||||
|
'PIN_GRID_ARRAY' => 'PGA',
|
||||||
|
'PLASTIC_LEADED_CHIP_CARRIER' => 'Plastic Leaded Chip Carrier',
|
||||||
|
'Polyester' => 'Polyester',
|
||||||
|
'Polyethylene Naphtalate' => 'Polyethylene Naphtalate',
|
||||||
|
'PowerPC' => 'PowerPC',
|
||||||
|
'Process node' => 'Process Node',
|
||||||
|
'Product line' => 'Product Line',
|
||||||
|
'Purchase price' => 'Purchase Price',
|
||||||
|
'Rear filter size' => 'Rear filter size (mm)',
|
||||||
|
'Received' => 'Received',
|
||||||
|
'RISC V' => 'RISC V',
|
||||||
|
'Rolls in camera' => '# of Rolls in a Camera',
|
||||||
|
'ROPs' => 'ROPs',
|
||||||
|
'Serial' => 'Serial',
|
||||||
|
'Series' => 'Series',
|
||||||
|
'Shader model' => 'Shader Model',
|
||||||
|
'Shading units' => 'Shading Units',
|
||||||
|
'Slot span' => 'Slot Span',
|
||||||
|
'SLOT' => 'Slot',
|
||||||
|
'Small Format' => 'Small Format',
|
||||||
|
'Socket' => 'Socket',
|
||||||
|
'Sockets' => 'Sockets',
|
||||||
|
'TDP (Watts)' => 'TDP (Watts)',
|
||||||
|
'Tdp' => 'TDP',
|
||||||
|
'Threads' => 'Threads',
|
||||||
|
'TMUs' => 'TMUs',
|
||||||
|
'Ttl type' => 'TTL Type',
|
||||||
|
'Type' => 'Type',
|
||||||
|
'Universal 32-bit PCI' => 'Universal 32-bit PCI',
|
||||||
|
'Universal 64-bit PCI' => 'Universal 64-bit PCI',
|
||||||
|
'Universal AGP' => 'Universal AGP',
|
||||||
|
'Unknown' => 'Unknown',
|
||||||
|
'Unused rolls' => '# of Unused Rolls',
|
||||||
|
'Usable' => 'Usable',
|
||||||
|
'Variant' => 'Variant',
|
||||||
|
'VESA Local Bus' => 'VESA Local Bus',
|
||||||
|
'VLB' => 'VLB',
|
||||||
|
'Voltage' => 'Voltage',
|
||||||
|
'Vulkan support' => 'Vulkan Support',
|
||||||
|
'x86' => 'x86',
|
||||||
|
'x86_64' => 'AMD64',
|
||||||
|
'Z80' => 'Z80',
|
||||||
];
|
];
|
||||||
|
Loading…
Reference in New Issue
Block a user