This commit is contained in:
Thomas 2025-02-25 11:24:18 +01:00
parent e6be33f1f2
commit dcdc2d1b22
244 changed files with 65770 additions and 20779 deletions

View File

@ -57,7 +57,6 @@ server {
rewrite ^(.*) /index.php last; rewrite ^(.*) /index.php last;
} }
location /apps/ { # Static files location /apps/ { # Static files
client_max_body_size 1024M; client_max_body_size 1024M;
root $frontRoot; root $frontRoot;

2
.gitignore vendored
View File

@ -46,7 +46,7 @@ src/new/web/uploads_shops
/src/new/vendor/ /src/new/vendor/
###< symfony/framework-bundle ### ###< symfony/framework-bundle ###
/src/new/node_modules/ /src/new/node_modules/
/src/new/auth.json
###> symfony/phpunit-bridge ### ###> symfony/phpunit-bridge ###
src/new/.phpunit.result.cache src/new/.phpunit.result.cache
src/new/phpunit.xml src/new/phpunit.xml

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"25d0bb7069154368a570eea7f471d07c","collectionName":"README","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"0a2ae68e3ff94378b1aaa39bff508fe1","collectionName":"README","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"8d5d93c9b0a944fb8b8759bfcc5109fb","collectionName":"system.version","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"e595bc0e0a294dc59142e37c41a51b8f","collectionName":"system.version","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"f464b32f1e91419e8ae82be5a7cbd8c5","collectionName":"Account","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"da257057d5ae4cef9034ec3953d40edc","collectionName":"Account","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"983820c5ed1e48e28874ed11b66dfe94","collectionName":"Cms","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"3096a24618db4ddda30c05f7df6deb39","collectionName":"Cms","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"eece19a303f548c5bd9c12a50e739f3c","collectionName":"Contact","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"719a53349ec9439eba3f514394f74e8e","collectionName":"Contact","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"ed18d08156a740d0b1aa02cc8b500c07","collectionName":"ContactAddress","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"a4f27876564640e2a8f777c1f8c1eed3","collectionName":"ContactAddress","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"91e00f3e1dd646c4b231d05acdc53b04","collectionName":"Country","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"e4e9671daee043558c34b478226dba0c","collectionName":"Country","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"3d6c548cdf68427c8fa6d7146424ceef","collectionName":"Gatewaysettings","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"86cf4d54db5446ff9920a3ba1fe7d7f3","collectionName":"Gatewaysettings","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"2ced64fb6bbc4cfa8c6adaa0bb8ef82e","collectionName":"Help","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"28543f41dc5e4831961796dcfc3838e0","collectionName":"Help","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"42ae432455e74b418457b4083beafa93","collectionName":"Instance","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"4fcf56b1319441f8a96f84eeadac41de","collectionName":"Instance","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"557b49f2e6804dd18b525151cfbae14d","collectionName":"Job","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"ebf99a2ee7b54c039edfd4983285ab32","collectionName":"Job","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"219060951c964fbcbf6429149afede7c","collectionName":"JobLog","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"07180637db924be988bbe4df0eb8fb71","collectionName":"JobLog","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"0b1e008725e2456ea3468b1cfd82c6ec","collectionName":"LayouterSession","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"84fdd96a4c904891920f2b6bd5e24d3f","collectionName":"LayouterSession","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"c23546ac53f54d8389c8081e07fb1bdd","collectionName":"LogEntry","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"434c6de95f3b4c9aa65d91df4b4cb722","collectionName":"LogEntry","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"52c1f9fbbc1d48b18ef1edfb677b2f20","collectionName":"Media","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"f4beb425993840dca5572346e37fa192","collectionName":"Media","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"5ebdfba1599e4b119e0095a0a282d6a3","collectionName":"Media_Folder","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"6ed1f40594de4873bac99524e480697d","collectionName":"Media_Folder","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"212b049d422e45d8b57b289d52dbb6e8","collectionName":"Migration","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"b88dfc486e014f85807a6b3f9ef58d1c","collectionName":"Migration","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"cc073dd7ac9b43748f0124eb57ed1c30","collectionName":"Motiv","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"a734c79a29e042baaf97c7c12178c1a0","collectionName":"Motiv","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"b9fc4bb857e74cb7a38071e4c599f013","collectionName":"Order","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"00045c4cfcf44c2b9863ce930ea254fa","collectionName":"Order","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"463c25aa7e92426c9df6c8ddb4053875","collectionName":"Paper","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"75f45c2d48b04027be6eb21477849115","collectionName":"Paper","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"f38f0c14fb86455ebbf7c7f741000e2c","collectionName":"Payment","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"b44f4576d37f4df18f29784dd111899c","collectionName":"Payment","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"33a17bfa5c304f108dc63b959b4e25fe","collectionName":"Plugin","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"10754e4d63234b75b9c4c74d0c66fef7","collectionName":"Plugin","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"4adc80ea968845348f92696289f06424","collectionName":"Position","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"40424341fc434747be74dc51618fba10","collectionName":"Position","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"ed17efafa6f140bea24981a1f9413756","collectionName":"Product","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"628fd2633d914e06bf6c6c4af1ac905e","collectionName":"Product","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"bd525258db1f44a09257ac6c791db3f5","collectionName":"Productgroup","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"c3185a73240343f0ad64305351574fad","collectionName":"Productgroup","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"64f1023c5bec4674a66e4d37464064ac","collectionName":"Queue","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"2939a1dbef024e4f9937dc29e0868552","collectionName":"Queue","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"d6642e32eb6346dd883cb237efdbc616","collectionName":"Route","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"dd3471a39b0544c3a6ac83a39be53489","collectionName":"Route","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"a1282f26de2c4cdca6830c33514bae67","collectionName":"Shipping","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"809a6bbe0ca647b1a855bf160092dab8","collectionName":"Shipping","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"79f109a7361849fead2c9234f4f84530","collectionName":"Shop","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"8698b0f1f876489bbfff736c70c8311c","collectionName":"Shop","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"2868de38934a493c99dac48e5bf1f78c","collectionName":"ShopFormular","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"94ea396ee4ce48f389557f41fc0b591a","collectionName":"ShopFormular","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"50aedc2e4ce34a729e508ab2be053b95","collectionName":"Status","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"94f7cb52e1fd4cb6b47cd573764cc979","collectionName":"Status","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"eec5a311568b4f3f9bd1da160d704daa","collectionName":"Tax","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"ab5f5793041b4f8c9bbf801f62379896","collectionName":"Tax","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"bdf220bb034c4046b373081dece9cfe4","collectionName":"accountObj_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"d93fec216a614114b4de615685487c9e","collectionName":"accountObj_history","type":"collection"}

Binary file not shown.

View File

@ -0,0 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"fc7a531053174aafb8ef1da81223a1da","collectionName":"cmsObj_history","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"441cf82e68264d7199e142725a0ca41d","collectionName":"contactObj_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"b27d9860ac0442fe8a45464af7b57abf","collectionName":"contactObj_history","type":"collection"}

Binary file not shown.

View File

@ -0,0 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"2c46eca4585342d4ae706d45b26fd3ce","collectionName":"news_history","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"a1fc89c800424d3caf2001c6dfe8f18c","collectionName":"payment_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"8d36006633f54262842b886a0fa34630","collectionName":"payment_history","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"98a1c5a8e4f8426e8ed6a236436e9a1a","collectionName":"producktgroupObj_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"01f8359408784535aab1cc3f35adcf5d","collectionName":"producktgroupObj_history","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"e0d1903ca6e241c8b6047b322e3769cf","collectionName":"productObj_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"8048223d93bb4994935a1054dea436a4","collectionName":"productObj_history","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"611ff1699e684d1c86c4918c4997d69d","collectionName":"shipping_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"d36cd7214b484da9915b15ff56cc5cb5","collectionName":"shipping_history","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"c2ca4e26ee1f403c9d0518eda35d6bb6","collectionName":"shopObj_history","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"357c67d9a27442e1bc2ef076588589cf","collectionName":"shopObj_history","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"959fc883790046bdabb6586d31a3e3e7","collectionName":"Contact","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"0f620ee835034bafb23dcfee904948cd","collectionName":"Contact","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"364cd5bd6cc146f4a3d6fea9e0e75594","collectionName":"Country","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"48d80569f0864f30a5e9e7d1ae997d07","collectionName":"Country","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"4348131fe7254f3b82df1f84cf381d6c","collectionName":"Instance","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"87e79f863132414cbd38440a44deffa8","collectionName":"Instance","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"d3f956ef489a442e9520d188607d68c8","collectionName":"Job","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"4940436d31824b8da217a21d20b63f6c","collectionName":"Job","type":"collection"}

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"3ffd9cb7103f431fa6e291b51560fa7a","collectionName":"Plugin","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"92d55e90e26e4666b31eea6d0c47cd47","collectionName":"Plugin","type":"collection"}

Binary file not shown.

View File

@ -1 +1 @@
{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"08d26904d6fc4fcca1dfce1fc939c185","collectionName":"Shop","type":"collection"} {"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"9d2dd62e27e64904839f067ff2e9308f","collectionName":"Shop","type":"collection"}

205
src/new/composer.lock generated
View File

@ -131,16 +131,16 @@
}, },
{ {
"name": "bitandblack/colors", "name": "bitandblack/colors",
"version": "2.13.0", "version": "2.14.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://bitbucket.org/wirbelwild/colors.git", "url": "https://bitbucket.org/wirbelwild/colors.git",
"reference": "71fc7294e1ef033a6e1f2bdf25f9560c66b641e8" "reference": "60c82ca8a4413e5b9651801ca7e587edd82affbf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://bitbucket.org/wirbelwild/colors/get/71fc7294e1ef033a6e1f2bdf25f9560c66b641e8.zip", "url": "https://bitbucket.org/wirbelwild/colors/get/60c82ca8a4413e5b9651801ca7e587edd82affbf.zip",
"reference": "71fc7294e1ef033a6e1f2bdf25f9560c66b641e8", "reference": "60c82ca8a4413e5b9651801ca7e587edd82affbf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -197,7 +197,7 @@
], ],
"support": { "support": {
"issues": "https://bitbucket.org/wirbelwild/colors/issues", "issues": "https://bitbucket.org/wirbelwild/colors/issues",
"source": "https://bitbucket.org/wirbelwild/colors/src/71fc7294e1ef033a6e1f2bdf25f9560c66b641e8/?at=2.13.0" "source": "https://bitbucket.org/wirbelwild/colors/src/60c82ca8a4413e5b9651801ca7e587edd82affbf/?at=2.14.0"
}, },
"funding": [ "funding": [
{ {
@ -205,7 +205,7 @@
"type": "buymeacoffee" "type": "buymeacoffee"
} }
], ],
"time": "2024-12-10T10:03:51+00:00" "time": "2025-02-22T15:12:56+00:00"
}, },
{ {
"name": "bitandblack/sentence-construction", "name": "bitandblack/sentence-construction",
@ -3543,16 +3543,16 @@
}, },
{ {
"name": "jms/serializer", "name": "jms/serializer",
"version": "3.32.2", "version": "3.32.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/schmittjoh/serializer.git", "url": "https://github.com/schmittjoh/serializer.git",
"reference": "fa7ab39504c24d76107ba16c00aafa5da3605971" "reference": "033c9beab9eb708509a3d400e9f0ffeb2d440e71"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/schmittjoh/serializer/zipball/fa7ab39504c24d76107ba16c00aafa5da3605971", "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/033c9beab9eb708509a3d400e9f0ffeb2d440e71",
"reference": "fa7ab39504c24d76107ba16c00aafa5da3605971", "reference": "033c9beab9eb708509a3d400e9f0ffeb2d440e71",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3629,7 +3629,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/schmittjoh/serializer/issues", "issues": "https://github.com/schmittjoh/serializer/issues",
"source": "https://github.com/schmittjoh/serializer/tree/3.32.2" "source": "https://github.com/schmittjoh/serializer/tree/3.32.3"
}, },
"funding": [ "funding": [
{ {
@ -3637,7 +3637,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-01-03T22:43:29+00:00" "time": "2025-02-11T23:16:25+00:00"
}, },
{ {
"name": "jms/serializer-bundle", "name": "jms/serializer-bundle",
@ -5336,16 +5336,16 @@
}, },
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.12.1", "version": "1.13.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/myclabs/DeepCopy.git", "url": "https://github.com/myclabs/DeepCopy.git",
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" "reference": "024473a478be9df5fdaca2c793f2232fe788e414"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5384,7 +5384,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/myclabs/DeepCopy/issues", "issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
}, },
"funding": [ "funding": [
{ {
@ -5392,7 +5392,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-11-08T17:47:46+00:00" "time": "2025-02-12T12:17:51+00:00"
}, },
{ {
"name": "myclabs/php-enum", "name": "myclabs/php-enum",
@ -5700,16 +5700,16 @@
}, },
{ {
"name": "nesbot/carbon", "name": "nesbot/carbon",
"version": "3.8.4", "version": "3.8.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/CarbonPHP/carbon.git", "url": "https://github.com/CarbonPHP/carbon.git",
"reference": "129700ed449b1f02d70272d2ac802357c8c30c58" "reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/129700ed449b1f02d70272d2ac802357c8c30c58", "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
"reference": "129700ed449b1f02d70272d2ac802357c8c30c58", "reference": "ff2f20cf83bd4d503720632ce8a426dc747bf7fd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5785,8 +5785,8 @@
], ],
"support": { "support": {
"docs": "https://carbon.nesbot.com/docs", "docs": "https://carbon.nesbot.com/docs",
"issues": "https://github.com/briannesbitt/Carbon/issues", "issues": "https://github.com/CarbonPHP/carbon/issues",
"source": "https://github.com/briannesbitt/Carbon" "source": "https://github.com/CarbonPHP/carbon"
}, },
"funding": [ "funding": [
{ {
@ -5802,7 +5802,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-27T09:25:35+00:00" "time": "2025-02-20T17:33:38+00:00"
}, },
{ {
"name": "nicolab/php-ftp-client", "name": "nicolab/php-ftp-client",
@ -6751,16 +6751,16 @@
}, },
{ {
"name": "phpstan/phpdoc-parser", "name": "phpstan/phpdoc-parser",
"version": "2.0.0", "version": "2.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git", "url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299" "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"reference": "c00d78fb6b29658347f9d37ebe104bffadf36299", "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6792,9 +6792,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types", "description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": { "support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues", "issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0" "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
}, },
"time": "2024-10-13T11:29:49+00:00" "time": "2025-02-19T13:28:12+00:00"
}, },
{ {
"name": "picqer/sendcloud-php-client", "name": "picqer/sendcloud-php-client",
@ -12756,16 +12756,16 @@
}, },
{ {
"name": "symfony/stimulus-bundle", "name": "symfony/stimulus-bundle",
"version": "v2.22.1", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/stimulus-bundle.git", "url": "https://github.com/symfony/stimulus-bundle.git",
"reference": "e13034d428354023c82a1db108d40fdf6cec2d36" "reference": "254f4e05cbaa349d4ae68b9b2e6a22995e0887f9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/e13034d428354023c82a1db108d40fdf6cec2d36", "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/254f4e05cbaa349d4ae68b9b2e6a22995e0887f9",
"reference": "e13034d428354023c82a1db108d40fdf6cec2d36", "reference": "254f4e05cbaa349d4ae68b9b2e6a22995e0887f9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -12805,7 +12805,7 @@
"symfony-ux" "symfony-ux"
], ],
"support": { "support": {
"source": "https://github.com/symfony/stimulus-bundle/tree/v2.22.1" "source": "https://github.com/symfony/stimulus-bundle/tree/v2.23.0"
}, },
"funding": [ "funding": [
{ {
@ -12821,7 +12821,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-06T14:30:33+00:00" "time": "2025-01-16T21:55:09+00:00"
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
@ -13343,16 +13343,16 @@
}, },
{ {
"name": "symfony/ux-autocomplete", "name": "symfony/ux-autocomplete",
"version": "v2.22.1", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/ux-autocomplete.git", "url": "https://github.com/symfony/ux-autocomplete.git",
"reference": "12a298a06dfee5f447ff4a53edb868ac6de214f9" "reference": "063926d4eeb07edec0789ef6f9b597fe9027102b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/ux-autocomplete/zipball/12a298a06dfee5f447ff4a53edb868ac6de214f9", "url": "https://api.github.com/repos/symfony/ux-autocomplete/zipball/063926d4eeb07edec0789ef6f9b597fe9027102b",
"reference": "12a298a06dfee5f447ff4a53edb868ac6de214f9", "reference": "063926d4eeb07edec0789ef6f9b597fe9027102b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13413,7 +13413,7 @@
"symfony-ux" "symfony-ux"
], ],
"support": { "support": {
"source": "https://github.com/symfony/ux-autocomplete/tree/v2.22.1" "source": "https://github.com/symfony/ux-autocomplete/tree/v2.23.0"
}, },
"funding": [ "funding": [
{ {
@ -13429,20 +13429,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-05T14:25:02+00:00" "time": "2025-02-06T00:35:19+00:00"
}, },
{ {
"name": "symfony/ux-chartjs", "name": "symfony/ux-chartjs",
"version": "v2.22.1", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/ux-chartjs.git", "url": "https://github.com/symfony/ux-chartjs.git",
"reference": "6e7de01ea469840da2b7458b660b52e846e279e1" "reference": "bbe034301ac2a89855ec79d6d5123156071a50c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/ux-chartjs/zipball/6e7de01ea469840da2b7458b660b52e846e279e1", "url": "https://api.github.com/repos/symfony/ux-chartjs/zipball/bbe034301ac2a89855ec79d6d5123156071a50c0",
"reference": "6e7de01ea469840da2b7458b660b52e846e279e1", "reference": "bbe034301ac2a89855ec79d6d5123156071a50c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13493,7 +13493,7 @@
"symfony-ux" "symfony-ux"
], ],
"support": { "support": {
"source": "https://github.com/symfony/ux-chartjs/tree/v2.22.1" "source": "https://github.com/symfony/ux-chartjs/tree/v2.23.0"
}, },
"funding": [ "funding": [
{ {
@ -13509,20 +13509,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-05T14:25:02+00:00" "time": "2025-01-05T13:18:49+00:00"
}, },
{ {
"name": "symfony/ux-live-component", "name": "symfony/ux-live-component",
"version": "v2.22.1", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/ux-live-component.git", "url": "https://github.com/symfony/ux-live-component.git",
"reference": "060e0c64e64125a4dfbf37dec281157faade1feb" "reference": "840542868a8473b49036ec1ed0c5238d14b075a8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/ux-live-component/zipball/060e0c64e64125a4dfbf37dec281157faade1feb", "url": "https://api.github.com/repos/symfony/ux-live-component/zipball/840542868a8473b49036ec1ed0c5238d14b075a8",
"reference": "060e0c64e64125a4dfbf37dec281157faade1feb", "reference": "840542868a8473b49036ec1ed0c5238d14b075a8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13587,7 +13587,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/symfony/ux-live-component/tree/v2.22.1" "source": "https://github.com/symfony/ux-live-component/tree/v2.23.0"
}, },
"funding": [ "funding": [
{ {
@ -13603,20 +13603,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-07T10:13:15+00:00" "time": "2025-02-07T23:57:34+00:00"
}, },
{ {
"name": "symfony/ux-twig-component", "name": "symfony/ux-twig-component",
"version": "v2.22.1", "version": "v2.23.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/ux-twig-component.git", "url": "https://github.com/symfony/ux-twig-component.git",
"reference": "9b347f6ca2d9e18cee630787f0a6aa453982bf18" "reference": "f29033b95e93aea2d498dc40eac185ed14b07800"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/ux-twig-component/zipball/9b347f6ca2d9e18cee630787f0a6aa453982bf18", "url": "https://api.github.com/repos/symfony/ux-twig-component/zipball/f29033b95e93aea2d498dc40eac185ed14b07800",
"reference": "9b347f6ca2d9e18cee630787f0a6aa453982bf18", "reference": "f29033b95e93aea2d498dc40eac185ed14b07800",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -13670,7 +13670,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/symfony/ux-twig-component/tree/v2.22.1" "source": "https://github.com/symfony/ux-twig-component/tree/v2.23.0"
}, },
"funding": [ "funding": [
{ {
@ -13686,7 +13686,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-12-07T18:05:50+00:00" "time": "2025-01-25T02:19:26+00:00"
}, },
{ {
"name": "symfony/validator", "name": "symfony/validator",
@ -14313,20 +14313,20 @@
}, },
{ {
"name": "twig/extra-bundle", "name": "twig/extra-bundle",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git", "url": "https://github.com/twigphp/twig-extra-bundle.git",
"reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa" "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9746573ca4bc1cd03a767a183faadaf84e0c31fa", "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9df5e1dbb6a68c0665ae5603f6f2c20815647876",
"reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa", "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/framework-bundle": "^5.4|^6.4|^7.0", "symfony/framework-bundle": "^5.4|^6.4|^7.0",
"symfony/twig-bundle": "^5.4|^6.4|^7.0", "symfony/twig-bundle": "^5.4|^6.4|^7.0",
"twig/twig": "^3.2|^4.0" "twig/twig": "^3.2|^4.0"
@ -14371,7 +14371,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.19.0" "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -14383,24 +14383,24 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-26T19:22:23+00:00" "time": "2025-02-08T09:47:15+00:00"
}, },
{ {
"name": "twig/intl-extra", "name": "twig/intl-extra",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/intl-extra.git", "url": "https://github.com/twigphp/intl-extra.git",
"reference": "79a1bea7254783b540d51de10dc5e9f310110794" "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/intl-extra/zipball/79a1bea7254783b540d51de10dc5e9f310110794", "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/05bc5d46b9df9e62399eae53e7c0b0633298b146",
"reference": "79a1bea7254783b540d51de10dc5e9f310110794", "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/intl": "^5.4|^6.4|^7.0", "symfony/intl": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0" "twig/twig": "^3.13|^4.0"
}, },
@ -14435,7 +14435,7 @@
"twig" "twig"
], ],
"support": { "support": {
"source": "https://github.com/twigphp/intl-extra/tree/v3.19.0" "source": "https://github.com/twigphp/intl-extra/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -14447,24 +14447,24 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-24T20:20:33+00:00" "time": "2025-01-31T20:45:36+00:00"
}, },
{ {
"name": "twig/string-extra", "name": "twig/string-extra",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/string-extra.git", "url": "https://github.com/twigphp/string-extra.git",
"reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752" "reference": "4b3337544ac8f76c280def94e32b53acfaec0589"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/string-extra/zipball/cb4eec11de02f63ad8ea9d065a1f27752d0bf752", "url": "https://api.github.com/repos/twigphp/string-extra/zipball/4b3337544ac8f76c280def94e32b53acfaec0589",
"reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752", "reference": "4b3337544ac8f76c280def94e32b53acfaec0589",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/string": "^5.4|^6.4|^7.0", "symfony/string": "^5.4|^6.4|^7.0",
"symfony/translation-contracts": "^1.1|^2|^3", "symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^3.13|^4.0" "twig/twig": "^3.13|^4.0"
@ -14502,7 +14502,7 @@
"unicode" "unicode"
], ],
"support": { "support": {
"source": "https://github.com/twigphp/string-extra/tree/v3.19.0" "source": "https://github.com/twigphp/string-extra/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -14514,28 +14514,27 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-11-30T08:42:13+00:00" "time": "2025-01-31T20:45:36+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
"version": "v3.19.0", "version": "v3.20.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/Twig.git", "url": "https://github.com/twigphp/Twig.git",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e" "reference": "3468920399451a384bef53cf7996965f7cd40183"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e", "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e", "reference": "3468920399451a384bef53cf7996965f7cd40183",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=8.0.2", "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3", "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8", "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-mbstring": "^1.3"
"symfony/polyfill-php81": "^1.29"
}, },
"require-dev": { "require-dev": {
"phpstan/phpstan": "^2.0", "phpstan/phpstan": "^2.0",
@ -14582,7 +14581,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/twigphp/Twig/issues", "issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.19.0" "source": "https://github.com/twigphp/Twig/tree/v3.20.0"
}, },
"funding": [ "funding": [
{ {
@ -14594,7 +14593,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-01-29T07:06:14+00:00" "time": "2025-02-13T08:34:43+00:00"
}, },
{ {
"name": "webmozart/assert", "name": "webmozart/assert",
@ -15323,23 +15322,23 @@
}, },
{ {
"name": "nelmio/alice", "name": "nelmio/alice",
"version": "3.14.0", "version": "3.14.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nelmio/alice.git", "url": "https://github.com/nelmio/alice.git",
"reference": "40b240dc33ceee636bad1da9ea2a87a3add3bf7a" "reference": "1b14cbacdc9d124d0f51c859faeacba397794083"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nelmio/alice/zipball/40b240dc33ceee636bad1da9ea2a87a3add3bf7a", "url": "https://api.github.com/repos/nelmio/alice/zipball/1b14cbacdc9d124d0f51c859faeacba397794083",
"reference": "40b240dc33ceee636bad1da9ea2a87a3add3bf7a", "reference": "1b14cbacdc9d124d0f51c859faeacba397794083",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"fakerphp/faker": "^1.10", "fakerphp/faker": "^1.10",
"myclabs/deep-copy": "^1.10", "myclabs/deep-copy": "^1.10",
"php": "^8.1", "php": "^8.1",
"sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0", "sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0",
"symfony/property-access": "^6.4 || ^7.0", "symfony/property-access": "^6.4 || ^7.0",
"symfony/yaml": "^6.0 || ^7.0" "symfony/yaml": "^6.0 || ^7.0"
}, },
@ -15406,7 +15405,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/nelmio/alice/issues", "issues": "https://github.com/nelmio/alice/issues",
"source": "https://github.com/nelmio/alice/tree/3.14.0" "source": "https://github.com/nelmio/alice/tree/3.14.1"
}, },
"funding": [ "funding": [
{ {
@ -15414,7 +15413,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-12-23T11:09:53+00:00" "time": "2025-02-24T11:01:06+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
@ -15724,16 +15723,16 @@
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.12.17", "version": "1.12.19",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "7027b3b0270bf392de0cfba12825979768d728bf" "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/7027b3b0270bf392de0cfba12825979768d728bf", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c42ba9bab7a940ed00092ecb1c77bad98896d789",
"reference": "7027b3b0270bf392de0cfba12825979768d728bf", "reference": "c42ba9bab7a940ed00092ecb1c77bad98896d789",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -15778,7 +15777,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-02-07T15:01:57+00:00" "time": "2025-02-19T15:42:21+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",

View File

@ -27,9 +27,9 @@ class ContactExporter implements ExporterInterface
private $_formFactory = null; private $_formFactory = null;
private $_entityManager = null; private $_entityManager = null;
private $_shopService = null; private $_shopService = null;
/** @var Form */ /** @var Form */
private $_form = null; private $_form = null;
function __construct(FormFactoryInterface $formFactory, EntityManagerInterface $entityManager, Shop $shopService) public function __construct(FormFactoryInterface $formFactory, EntityManagerInterface $entityManager, Shop $shopService)
{ {
$this->_formFactory = $formFactory; $this->_formFactory = $formFactory;
$this->_entityManager = $entityManager; $this->_entityManager = $entityManager;
@ -74,6 +74,10 @@ class ContactExporter implements ExporterInterface
'id' => 'id', 'id' => 'id',
'uid' => 'uid', 'uid' => 'uid',
'account_id' => 'account_id', 'account_id' => 'account_id',
'account_title' => 'account_title',
'enable' => 'enable',
'locked' => 'locked',
'virtual' => 'virtual',
'username' => 'email', 'username' => 'email',
'firstname' => 'firstname', 'firstname' => 'firstname',
'lastname' => 'lastname', 'lastname' => 'lastname',
@ -103,15 +107,20 @@ class ContactExporter implements ExporterInterface
'alternativAreaCode' => 'alternativAreaCode', 'alternativAreaCode' => 'alternativAreaCode',
'alternativAppendix' => 'alternativAppendix', 'alternativAppendix' => 'alternativAppendix',
'alternativ' => 'alternativ', 'alternativ' => 'alternativ',
'alternativType' => 'alternativType' 'alternativType' => 'alternativType',
'birthday' => 'birthday'
); );
foreach ($rows as $row) { foreach ($rows as $row) {
/** @var Contact $contact */ /** @var Contact $contact */
$contact = $row->getContact(); $contact = $row->getContact();
$temp[] = array( $temp[] = array(
'id' => $contact->getId(), 'id' => $contact->getId(),
'uid' => $contact->getId(), 'uid' => $contact->getId(),
'account_id' => $contact->getAccount()->getId(), 'account_id' => ($contact->getAccount() ? (string)$contact->getAccount()->getId() : 0),
'account_title' => ($contact->getAccount() ? (string)$contact->getAccount()->getTitle() : 0),
'enable' => (int)$contact->isEnable(),
'locked' => (int)$contact->isLocked(),
'virtual' => (int)$contact->isVirtual(),
'username' => $contact->getUsername(), 'username' => $contact->getUsername(),
'firstname' => $contact->getFirstname(), 'firstname' => $contact->getFirstname(),
'lastname' => $contact->getLastname(), 'lastname' => $contact->getLastname(),
@ -141,7 +150,8 @@ class ContactExporter implements ExporterInterface
'alternativAreaCode' => $contact->getAlternativAreaCode(), 'alternativAreaCode' => $contact->getAlternativAreaCode(),
'alternativAppendix' => $contact->getAlternativAppendix(), 'alternativAppendix' => $contact->getAlternativAppendix(),
'alternativ' => $contact->getAlternativ(), 'alternativ' => $contact->getAlternativ(),
'alternativType' => $contact->getAlternativType() 'alternativType' => $contact->getAlternativType(),
'birthday' => $contact->getBirthday()
); );
} }

View File

@ -2,33 +2,26 @@
namespace PSC\Backend\ToolsBundle\Exporter\Excel; namespace PSC\Backend\ToolsBundle\Exporter\Excel;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use LogicException; use PhpOffice\PhpSpreadsheet\Spreadsheet;
use Port\Excel\ExcelWriter; use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Port\Reader\ArrayReader;
use PSC\Backend\ToolsBundle\Interfaces\ExporterInterface; use PSC\Backend\ToolsBundle\Interfaces\ExporterInterface;
use PSC\Backend\ToolsBundle\Service\ExporterRegistry; use PSC\Backend\ToolsBundle\Service\ExporterRegistry;
use PSC\Shop\EntityBundle\Entity\Contact; use PSC\Shop\EntityBundle\Entity\Contact;
use PSC\System\SettingsBundle\Service\Shop; use PSC\System\SettingsBundle\Service\Shop;
use Symfony\Component\Form\Form; use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormFactory;
use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\HttpFoundation\BinaryFileResponse; use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\StreamedResponse;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
use Symfony\Component\Validator\Constraints\Date;
use Symfony\Component\Validator\Constraints\DateTime;
class ContactExporter implements ExporterInterface class ContactExporter implements ExporterInterface
{ {
private $_formFactory = null; private $_formFactory = null;
private $_entityManager = null; private $_entityManager = null;
private $_shopService = null; private $_shopService = null;
/** @var Form */ /** @var Form */
private $_form = null; private $_form = null;
function __construct(FormFactoryInterface $formFactory, EntityManagerInterface $entityManager, Shop $shopService) public function __construct(FormFactoryInterface $formFactory, EntityManagerInterface $entityManager, Shop $shopService)
{ {
$this->_formFactory = $formFactory; $this->_formFactory = $formFactory;
$this->_entityManager = $entityManager; $this->_entityManager = $entityManager;
@ -73,6 +66,10 @@ class ContactExporter implements ExporterInterface
'id' => 'id', 'id' => 'id',
'uid' => 'uid', 'uid' => 'uid',
'account_id' => 'account_id', 'account_id' => 'account_id',
'account_title' => 'account_title',
'enable' => 'enable',
'locked' => 'locked',
'virtual' => 'virtual',
'username' => 'email', 'username' => 'email',
'firstname' => 'firstname', 'firstname' => 'firstname',
'lastname' => 'lastname', 'lastname' => 'lastname',
@ -102,15 +99,20 @@ class ContactExporter implements ExporterInterface
'alternativAreaCode' => 'alternativAreaCode', 'alternativAreaCode' => 'alternativAreaCode',
'alternativAppendix' => 'alternativAppendix', 'alternativAppendix' => 'alternativAppendix',
'alternativ' => 'alternativ', 'alternativ' => 'alternativ',
'alternativType' => 'alternativType' 'alternativType' => 'alternativType',
'birthday' => 'birthday'
); );
foreach ($rows as $row) { foreach ($rows as $row) {
/** @var Contact $contact */ /** @var Contact $contact */
$contact = $row->getContact(); $contact = $row->getContact();
$temp[] = array( $temp[] = array(
'id' => (string)$contact->getId(), 'id' => (string)$contact->getId(),
'uid' => (string)$contact->getId(), 'uid' => (string)$contact->getId(),
'account_id' => (string)$contact->getAccount()->getId(), 'account_id' => ($contact->getAccount() ? (string)$contact->getAccount()->getId() : 0),
'account_title' => ($contact->getAccount() ? (string)$contact->getAccount()->getTitle() : 0),
'enable' => (int)$contact->isEnable(),
'locked' => (int)$contact->isLocked(),
'virtual' => (int)$contact->isVirtual(),
'username' => $contact->getUsername(), 'username' => $contact->getUsername(),
'firstname' => $contact->getFirstname(), 'firstname' => $contact->getFirstname(),
'lastname' => $contact->getLastname(), 'lastname' => $contact->getLastname(),
@ -140,22 +142,28 @@ class ContactExporter implements ExporterInterface
'alternativAreaCode' => $contact->getAlternativAreaCode(), 'alternativAreaCode' => $contact->getAlternativAreaCode(),
'alternativAppendix' => $contact->getAlternativAppendix(), 'alternativAppendix' => $contact->getAlternativAppendix(),
'alternativ' => $contact->getAlternativ(), 'alternativ' => $contact->getAlternativ(),
'alternativType' => $contact->getAlternativType() 'alternativType' => $contact->getAlternativType(),
'birthday' => $contact->getBirthday()
); );
} }
$reader = new ArrayReader($temp); $spreadsheet = new Spreadsheet();
$file = new \SplFileObject('/tmp/test.xls', 'w');
$writer = new ExcelWriter($file); $spreadsheet->getActiveSheet()
$writer->prepare(); ->fromArray(
foreach ($reader as $row) { $temp, // The data to set
$writer->writeItem($row); null, // Array values with this value will not be set
} 'A1' // Top left coordinate of the worksheet range where
$writer->finish(); // we want to set these values (default is A1)
$response = new BinaryFileResponse($file); );
$writer = new Xlsx($spreadsheet);
$writer->save('/tmp/test.xlsx');
$response = new BinaryFileResponse('/tmp/test.xlsx');
$response->setStatusCode(200); $response->setStatusCode(200);
$response->headers->set('Content-Type', 'application/vnd.ms-excel'); $response->headers->set('Content-Type', 'application/vnd.ms-excel');
$response->headers->set('Content-Disposition', 'attachment;filename="export.xls"'); $response->headers->set('Content-Disposition', 'attachment;filename="export.xlsx"');
$response->send(); $response->send();
return $response; return $response;
} }

View File

@ -108,6 +108,7 @@ class EditController extends AbstractController
$cmsDoc->setExtraSettings($cms->getExtraSettings()); $cmsDoc->setExtraSettings($cms->getExtraSettings());
$cmsDoc->setPluginSettings($cms->getPluginSettings()); $cmsDoc->setPluginSettings($cms->getPluginSettings());
$cmsDoc->setNoIndex($cms->isNoIndex()); $cmsDoc->setNoIndex($cms->isNoIndex());
$cmsDoc->setRawText($cms->isRawText());
$documentManager->persist($cmsDoc); $documentManager->persist($cmsDoc);
$documentManager->flush(); $documentManager->flush();
@ -165,15 +166,18 @@ class EditController extends AbstractController
$cms->setExtraSettings($cmsDoc->getExtraSettings()); $cms->setExtraSettings($cmsDoc->getExtraSettings());
$cms->setPluginSettings($cmsDoc->getPluginSettings()); $cms->setPluginSettings($cmsDoc->getPluginSettings());
$cms->setNoIndex($cmsDoc->isNoIndex()); $cms->setNoIndex($cmsDoc->isNoIndex());
$cms->setRawText($cmsDoc->isRawText());
} elseif (!$cmsDoc) { } elseif (!$cmsDoc) {
$cmsDoc = new \PSC\Shop\EntityBundle\Document\Cms(); $cmsDoc = new \PSC\Shop\EntityBundle\Document\Cms();
$cmsDoc->setUid($cms->getUid()); $cmsDoc->setUid($cms->getUid());
$cmsDoc->setExtraSettings($cms->getExtraSettings()); $cmsDoc->setExtraSettings($cms->getExtraSettings());
$cmsDoc->setNoIndex($cms->isNoIndex()); $cmsDoc->setNoIndex($cms->isNoIndex());
$cmsDoc->setRawText($cms->isRawText());
$documentManager->persist($cmsDoc); $documentManager->persist($cmsDoc);
$documentManager->flush(); $documentManager->flush();
} elseif ($request->isMethod('POST') && $cmsDoc && isset($request->get('cms')['rawText'])) {
$cms->setRawText($request->get('cms')['rawText']);
} }
$form = $this->createForm(CmsType::class, $cms); $form = $this->createForm(CmsType::class, $cms);
$form->handleRequest($request); $form->handleRequest($request);
@ -184,6 +188,7 @@ class EditController extends AbstractController
$cmsDoc->setPluginSettings($cms->getPluginSettings()); $cmsDoc->setPluginSettings($cms->getPluginSettings());
$cmsDoc->setExtraSettings($cms->getExtraSettings()); $cmsDoc->setExtraSettings($cms->getExtraSettings());
$cmsDoc->setNoIndex($cms->isNoIndex()); $cmsDoc->setNoIndex($cms->isNoIndex());
$cmsDoc->setRawText($cms->isRawText());
$this->historyService->createHistoryEntry(new PSCHistory((string)$cms->getUid()), $cms, $cmsDoc); $this->historyService->createHistoryEntry(new PSCHistory((string)$cms->getUid()), $cms, $cmsDoc);
$entityManager->persist($cms); $entityManager->persist($cms);
@ -197,6 +202,7 @@ class EditController extends AbstractController
return array( return array(
'cms' => $cms,
'form' => $form->createView(), 'form' => $form->createView(),
'customFields' => $customFields, 'customFields' => $customFields,
'customGroups' => $customGroups, 'customGroups' => $customGroups,

View File

@ -16,6 +16,7 @@ namespace PSC\Shop\CmsBundle\Form\Backend;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface;
use PSC\Libraries\AceEditorBundle\Form\Extension\AceEditorType;
use PSC\Shop\EntityBundle\Entity\Account; use PSC\Shop\EntityBundle\Entity\Account;
use PSC\Shop\EntityBundle\Entity\Cms; use PSC\Shop\EntityBundle\Entity\Cms;
use PSC\Shop\ThemeBundle\Core\ThemeHolder; use PSC\Shop\ThemeBundle\Core\ThemeHolder;
@ -99,6 +100,7 @@ class CmsType extends AbstractType
->add('enable', CheckboxType::class, ['label' => 'psc_shop_cms.Active', 'required' => false]) ->add('enable', CheckboxType::class, ['label' => 'psc_shop_cms.Active', 'required' => false])
->add('notInMenu', CheckboxType::class, ['label' => 'psc_shop_cms.NotInMenu', 'required' => false]) ->add('notInMenu', CheckboxType::class, ['label' => 'psc_shop_cms.NotInMenu', 'required' => false])
->add('noIndex', CheckboxType::class, ['label' => 'psc_shop_cms.NoIndex', 'required' => false]) ->add('noIndex', CheckboxType::class, ['label' => 'psc_shop_cms.NoIndex', 'required' => false])
->add('rawText', CheckboxType::class, ['label' => 'psc_shop_cms.rawText', 'required' => false])
->add('displayTitle', CheckboxType::class, ['label' => 'psc_shop_cms.DisplayTitle', 'required' => false]) ->add('displayTitle', CheckboxType::class, ['label' => 'psc_shop_cms.DisplayTitle', 'required' => false])
->add('sort', IntegerType::class, ['label' => 'psc_shop_cms.Sort', 'required' => false]) ->add('sort', IntegerType::class, ['label' => 'psc_shop_cms.Sort', 'required' => false])
->add('url', TextType::class, ['label' => 'psc_shop_cms.Url', 'required' => true]) ->add('url', TextType::class, ['label' => 'psc_shop_cms.Url', 'required' => true])
@ -108,26 +110,45 @@ class CmsType extends AbstractType
return $this->themeSource->getTheme($this->shop->getMongoSelectedShop()->getTheme())->getConfig()->getCms()->getPositionsAsArray(); return $this->themeSource->getTheme($this->shop->getMongoSelectedShop()->getTheme())->getConfig()->getCms()->getPositionsAsArray();
}) })
]) ]);
->add('text', TextareaType::class, array( if ($options['data']->isRawText()) {
$builder->add('text', AceEditorType::class, array(
'label' => 'psc_shop_cms.Text',
'wrapper_attr' => array(), // aceeditor wrapper html attributes.
'width' => '90%',
'height' => '500',
'font_size' => 14,
'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix
'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix
'tab_size' => null,
'read_only' => null,
'use_soft_tabs' => null,
'use_wrap_mode' => null,
'show_print_margin' => null,
'required' => false,
'highlight_active_line' => null
));
} else {
$builder->add('text', TextareaType::class, array(
'label' => 'psc_shop_cms.Text', 'label' => 'psc_shop_cms.Text',
'required' => false, 'required' => false,
)) ));
->add('metaAuthor', TextType::class, ['label' => 'psc_shop_cms.MetaAuthor', 'required' => false]) }
->add('metaKeywords', TextAreaType::class, ['label' => 'psc_shop_cms.MetaKeywords', 'required' => false]) $builder->add('metaAuthor', TextType::class, ['label' => 'psc_shop_cms.MetaAuthor', 'required' => false])
->add('metaDescription', TextareaType::class, ['label' => 'psc_shop_cms.MetaDescriptions', 'required' => false]) ->add('metaKeywords', TextAreaType::class, ['label' => 'psc_shop_cms.MetaKeywords', 'required' => false])
->add('metaCustomTitle', TextType::class, ['label' => 'psc_shop_cms.MetaCustomTitle', 'required' => false]) ->add('metaDescription', TextareaType::class, ['label' => 'psc_shop_cms.MetaDescriptions', 'required' => false])
->add('metaOgTitle', TextType::class, ['label' => 'psc_shop_cms.OGTitle', 'required' => false]) ->add('metaCustomTitle', TextType::class, ['label' => 'psc_shop_cms.MetaCustomTitle', 'required' => false])
->add('metaOgType', TextType::class, ['label' => 'psc_shop_cms.OGType', 'required' => false]) ->add('metaOgTitle', TextType::class, ['label' => 'psc_shop_cms.OGTitle', 'required' => false])
->add('metaOgUrl', TextType::class, ['label' => 'psc_shop_cms.OGType', 'required' => false]) ->add('metaOgType', TextType::class, ['label' => 'psc_shop_cms.OGType', 'required' => false])
->add('metaOgImage', TextType::class, ['label' => 'psc_shop_cms.OGImage', 'required' => false]) ->add('metaOgUrl', TextType::class, ['label' => 'psc_shop_cms.OGType', 'required' => false])
->add('extraSettings', TextareaType::class, array('required' => false, 'label' => 'psc_shop_cms.ExtendedSettings')) ->add('metaOgImage', TextType::class, ['label' => 'psc_shop_cms.OGImage', 'required' => false])
->add('language', ChoiceType::class, array( ->add('extraSettings', TextareaType::class, array('required' => false, 'label' => 'psc_shop_cms.ExtendedSettings'))
'label' => 'psc_shop_cms.Language', ->add('language', ChoiceType::class, array(
'choices' => $this->language->getLanguageArrayForContent(), 'label' => 'psc_shop_cms.Language',
'required' => true, 'choices' => $this->language->getLanguageArrayForContent(),
)) 'required' => true,
->add('metaOgDescription', TextAreaType::class, ['label' => 'psc_shop_cms.OGDescription', 'required' => false]); ))
->add('metaOgDescription', TextAreaType::class, ['label' => 'psc_shop_cms.OGDescription', 'required' => false]);
/** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */
foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Cms) as $field) { foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Cms) as $field) {
$builder->add($field->buildForm($this->formFactory->createNamedBuilder($field->getGroup(), FormType::class, null, ['mapped' => false]), $options)); $builder->add($field->buildForm($this->formFactory->createNamedBuilder($field->getGroup(), FormType::class, null, ['mapped' => false]), $options));

View File

@ -1,6 +1,7 @@
psc_shop_cms: psc_shop_cms:
List: Liste List: Liste
Filter: Filter Filter: Filter
rawText: Visuellen Editor ausschalten?
Search: Suche Search: Suche
Active: Aktiv Active: Aktiv
Title: Titel Title: Titel

View File

@ -137,6 +137,16 @@
</div> </div>
</div> </div>
<div class="tab-pane" id="text" role="tabpanel"> <div class="tab-pane" id="text" role="tabpanel">
<div class="row">
<div class="col-md-4">
<div class="row mb-3">
{{ form_label(form.rawText) }}
<div class="col-md-8">
{{ form_widget(form.rawText) }}
</div>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="row mb-3"> <div class="row mb-3">

View File

@ -132,12 +132,26 @@
</div> </div>
</div> </div>
<div class="tab-pane" id="text" role="tabpanel"> <div class="tab-pane" id="text" role="tabpanel">
<div class="row">
<div class="col-md-4">
<div class="row mb-3">
{{ form_label(form.rawText) }}
<div class="col-md-8">
{{ form_widget(form.rawText) }}
</div>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.text) }} {{ form_label(form.text) }}
<div class="col-md-11"> <div class="col-md-11">
{% if cms.rawText %}
{{ form_widget(form.text) }}
{% else %}
{{ form_widget(form.text, {attr: {'class': 'form-control summernote'}}) }} {{ form_widget(form.text, {attr: {'class': 'form-control summernote'}}) }}
{% endif %}
</div> </div>
</div> </div>
</div> </div>

View File

@ -17,6 +17,7 @@ use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ManagerRegistry;
use PSC\Shop\EntityBundle\Entity\Contact; use PSC\Shop\EntityBundle\Entity\Contact;
use PSC\Shop\EntityBundle\Entity\Shop as PSCShop; use PSC\Shop\EntityBundle\Entity\Shop as PSCShop;
use PSC\Shop\EntityBundle\Entity\ShopContact;
use PSC\System\SettingsBundle\Service\Shop; use PSC\System\SettingsBundle\Service\Shop;
use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface; use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException; use Symfony\Component\Security\Core\Exception\CustomUserMessageAuthenticationException;
@ -101,7 +102,7 @@ class ContactRepository extends ServiceEntityRepository implements UserLoaderInt
* *
* @return Contact * @return Contact
*/ */
public function getContactsByShop(Shop $shop) public function getContactsByShop(PSCShop $shop)
{ {
$query = $this->getEntityManager() $query = $this->getEntityManager()
->createQuery(' ->createQuery('

View File

@ -30,6 +30,9 @@ class Cms
#[Field(type: 'boolean')] #[Field(type: 'boolean')]
protected bool $noIndex = false; protected bool $noIndex = false;
#[Field(type: 'boolean')]
protected bool $rawText = false;
#[Field(type: 'hash')] #[Field(type: 'hash')]
protected $pluginSettings = []; protected $pluginSettings = [];
@ -118,4 +121,15 @@ class Cms
{ {
$this->noIndex = $noIndex; $this->noIndex = $noIndex;
} }
public function isRawText(): bool
{
return (bool)$this->rawText;
}
public function setRawText(bool $var): void
{
$this->rawText = $var;
}
} }

View File

@ -30,6 +30,7 @@ class Cms
protected $extraSettings; protected $extraSettings;
protected $noIndex = false; protected $noIndex = false;
protected $rawText = false;
protected $pluginSettings = []; protected $pluginSettings = [];
public function __toString(): string public function __toString(): string
@ -693,4 +694,14 @@ class Cms
{ {
$this->noIndex = $noIndex; $this->noIndex = $noIndex;
} }
public function isRawText(): bool
{
return (bool)$this->rawText;
}
public function setRawText(bool $rawText): void
{
$this->rawText = $rawText;
}
} }

View File

@ -49,276 +49,276 @@ class Paper
protected $glam; protected $glam;
protected $post; protected $post;
protected $volume; protected $volume;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'id', type: 'integer')] #[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id] #[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')] #[ORM\GeneratedValue(strategy: 'IDENTITY')]
private $id; private $id;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'install_id', type: 'integer', nullable: true)] #[ORM\Column(name: 'install_id', type: 'integer', nullable: true)]
private $install; private $install;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'art_nr', type: 'string', length: 25, nullable: true)] #[ORM\Column(name: 'art_nr', type: 'string', length: 25, nullable: true)]
private $artNr; private $artNr;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'auslauf', type: 'string', length: 1, nullable: true)] #[ORM\Column(name: 'auslauf', type: 'string', length: 1, nullable: true)]
private $auslauf; private $auslauf;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'description_1', type: 'string', length: 255, nullable: true)] #[ORM\Column(name: 'description_1', type: 'string', length: 255, nullable: true)]
private $description1; private $description1;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'description_2', type: 'string', length: 255, nullable: true)] #[ORM\Column(name: 'description_2', type: 'string', length: 255, nullable: true)]
private $description2; private $description2;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'grammatur', type: 'string', length: 6, nullable: true)] #[ORM\Column(name: 'grammatur', type: 'string', length: 6, nullable: true)]
private $grammatur; private $grammatur;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'staerke', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'staerke', type: 'string', length: 60, nullable: true)]
private $staerke; private $staerke;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'breite', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'breite', type: 'string', length: 60, nullable: true)]
private $breite; private $breite;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'hoehe', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'hoehe', type: 'string', length: 60, nullable: true)]
private $hoehe; private $hoehe;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'laenge', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'laenge', type: 'string', length: 60, nullable: true)]
private $laenge; private $laenge;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'rollenlaenge', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'rollenlaenge', type: 'string', length: 60, nullable: true)]
private $rollenLaenge; private $rollenLaenge;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'gewicht', type: 'integer', nullable: true)] #[ORM\Column(name: 'gewicht', type: 'integer', nullable: true)]
private $gewicht; private $gewicht;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'papierausruestung', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'papierausruestung', type: 'string', length: 60, nullable: true)]
private $papierAusruestung; private $papierAusruestung;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'farbnummer', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'farbnummer', type: 'string', length: 60, nullable: true)]
private $farbNummer; private $farbNummer;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'farbbezeichnung', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'farbbezeichnung', type: 'string', length: 60, nullable: true)]
private $farbBezeichnung; private $farbBezeichnung;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'huelsendurchmesser', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'huelsendurchmesser', type: 'string', length: 60, nullable: true)]
private $huelsenDurchmesser; private $huelsenDurchmesser;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'kleber', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'kleber', type: 'string', length: 60, nullable: true)]
private $kleber; private $kleber;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'abdeckpapier', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'abdeckpapier', type: 'string', length: 60, nullable: true)]
private $abdeckPapier; private $abdeckPapier;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'laufrichtung', type: 'string', length: 2, nullable: true)] #[ORM\Column(name: 'laufrichtung', type: 'string', length: 2, nullable: true)]
private $laufRichtung; private $laufRichtung;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'mengenangabe', type: 'integer', nullable: true)] #[ORM\Column(name: 'mengenangabe', type: 'integer', nullable: true)]
private $mengenAngabe; private $mengenAngabe;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'mengenangabe_palette', type: 'integer', nullable: true)] #[ORM\Column(name: 'mengenangabe_palette', type: 'integer', nullable: true)]
private $mengenangabePalette; private $mengenangabePalette;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'inhalt', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'inhalt', type: 'string', length: 60, nullable: true)]
private $inhalt; private $inhalt;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'etiketten_je_blatt', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'etiketten_je_blatt', type: 'string', length: 60, nullable: true)]
private $etikettenJeBlatt; private $etikettenJeBlatt;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'mengeneinheit', type: 'string', length: 30, nullable: true)] #[ORM\Column(name: 'mengeneinheit', type: 'string', length: 30, nullable: true)]
private $mengenEinheit; private $mengenEinheit;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'staffelmenge_1', type: 'integer', nullable: true)] #[ORM\Column(name: 'staffelmenge_1', type: 'integer', nullable: true)]
private $staffelmenge1; private $staffelmenge1;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'staffelpreis_1', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'staffelpreis_1', type: 'float', precision: 10, scale: 0, nullable: true)]
private $staffelpreis1; private $staffelpreis1;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'staffelmenge_2', type: 'integer', nullable: true)] #[ORM\Column(name: 'staffelmenge_2', type: 'integer', nullable: true)]
private $staffelmenge2; private $staffelmenge2;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'staffelpreis_2', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'staffelpreis_2', type: 'float', precision: 10, scale: 0, nullable: true)]
private $staffelpreis2; private $staffelpreis2;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'staffelmenge_3', type: 'integer', nullable: true)] #[ORM\Column(name: 'staffelmenge_3', type: 'integer', nullable: true)]
private $staffelmenge3; private $staffelmenge3;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'staffelpreis_3', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'staffelpreis_3', type: 'float', precision: 10, scale: 0, nullable: true)]
private $staffelpreis3; private $staffelpreis3;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'staffelmenge_4', type: 'integer', nullable: true)] #[ORM\Column(name: 'staffelmenge_4', type: 'integer', nullable: true)]
private $staffelmenge4; private $staffelmenge4;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'staffelpreis_4', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'staffelpreis_4', type: 'float', precision: 10, scale: 0, nullable: true)]
private $staffelpreis4; private $staffelpreis4;
/** /**
* @var integer * @var integer
*/ */
#[ORM\Column(name: 'staffelmenge_5', type: 'integer', nullable: true)] #[ORM\Column(name: 'staffelmenge_5', type: 'integer', nullable: true)]
private $staffelmenge5; private $staffelmenge5;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'staffelpreis_5', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'staffelpreis_5', type: 'float', precision: 10, scale: 0, nullable: true)]
private $staffelpreis5; private $staffelpreis5;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'lagerort', type: 'string', length: 7, nullable: true)] #[ORM\Column(name: 'lagerort', type: 'string', length: 7, nullable: true)]
private $lagerOrt; private $lagerOrt;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'verkaufshinweise', type: 'text', nullable: true)] #[ORM\Column(name: 'verkaufshinweise', type: 'text', nullable: true)]
private $verkaufshinweise; private $verkaufshinweise;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'abnahmeinfo', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'abnahmeinfo', type: 'string', length: 60, nullable: true)]
private $abnahmeInfo; private $abnahmeInfo;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_beschreibung', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_beschreibung', type: 'text', nullable: true)]
private $produktBeschreibung; private $produktBeschreibung;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_eigenschaften', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_eigenschaften', type: 'text', nullable: true)]
private $produktEigenschaften; private $produktEigenschaften;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_vorteile', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_vorteile', type: 'text', nullable: true)]
private $produktVorteile; private $produktVorteile;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_nutzen', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_nutzen', type: 'text', nullable: true)]
private $produktNutzen; private $produktNutzen;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_anwendungen', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_anwendungen', type: 'text', nullable: true)]
private $produktAnwendungen; private $produktAnwendungen;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'produkt_besonderheit', type: 'text', nullable: true)] #[ORM\Column(name: 'produkt_besonderheit', type: 'text', nullable: true)]
private $produktBesonderheit; private $produktBesonderheit;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'musterbuch', type: 'string', length: 40, nullable: true)] #[ORM\Column(name: 'musterbuch', type: 'string', length: 40, nullable: true)]
private $musterbuch; private $musterbuch;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'zur_aufnahme_von', type: 'string', length: 60, nullable: true)] #[ORM\Column(name: 'zur_aufnahme_von', type: 'string', length: 60, nullable: true)]
private $zurAufnahmeVon; private $zurAufnahmeVon;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'eigenschaften', type: 'text', nullable: true)] #[ORM\Column(name: 'eigenschaften', type: 'text', nullable: true)]
private $eigenschaften; private $eigenschaften;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'preis', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'preis', type: 'float', precision: 10, scale: 0, nullable: true)]
private $preis; private $preis;
/** /**
* @var string * @var string
*/ */
#[ORM\Column(name: 'uuid', type: 'string', length: 40, nullable: true)] #[ORM\Column(name: 'uuid', type: 'string', length: 40, nullable: true)]
private $uuid; private $uuid;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'offset_fix', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'offset_fix', type: 'float', precision: 10, scale: 0, nullable: true)]
private $offsetFix; private $offsetFix;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'offset_var', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'offset_var', type: 'float', precision: 10, scale: 0, nullable: true)]
private $offsetVar; private $offsetVar;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'digital_fix', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'digital_fix', type: 'float', precision: 10, scale: 0, nullable: true)]
private $digitalFix; private $digitalFix;
/** /**
* @var float * @var float
*/ */
#[ORM\Column(name: 'digital_var', type: 'float', precision: 10, scale: 0, nullable: true)] #[ORM\Column(name: 'digital_var', type: 'float', precision: 10, scale: 0, nullable: true)]
private $digitalVar; private $digitalVar;
/** /**
* Paper constructor. * Paper constructor.
*/ */
public function __construct() public function __construct()
{ {
$this->install = ''; $this->install = '';
@ -345,16 +345,16 @@ class Paper
$this->inhalt = ''; $this->inhalt = '';
$this->etikettenJeBlatt = ''; $this->etikettenJeBlatt = '';
$this->mengenEinheit = ''; $this->mengenEinheit = '';
$this->staffelmenge1 = ''; $this->staffelmenge1 = 0;
$this->staffelpreis1 = ''; $this->staffelpreis1 = 0;
$this->staffelmenge2 = ''; $this->staffelmenge2 = 0;
$this->staffelpreis2 = ''; $this->staffelpreis2 = 0;
$this->staffelmenge3 = ''; $this->staffelmenge3 = 0;
$this->staffelpreis3 = ''; $this->staffelpreis3 = 0;
$this->staffelmenge4 = ''; $this->staffelmenge4 = 0;
$this->staffelpreis4 = ''; $this->staffelpreis4 = 0;
$this->staffelmenge5 = ''; $this->staffelmenge5 = 0;
$this->staffelpreis5 = ''; $this->staffelpreis5 = 0;
$this->lagerOrt = ''; $this->lagerOrt = '';
$this->verkaufshinweise = ''; $this->verkaufshinweise = '';
$this->abnahmeInfo = ''; $this->abnahmeInfo = '';

View File

@ -209,6 +209,10 @@ class Product
#[ORM\Column(name: 'title', type: 'string', length: 255)] #[ORM\Column(name: 'title', type: 'string', length: 255)]
protected $title; protected $title;
#[ORM\Column(name: 'sub_title', type: 'string', length: 255)]
protected $subTitle;
/** /**
* Art des Product * Art des Product
* *
@ -907,6 +911,7 @@ class Product
'uid' => (string)$this->getUID(), 'uid' => (string)$this->getUID(),
'uuid' => (string)$this->getUUID(), 'uuid' => (string)$this->getUUID(),
'title' => (string)$this->getTitle(), 'title' => (string)$this->getTitle(),
'subTitle' => (string)$this->getSubTitle(),
'textArt' => (string)$this->getTextArt(), 'textArt' => (string)$this->getTextArt(),
'textFormat' => (string)$this->getTextFormat(), 'textFormat' => (string)$this->getTextFormat(),
'nrExtern' => (string)$this->getNrExtern(), 'nrExtern' => (string)$this->getNrExtern(),
@ -974,28 +979,26 @@ class Product
return $this->getTitle(); return $this->getTitle();
} }
/** public function getTitle(): ?string
* Get Title
*
* @return string
*/
public function getTitle()
{ {
return $this->title; return $this->title;
} }
/** public function setTitle(?string $title): void
* Set Title
*
* @param string $title
*
* @return void
*/
public function setTitle($title)
{ {
$this->title = $title; $this->title = $title;
} }
public function getSubTitle(): ?string
{
return $this->subTitle;
}
public function setSubTitle(?string $subTitle): void
{
$this->subTitle = $subTitle;
}
/** /**
* Gibt den Shop zurück * Gibt den Shop zurück
* *

View File

@ -57,7 +57,6 @@ class GetOneByUuid extends AbstractController
if ($row) { if ($row) {
$order = $this->orderService->getOrderByUid($row->getUid()); $order = $this->orderService->getOrderByUid($row->getUid());
return $this->json($order); return $this->json($order);
} }

View File

@ -100,14 +100,17 @@ class PaymentType extends AbstractType
)) ))
->add('taxClass', ChoiceType::class, array( ->add('taxClass', ChoiceType::class, array(
'choices' => $this->taxService->getTaxesForForm(), 'choices' => $this->taxService->getTaxesForForm(),
'required' => false,
'label' => 'taxclass')) 'label' => 'taxclass'))
->add('shippings', ChoiceType::class, array( ->add('shippings', ChoiceType::class, array(
'choices' => $tmpShipping, 'choices' => $tmpShipping,
'multiple' => true, 'multiple' => true,
'required' => false,
'label' => 'shippingmethods', 'label' => 'shippingmethods',
)) ))
->add('countrys', ChoiceType::class, array( ->add('countrys', ChoiceType::class, array(
'choices' => $countryTemp, 'choices' => $countryTemp,
'required' => false,
'multiple' => true, 'multiple' => true,
'label' => 'countrys', 'label' => 'countrys',
)); ));

View File

@ -86,6 +86,7 @@ class ProductType extends AbstractType
->add('notEdit', CheckboxType::class, array('required' => false, 'label' => 'Sellasproduct')) ->add('notEdit', CheckboxType::class, array('required' => false, 'label' => 'Sellasproduct'))
->add('url', TextType::class, array('required' => true, 'label' => 'Url')) ->add('url', TextType::class, array('required' => true, 'label' => 'Url'))
->add('title', TextType::class) ->add('title', TextType::class)
->add('subTitle', TextType::class, ['required' => false, 'label' => 'subTitle'])
->add('createdAt', DatePickerType::class, array('disabled' => true)) ->add('createdAt', DatePickerType::class, array('disabled' => true))
->add('image1', MediaType::class, array()) ->add('image1', MediaType::class, array())
->add('image2', MediaType::class, array()) ->add('image2', MediaType::class, array())

View File

@ -45,6 +45,7 @@ Itemnumberintern: Artikelnummer Intern
Itemnumberextern: Artikelnummer extern Itemnumberextern: Artikelnummer extern
Availability: Verfügbarkeit Availability: Verfügbarkeit
Title: Titel Title: Titel
subTitle: Untertitel
Url: Url Url: Url
opening: Freigabeprozess opening: Freigabeprozess
show: Anzeigen show: Anzeigen
@ -113,4 +114,4 @@ firstname: Vorname
lastname: Nachname lastname: Nachname
yes: Ja yes: Ja
no: Nein no: Nein
virtual: Gast virtual: Gast

View File

@ -113,7 +113,7 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.title) }} {{ form_label(form.title) }}
<div class="col-md-8"> <div class="col-md-8">
@ -124,7 +124,18 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3">
{{ form_label(form.subTitle) }}
<div class="col-md-8">
{{ form_widget(form.subTitle) }}
<b class="tooltip tooltip-top-left">
<i class="fa fa-warning txt-color-teal"></i>
Untertitel des Produktes</b>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.url) }} {{ form_label(form.url) }}
<div class="col-md-8"> <div class="col-md-8">
@ -135,7 +146,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.buyed) }} {{ form_label(form.buyed) }}
<div class="col-md-8"> <div class="col-md-8">

View File

@ -128,7 +128,7 @@ a[href^="#formlayouter"] {display:none;}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.title) }} {{ form_label(form.title) }}
<div class="col-md-8"> <div class="col-md-8">
@ -139,7 +139,18 @@ a[href^="#formlayouter"] {display:none;}
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3">
{{ form_label(form.subTitle) }}
<div class="col-md-8">
{{ form_widget(form.subTitle) }}
<b class="tooltip tooltip-top-left">
<i class="fa fa-warning txt-color-teal"></i>
Untertitel des Produktes</b>
</div>
</div>
</div>
<div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.url) }} {{ form_label(form.url) }}
<div class="col-md-8"> <div class="col-md-8">
@ -150,7 +161,7 @@ a[href^="#formlayouter"] {display:none;}
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
{{ form_label(form.buyed) }} {{ form_label(form.buyed) }}
<div class="col-md-8"> <div class="col-md-8">

View File

@ -135,6 +135,8 @@ class Url implements QueueInterface, ConfigurableElementInterface
$templateVars->loadOrder($event->getOrder()); $templateVars->loadOrder($event->getOrder());
$urlString = $urlTemplate->render($templateVars->getTwigVars()); $urlString = $urlTemplate->render($templateVars->getTwigVars());
$messageString = $messageTemplate->render($templateVars->getTwigVars()); $messageString = $messageTemplate->render($templateVars->getTwigVars());
file_put_contents('/tmp/test.json', $messageString);
$res = $client->request( $res = $client->request(
'POST', 'POST',
$urlString, $urlString,
@ -142,7 +144,7 @@ class Url implements QueueInterface, ConfigurableElementInterface
'headers' => [ 'headers' => [
'Accept' => 'application/json', 'Accept' => 'application/json',
], ],
'body' => $messageString 'json' => json_decode($messageString)
] ]
); );
} }

View File

@ -32,7 +32,6 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
class ShippingType extends AbstractType class ShippingType extends AbstractType
{ {
public function __construct(private readonly Field $fields, private readonly Shop $shopService, private readonly CountryRepository $countryRepository, private readonly FormFactoryInterface $formFactory, private readonly Tax $taxService) public function __construct(private readonly Field $fields, private readonly Shop $shopService, private readonly CountryRepository $countryRepository, private readonly FormFactoryInterface $formFactory, private readonly Tax $taxService)
{ {
} }
@ -89,6 +88,7 @@ class ShippingType extends AbstractType
'highlight_active_line' => null 'highlight_active_line' => null
))->add('countrys', ChoiceType::class, array( ))->add('countrys', ChoiceType::class, array(
'choices' => $countryTemp, 'choices' => $countryTemp,
'required' => false,
'multiple' => true, 'multiple' => true,
'label' => 'countrys', 'label' => 'countrys',
)); ));

View File

@ -0,0 +1,261 @@
<?php
/**
* Class QRImagick
*
* @created 04.07.2018
* @author smiley <smiley@chillerlan.net>
* @copyright 2018 smiley
* @license MIT
*
* @noinspection PhpComposerExtensionStubsInspection
*/
namespace PSC\System\SettingsBundle\Barcode;
use chillerlan\QRCode\Data\QRMatrix;
use chillerlan\QRCode\Output\QRCodeOutputException;
use chillerlan\QRCode\Output\QROutputAbstract;
use chillerlan\Settings\SettingsContainerInterface;
use finfo;
use Imagick;
use ImagickDraw;
use ImagickPixel;
use function extension_loaded;
use function in_array;
use function is_string;
use function max;
use function min;
use function preg_match;
use function strlen;
use const FILEINFO_MIME_TYPE;
/**
* ImageMagick output module (requires ext-imagick)
*
* @see https://php.net/manual/book.imagick.php
* @see https://phpimagick.com
*/
class QRImagickCMYK extends QROutputAbstract
{
/**
* The main image instance
*/
protected Imagick $imagick;
/**
* The main draw instance
*/
protected ImagickDraw $imagickDraw;
/**
* The allocated background color
*/
protected ImagickPixel $backgroundColor;
/**
* @inheritDoc
*
* @throws \chillerlan\QRCode\Output\QRCodeOutputException
*/
public function __construct(SettingsContainerInterface $options, QRMatrix $matrix)
{
foreach (['fileinfo', 'imagick'] as $ext) {
if (!extension_loaded($ext)) {
throw new QRCodeOutputException(sprintf('ext-%s not loaded', $ext)); // @codeCoverageIgnore
}
}
parent::__construct($options, $matrix);
}
/**
* note: we're not necessarily validating the several values, just checking the general syntax
*
* @see https://www.php.net/manual/imagickpixel.construct.php
* @inheritDoc
*/
public static function moduleValueIsValid($value): bool
{
if (!is_string($value)) {
return false;
}
$value = trim($value);
// hex notation
// #rgb(a)
// #rrggbb(aa)
// #rrrrggggbbbb(aaaa)
// ...
if (preg_match('/^#[a-f\d]+$/i', $value) && in_array((strlen($value) - 1), [3, 4, 6, 8, 9, 12, 16, 24, 32], true)) {
return true;
}
// css (-like) func(...values)
if (preg_match('#^(cmyk?|graya?|hs(b|la?)|rgba?)\([\d .,%]+\)$#i', $value)) {
return true;
}
// predefined css color
if (preg_match('/^[a-z]+$/i', $value)) {
return true;
}
return false;
}
/**
* @inheritDoc
*/
protected function prepareModuleValue($value): ImagickPixel
{
$color = new ImagickPixel();
$color->setColor($value);
return $color;
}
/**
* @inheritDoc
*/
protected function getDefaultModuleValue(bool $isDark): ImagickPixel
{
return $this->prepareModuleValue(($isDark) ? '#000' : '#fff');
}
/**
* @inheritDoc
*
* @return string|\Imagick
*/
public function dump(string $file = null)
{
$this->setBgColor();
$this->imagick = $this->createImage();
$this->drawImage();
// set transparency color after all operations
$this->setTransparencyColor();
if ($this->options->returnResource) {
return $this->imagick;
}
$this->imagick->transformImageColorspace(Imagick::COLORSPACE_CMYK);
$imageData = $this->imagick->getImageBlob();
$this->imagick->destroy();
$this->saveToFile($imageData, $file);
if ($this->options->outputBase64) {
$imageData = $this->toBase64DataURI($imageData, (new finfo(FILEINFO_MIME_TYPE))->buffer($imageData));
}
return $imageData;
}
/**
* Sets the background color
*/
protected function setBgColor(): void
{
if ($this::moduleValueIsValid($this->options->bgColor)) {
$this->backgroundColor = $this->prepareModuleValue($this->options->bgColor);
return;
}
$this->backgroundColor = $this->prepareModuleValue('white');
}
/**
* Creates a new Imagick instance
*/
protected function createImage(): Imagick
{
$imagick = new Imagick();
[$width, $height] = $this->getOutputDimensions();
$imagick->newImage($width, $height, $this->backgroundColor, $this->options->imagickFormat);
$imagick->setColorSpace(Imagick::COLORSPACE_CMYK);
if ($this->options->quality > -1) {
$imagick->setImageCompressionQuality(max(0, min(100, $this->options->quality)));
}
return $imagick;
}
/**
* Sets the transparency color
*/
protected function setTransparencyColor(): void
{
if (!$this->options->imageTransparent) {
return;
}
$transparencyColor = $this->backgroundColor;
if ($this::moduleValueIsValid($this->options->transparencyColor)) {
$transparencyColor = $this->prepareModuleValue($this->options->transparencyColor);
}
$this->imagick->transparentPaintImage($transparencyColor, 0.0, 10, false);
}
/**
* Creates the QR image via ImagickDraw
*/
protected function drawImage(): void
{
$this->imagickDraw = new ImagickDraw();
$this->imagickDraw->setStrokeWidth(0);
foreach ($this->matrix->getMatrix() as $y => $row) {
foreach ($row as $x => $M_TYPE) {
$this->module($x, $y, $M_TYPE);
}
}
$this->imagick->drawImage($this->imagickDraw);
}
/**
* draws a single pixel at the given position
*/
protected function module(int $x, int $y, int $M_TYPE): void
{
if (!$this->drawLightModules && !$this->matrix->isDark($M_TYPE)) {
return;
}
$this->imagickDraw->setFillColor($this->getModuleValue($M_TYPE));
if ($this->drawCircularModules && !$this->matrix->checkTypeIn($x, $y, $this->keepAsSquare)) {
$this->imagickDraw->circle(
(($x + 0.5) * $this->scale),
(($y + 0.5) * $this->scale),
(($x + 0.5 + $this->circleRadius) * $this->scale),
(($y + 0.5) * $this->scale)
);
return;
}
$this->imagickDraw->rectangle(
($x * $this->scale),
($y * $this->scale),
((($x + 1) * $this->scale) - 1),
((($y + 1) * $this->scale) - 1)
);
}
}

View File

@ -17,6 +17,7 @@ use Doctrine\ORM\EntityRepository;
use PSC\Shop\EntityBundle\Entity\Shop; use PSC\Shop\EntityBundle\Entity\Shop;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
@ -63,6 +64,28 @@ class PaperType extends AbstractType
->add('post', CheckboxType::class, array('label' => 'Post', 'required' => false)) ->add('post', CheckboxType::class, array('label' => 'Post', 'required' => false))
->add('volume', TextType::class, array('label' => 'Volumen', 'required' => false)) ->add('volume', TextType::class, array('label' => 'Volumen', 'required' => false))
->add('staerke', TextType::class, array('label' => 'Stärke', 'required' => false))
->add('breite', TextType::class, array('label' => 'Breite', 'required' => false))
->add('laenge', TextType::class, array('label' => 'Länge', 'required' => false))
->add('farbnummer', TextType::class, array('label' => 'Farbnummer', 'required' => false))
->add('farbbezeichnung', TextType::class, array('label' => 'Farbbezeichnung', 'required' => false))
->add('kleber', TextType::class, array('label' => 'Kleber', 'required' => false))
->add('laufrichtung', TextType::class, array('label' => 'Laufrichtung', 'required' => false))
->add('etiketten_je_blatt', TextType::class, array('label' => 'Etiketten je Blatt', 'required' => false))
->add('mengeneinheit', TextType::class, array('label' => 'Mengeneinheit', 'required' => false))
->add('staffelmenge_1', NumberType::class, array('label' => 'Staffelmenge 1', 'required' => false))
->add('staffelpreis_1', NumberType::class, array('label' => 'Staffelpreis 1', 'required' => false))
->add('staffelmenge_2', NumberType::class, array('label' => 'Staffelmenge 2', 'required' => false))
->add('staffelpreis_2', NumberType::class, array('label' => 'Staffelpreis 2', 'required' => false))
->add('staffelmenge_3', NumberType::class, array('label' => 'Staffelmenge 3', 'required' => false))
->add('staffelpreis_3', NumberType::class, array('label' => 'Staffelpreis 3', 'required' => false))
->add('staffelmenge_4', NumberType::class, array('label' => 'Staffelmenge 4', 'required' => false))
->add('staffelpreis_4', NumberType::class, array('label' => 'Staffelpreis 4', 'required' => false))
->add('staffelmenge_5', NumberType::class, array('label' => 'Staffelmenge 5', 'required' => false))
->add('staffelpreis_5', NumberType::class, array('label' => 'Staffelpreis 5', 'required' => false))
->add('eigenschaften', TextType::class, array('label' => 'Eigenschaften', 'required' => false))
->add('verkaufshinweise', TextType::class, array('label' => 'Verkaufshinweise', 'required' => false))
->add('save', SubmitType::class, array('label' => 'Speichern')); ->add('save', SubmitType::class, array('label' => 'Speichern'));
} }

View File

@ -32,6 +32,12 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a> <a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a>
</li> </li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#settings" role="tab">Eigenschaften</a>
</li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#staffel" role="tab">Staffel</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#papertyp" role="tab">Papiertyp</a> <a class="nav-link" data-bs-toggle="tab" href="#papertyp" role="tab">Papiertyp</a>
</li> </li>
@ -86,6 +92,17 @@
</div> </div>
{{ form_errors(form.preis) }} {{ form_errors(form.preis) }}
</div> </div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.mengeneinheit) }}
</label>
<div class="col-md-9">
{{ form_widget(form.mengeneinheit) }}
</div>
{{ form_errors(form.mengeneinheit) }}
</div>
</div>
<div class="row mb-3"> <div class="row mb-3">
<label class="col-md-3 form-control-label"> <label class="col-md-3 form-control-label">
{{ form_label(form.volume) }} {{ form_label(form.volume) }}
@ -95,6 +112,234 @@
</div> </div>
{{ form_errors(form.volume) }} {{ form_errors(form.volume) }}
</div> </div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.verkaufshinweise) }}
</label>
<div class="col-md-9">
{{ form_widget(form.verkaufshinweise) }}
</div>
{{ form_errors(form.verkaufshinweise) }}
</div>
</div>
<div class="tab-pane" id="settings" role="tabpanel">
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.breite) }}
</label>
<div class="col-md-9">
{{ form_widget(form.breite) }}
</div>
{{ form_errors(form.breite) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.laenge) }}
</label>
<div class="col-md-9">
{{ form_widget(form.laenge) }}
</div>
{{ form_errors(form.laenge) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staerke) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staerke) }}
</div>
{{ form_errors(form.staerke) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.eigenschaften) }}
</label>
<div class="col-md-9">
{{ form_widget(form.eigenschaften) }}
</div>
{{ form_errors(form.eigenschaften) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.farbnummer) }}
</label>
<div class="col-md-9">
{{ form_widget(form.farbnummer) }}
</div>
{{ form_errors(form.farbnummer) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.farbbezeichnung) }}
</label>
<div class="col-md-9">
{{ form_widget(form.farbbezeichnung) }}
</div>
{{ form_errors(form.farbbezeichnung) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.kleber) }}
</label>
<div class="col-md-9">
{{ form_widget(form.kleber) }}
</div>
{{ form_errors(form.kleber) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.laufrichtung) }}
</label>
<div class="col-md-9">
{{ form_widget(form.laufrichtung) }}
</div>
{{ form_errors(form.laufrichtung) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.etiketten_je_blatt) }}
</label>
<div class="col-md-9">
{{ form_widget(form.etiketten_je_blatt) }}
</div>
{{ form_errors(form.etiketten_je_blatt) }}
</div>
</div>
</div>
<div class="tab-pane" id="staffel" role="tabpanel">
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_1) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_1) }}
</div>
{{ form_errors(form.staffelmenge_1) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_1) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_1) }}
</div>
{{ form_errors(form.staffelpreis_1) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_2) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_2) }}
</div>
{{ form_errors(form.staffelmenge_2) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_2) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_2) }}
</div>
{{ form_errors(form.staffelpreis_2) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_3) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_3) }}
</div>
{{ form_errors(form.staffelmenge_3) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_3) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_3) }}
</div>
{{ form_errors(form.staffelpreis_3) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_4) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_4) }}
</div>
{{ form_errors(form.staffelmenge_4) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_4) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_4) }}
</div>
{{ form_errors(form.staffelpreis_4) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_5) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_5) }}
</div>
{{ form_errors(form.staffelmenge_5) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_5) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_5) }}
</div>
{{ form_errors(form.staffelpreis_5) }}
</div>
</div>
</div>
</div>
<div class="tab-pane" id="papertyp" role="tabpanel">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
@ -141,8 +386,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="tab-pane" id="papertyp" role="tabpanel">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<div class="row mb-3"> <div class="row mb-3">
@ -414,4 +657,4 @@
</div> </div>
{% endblock %} {% endblock %}

View File

@ -32,6 +32,12 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a> <a class="nav-link active" data-bs-toggle="tab" href="#all" role="tab">Allgemein</a>
</li> </li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#settings" role="tab">Eigenschaften</a>
</li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#staffel" role="tab">Staffel</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#papertyp" role="tab">Papiertyp</a> <a class="nav-link" data-bs-toggle="tab" href="#papertyp" role="tab">Papiertyp</a>
</li> </li>
@ -86,6 +92,17 @@
</div> </div>
{{ form_errors(form.preis) }} {{ form_errors(form.preis) }}
</div> </div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.mengeneinheit) }}
</label>
<div class="col-md-9">
{{ form_widget(form.mengeneinheit) }}
</div>
{{ form_errors(form.mengeneinheit) }}
</div>
</div>
<div class="row mb-3"> <div class="row mb-3">
<label class="col-md-3 form-control-label"> <label class="col-md-3 form-control-label">
{{ form_label(form.volume) }} {{ form_label(form.volume) }}
@ -95,6 +112,232 @@
</div> </div>
{{ form_errors(form.volume) }} {{ form_errors(form.volume) }}
</div> </div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.verkaufshinweise) }}
</label>
<div class="col-md-9">
{{ form_widget(form.verkaufshinweise) }}
</div>
{{ form_errors(form.verkaufshinweise) }}
</div>
</div>
<div class="tab-pane" id="settings" role="tabpanel">
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.breite) }}
</label>
<div class="col-md-9">
{{ form_widget(form.breite) }}
</div>
{{ form_errors(form.breite) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.laenge) }}
</label>
<div class="col-md-9">
{{ form_widget(form.laenge) }}
</div>
{{ form_errors(form.laenge) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staerke) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staerke) }}
</div>
{{ form_errors(form.staerke) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.eigenschaften) }}
</label>
<div class="col-md-9">
{{ form_widget(form.eigenschaften) }}
</div>
{{ form_errors(form.eigenschaften) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.farbnummer) }}
</label>
<div class="col-md-9">
{{ form_widget(form.farbnummer) }}
</div>
{{ form_errors(form.farbnummer) }}
</div>
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.farbbezeichnung) }}
</label>
<div class="col-md-9">
{{ form_widget(form.farbbezeichnung) }}
</div>
{{ form_errors(form.farbbezeichnung) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.kleber) }}
</label>
<div class="col-md-9">
{{ form_widget(form.kleber) }}
</div>
{{ form_errors(form.kleber) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.laufrichtung) }}
</label>
<div class="col-md-9">
{{ form_widget(form.laufrichtung) }}
</div>
{{ form_errors(form.laufrichtung) }}
</div>
</div>
<div class="row">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.etiketten_je_blatt) }}
</label>
<div class="col-md-9">
{{ form_widget(form.etiketten_je_blatt) }}
</div>
{{ form_errors(form.etiketten_je_blatt) }}
</div>
</div>
</div>
<div class="tab-pane" id="staffel" role="tabpanel">
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_1) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_1) }}
</div>
{{ form_errors(form.staffelmenge_1) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_1) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_1) }}
</div>
{{ form_errors(form.staffelpreis_1) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_2) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_2) }}
</div>
{{ form_errors(form.staffelmenge_2) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_2) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_2) }}
</div>
{{ form_errors(form.staffelpreis_2) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_3) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_3) }}
</div>
{{ form_errors(form.staffelmenge_3) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_3) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_3) }}
</div>
{{ form_errors(form.staffelpreis_3) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_4) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_4) }}
</div>
{{ form_errors(form.staffelmenge_4) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_4) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_4) }}
</div>
{{ form_errors(form.staffelpreis_4) }}
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelmenge_5) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelmenge_5) }}
</div>
{{ form_errors(form.staffelmenge_5) }}
</div>
</div>
<div class="col-md-6">
<div class="row mb-3">
<label class="col-md-3 form-control-label">
{{ form_label(form.staffelpreis_5) }}
</label>
<div class="col-md-9">
{{ form_widget(form.staffelpreis_5) }}
</div>
{{ form_errors(form.staffelpreis_5) }}
</div>
</div>
</div>
</div> </div>
<div class="tab-pane" id="papertyp" role="tabpanel"> <div class="tab-pane" id="papertyp" role="tabpanel">
<div class="row"> <div class="row">
@ -414,4 +657,4 @@
</div> </div>
{% endblock %} {% endblock %}

View File

@ -44,46 +44,15 @@ $options = new \PSC\System\SettingsBundle\Barcode\QRGdWithLogoOptions();
//$options->version = -1; //$options->version = -1;
$options->eccLevel = \chillerlan\QRCode\Common\EccLevel::M; $options->eccLevel = \chillerlan\QRCode\Common\EccLevel::M;
$options->outputType = \chillerlan\QRCode\Output\QROutputInterface::CUSTOM; $options->outputType = \chillerlan\QRCode\Output\QROutputInterface::CUSTOM;
if(isset($_options["logo"]) && $_options["logo"] == true) { if(isset($_options["cmyk"]) && $_options["cmyk"] == true) {
$options->logo = $_options["logo"]; $options->outputInterface = \PSC\System\SettingsBundle\Barcode\QRImagickCMYK::class;
if(isset($_options["melt"]) && $_options["melt"] == true) { $options->imagickFormat = "jpeg";
$options->outputInterface = \PSC\System\SettingsBundle\Barcode\QRGdRounded::class; $options->moduleValues = [
}else{
$options->outputInterface = \chillerlan\QRCode\Output\QRGdImagePNG::class;
}
}else{
if(isset($_options["melt"]) && $_options["melt"] == true) {
$options->outputInterface = \PSC\System\SettingsBundle\Barcode\QRGdRounded::class;
}else{
$options->outputInterface = \chillerlan\QRCode\Output\QRGdImagePNG::class;
}
}
$options->outputBase64 = false;
//$options->scale = 30;
if(isset($_options["logo"]) && $_options["logo"] !== "") {
$options->addLogoSpace = true;
$options->logoSpaceWidth = 13;
$options->logoSpaceHeight = 13;
}
if(isset($_options["color"]) && !is_array($_options["color"])) {
unset($_options["color"]);
}
if(isset($_options["finderdot"]) && !is_array($_options["finderdot"])) {
unset($_options["finderdot"]);
}
if(isset($_options["finderdotdark"]) && !is_array($_options["finderdotdark"])) {
unset($_options["finderdotdark"]);
}
if(isset($_options["bgcolor"]) && !is_array($_options["bgcolor"])) {
unset($_options["bgcolor"]);
}
$options->moduleValues = [
// finder // finder
\chillerlan\QRCode\Data\QRMatrix::M_FINDER_DARK => $_options["finderdotdark"]?? [0, 0, 0], \chillerlan\QRCode\Data\QRMatrix::M_FINDER_DARK => $_options["finderdotdark"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_FINDER_DOT => $_options["finderdot"]?? [0, 0, 0], \chillerlan\QRCode\Data\QRMatrix::M_FINDER_DOT => $_options["finderdot"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_FINDER => $_options["bgcolor"]?? [255, 255, 255], \chillerlan\QRCode\Data\QRMatrix::M_FINDER => $_options["bgcolor"]?? [255, 255, 255],
// alignment // alignment
\chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT_DARK => $_options["color"]?? [0, 0, 0], \chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT => $_options["bgcolor"]?? [255, 255, 255], \chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT => $_options["bgcolor"]?? [255, 255, 255],
// timing // timing
@ -103,10 +72,76 @@ $options->moduleValues = [
// separator // separator
\chillerlan\QRCode\Data\QRMatrix::M_QUIETZONE => $_options["bgcolor"]?? [255, 255, 255], \chillerlan\QRCode\Data\QRMatrix::M_QUIETZONE => $_options["bgcolor"]?? [255, 255, 255],
\chillerlan\QRCode\Data\QRMatrix::M_SEPARATOR => $_options["bgcolor"]?? [255, 255, 255], \chillerlan\QRCode\Data\QRMatrix::M_SEPARATOR => $_options["bgcolor"]?? [255, 255, 255],
]; ];
$filename = md5(trim($context["barcode"])).".png"; $filename = md5(trim($context["barcode"])).".jpeg";
(new \chillerlan\QRCode\QRCode($options))->render(trim($context["barcode"]), "/tmp/" . $filename); (new \chillerlan\QRCode\QRCode($options))->render(trim($context["barcode"]), "/data/www/old/" . $filename);
echo "<img src=\"/tmp/$filename\" />"; echo "<img src=\"/data/www/old/$filename\" />";
}else{
if(isset($_options["logo"]) && $_options["logo"] == true) {
$options->logo = $_options["logo"];
if(isset($_options["melt"]) && $_options["melt"] == true) {
$options->outputInterface = \PSC\System\SettingsBundle\Barcode\QRGdRounded::class;
}else{
$options->outputInterface = \chillerlan\QRCode\Output\QRGdImagePNG::class;
}
}else{
if(isset($_options["melt"]) && $_options["melt"] == true) {
$options->outputInterface = \PSC\System\SettingsBundle\Barcode\QRGdRounded::class;
}else{
$options->outputInterface = \chillerlan\QRCode\Output\QRGdImagePNG::class;
}
}
$options->outputBase64 = false;
//$options->scale = 30;
if(isset($_options["logo"]) && $_options["logo"] !== "") {
$options->addLogoSpace = true;
$options->logoSpaceWidth = 13;
$options->logoSpaceHeight = 13;
}
if(isset($_options["color"]) && !is_array($_options["color"])) {
unset($_options["color"]);
}
if(isset($_options["finderdot"]) && !is_array($_options["finderdot"])) {
unset($_options["finderdot"]);
}
if(isset($_options["finderdotdark"]) && !is_array($_options["finderdotdark"])) {
unset($_options["finderdotdark"]);
}
if(isset($_options["bgcolor"]) && !is_array($_options["bgcolor"])) {
unset($_options["bgcolor"]);
}
$options->moduleValues = [
// finder
\chillerlan\QRCode\Data\QRMatrix::M_FINDER_DARK => $_options["finderdotdark"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_FINDER_DOT => $_options["finderdot"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_FINDER => $_options["bgcolor"]?? [255, 255, 255],
// alignment
\chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_ALIGNMENT => $_options["bgcolor"]?? [255, 255, 255],
// timing
\chillerlan\QRCode\Data\QRMatrix::M_TIMING_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_TIMING => $_options["bgcolor"]?? [255, 255, 255],
// format
\chillerlan\QRCode\Data\QRMatrix::M_FORMAT_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_FORMAT => $_options["bgcolor"]?? [255, 255, 255],
// version
\chillerlan\QRCode\Data\QRMatrix::M_VERSION_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_VERSION => $_options["bgcolor"]?? [255, 255, 255],
// data
\chillerlan\QRCode\Data\QRMatrix::M_DATA_DARK => $_options["color"]?? [0, 0, 0],
\chillerlan\QRCode\Data\QRMatrix::M_DATA => $_options["bgcolor"]?? [255, 255, 255],
// darkmodule
\chillerlan\QRCode\Data\QRMatrix::M_DARKMODULE => $_options["color"]?? [0, 0, 0],
// separator
\chillerlan\QRCode\Data\QRMatrix::M_QUIETZONE => $_options["bgcolor"]?? [255, 255, 255],
\chillerlan\QRCode\Data\QRMatrix::M_SEPARATOR => $_options["bgcolor"]?? [255, 255, 255],
];
$filename = md5(trim($context["barcode"])).".png";
(new \chillerlan\QRCode\QRCode($options))->render(trim($context["barcode"]), "/tmp/" . $filename);
echo "<img src=\"/tmp/$filename\" />";
}
' '
); );

Some files were not shown because too many files have changed in this diff Show More