2024-11-11

This commit is contained in:
gcch 2024-11-10 23:29:34 +01:00
commit b6ab6b3229
12 changed files with 359 additions and 44 deletions

View file

@ -30,6 +30,7 @@
"roots/wordpress": "^6.6.1",
"roots/wp-config": "^1.0.0",
"roots/wp-password-bcrypt": "^1.1.0",
"stripe/stripe-php": "^16.2",
"timber/timber": "^2.2",
"vlucas/phpdotenv": "^5.5",
"wpackagist-plugin/falcon": "^2.8",
@ -45,6 +46,7 @@
"phpstan/phpstan": "^1.12",
"roave/security-advisories": "dev-latest",
"squizlabs/php_codesniffer": "^3.7.1",
"szepeviktor/phpstan-wordpress": "^1.3",
"vimeo/psalm": "^5.25"
},
"config": {

248
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "c4990ac6bae8cc33f69b1948c57447e1",
"content-hash": "0bdfc42e76a3d040e2167ae811127d44",
"packages": [
{
"name": "composer/installers",
@ -1631,6 +1631,65 @@
],
"time": "2024-09-10T23:11:22+00:00"
},
{
"name": "stripe/stripe-php",
"version": "v16.2.0",
"source": {
"type": "git",
"url": "https://github.com/stripe/stripe-php.git",
"reference": "813ae4961755af28a13bda451689f7a6ed6498cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/813ae4961755af28a13bda451689f7a6ed6498cb",
"reference": "813ae4961755af28a13bda451689f7a6ed6498cb",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"ext-mbstring": "*",
"php": ">=5.6.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "3.5.0",
"phpstan/phpstan": "^1.2",
"phpunit/phpunit": "^5.7 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"psr-4": {
"Stripe\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Stripe and contributors",
"homepage": "https://github.com/stripe/stripe-php/contributors"
}
],
"description": "Stripe PHP Library",
"homepage": "https://stripe.com/",
"keywords": [
"api",
"payment processing",
"stripe"
],
"support": {
"issues": "https://github.com/stripe/stripe-php/issues",
"source": "https://github.com/stripe/stripe-php/tree/v16.2.0"
},
"time": "2024-10-29T21:15:53+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.5.0",
@ -3163,6 +3222,54 @@
},
"time": "2024-09-29T15:01:53+00:00"
},
{
"name": "php-stubs/wordpress-stubs",
"version": "v6.6.2",
"source": {
"type": "git",
"url": "https://github.com/php-stubs/wordpress-stubs.git",
"reference": "f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc",
"reference": "f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc",
"shasum": ""
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"nikic/php-parser": "^4.13",
"php": "^7.4 || ^8.0",
"php-stubs/generator": "^0.8.3",
"phpdocumentor/reflection-docblock": "^5.4.1",
"phpstan/phpstan": "^1.10.49",
"phpunit/phpunit": "^9.5",
"szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
"wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
},
"suggest": {
"paragonie/sodium_compat": "Pure PHP implementation of libsodium",
"symfony/polyfill-php80": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "WordPress function and class declaration stubs for static analysis.",
"homepage": "https://github.com/php-stubs/wordpress-stubs",
"keywords": [
"PHPStan",
"static analysis",
"wordpress"
],
"support": {
"issues": "https://github.com/php-stubs/wordpress-stubs/issues",
"source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.2"
},
"time": "2024-09-30T07:10:48+00:00"
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.2.0",
@ -4920,6 +5027,82 @@
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php73",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php73\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.5.0",
@ -5090,6 +5273,69 @@
],
"time": "2024-09-25T14:20:29+00:00"
},
{
"name": "szepeviktor/phpstan-wordpress",
"version": "v1.3.5",
"source": {
"type": "git",
"url": "https://github.com/szepeviktor/phpstan-wordpress.git",
"reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7",
"reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"php-stubs/wordpress-stubs": "^4.7 || ^5.0 || ^6.0",
"phpstan/phpstan": "^1.10.31",
"symfony/polyfill-php73": "^1.12.0"
},
"require-dev": {
"composer/composer": "^2.1.14",
"dealerdirect/phpcodesniffer-composer-installer": "^1.0",
"php-parallel-lint/php-parallel-lint": "^1.1",
"phpstan/phpstan-strict-rules": "^1.2",
"phpunit/phpunit": "^8.0 || ^9.0",
"szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0",
"wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
},
"suggest": {
"swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods"
},
"type": "phpstan-extension",
"extra": {
"phpstan": {
"includes": [
"extension.neon"
]
}
},
"autoload": {
"psr-4": {
"SzepeViktor\\PHPStan\\WordPress\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "WordPress extensions for PHPStan",
"keywords": [
"PHPStan",
"code analyse",
"code analysis",
"static analysis",
"wordpress"
],
"support": {
"issues": "https://github.com/szepeviktor/phpstan-wordpress/issues",
"source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5"
},
"time": "2024-06-28T22:27:19+00:00"
},
{
"name": "vimeo/psalm",
"version": "5.26.1",

View file

@ -22,3 +22,6 @@ Config::define("WOOCOMMERCE_API_CONSUMER_SECRET", env("WOOCOMMERCE_API_CONSUMER_
// Enable plugin and theme updates and installation from the admin
Config::define("DISALLOW_FILE_MODS", false);
// Désactive la mise à jour des traductions automatiques
Config::define("WP_AUTO_UPDATE_TRANSLATION", false);

View file

@ -52,7 +52,7 @@
"vite": "^5.4.10",
"vite-plugin-manifest-sri": "^0.2.0",
"vite-plugin-node-polyfills": "^0.22.0",
"vite-plugin-valibot-env": "^0.8.4",
"vite-plugin-valibot-env": "^0.8.5",
"vite-tsconfig-paths": "^5.1.2",
"wp-types": "^4.66.1"
},

78
pnpm-lock.yaml generated
View file

@ -104,10 +104,10 @@ importers:
version: 6.1.0(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-sass-guidelines:
specifier: ^12.1.0
version: 12.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
version: 12.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-standard-scss:
specifier: ^13.1.0
version: 13.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
version: 13.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-declaration-block-no-ignored-properties:
specifier: ^2.8.0
version: 2.8.0(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
@ -130,8 +130,8 @@ importers:
specifier: ^0.22.0
version: 0.22.0(rollup@4.25.0)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6))
vite-plugin-valibot-env:
specifier: ^0.8.4
version: 0.8.4(valibot@1.0.0-beta.3(typescript@5.7.0-dev.20241105))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6))
specifier: ^0.8.5
version: 0.8.5(valibot@1.0.0-beta.3(typescript@5.7.0-dev.20241105))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6))
vite-tsconfig-paths:
specifier: ^5.1.2
version: 5.1.2(typescript@5.7.0-dev.20241105)(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6))
@ -1001,8 +1001,8 @@ packages:
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
'@swc/types@0.1.14':
resolution: {integrity: sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==}
'@swc/types@0.1.15':
resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==}
'@szmarczak/http-timer@4.0.6':
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
@ -1251,8 +1251,8 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
caniuse-lite@1.0.30001679:
resolution: {integrity: sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==}
caniuse-lite@1.0.30001680:
resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==}
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@ -2218,8 +2218,8 @@ packages:
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
postcss@8.4.47:
resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
postcss@8.4.48:
resolution: {integrity: sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==}
engines: {node: ^10 || ^12 || >=14}
prelude-ls@1.2.1:
@ -2693,11 +2693,11 @@ packages:
peerDependencies:
vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
vite-plugin-valibot-env@0.8.4:
resolution: {integrity: sha512-pCW9TIYy1OPf17CRpsEFJ2z7qn6/qQaW5VX0kKbbEPsFeb6q9+4usmd97wy5GHMq6CcB7UxXdY3AmHuj92mztA==}
vite-plugin-valibot-env@0.8.5:
resolution: {integrity: sha512-hwBR44Np0quLnU5nc6T+gfxWlMrd6Ea5lLlYn4gCelPLXbQtbXkKIa0KTvURZ1whvgSNyA03hupno5YgRHFZHw==}
engines: {node: '>=18.0.0'}
peerDependencies:
valibot: '>=0.30 <0.43 || 1.0.0-beta.0 || 1.0.0-beta.1 || 1.0.0-beta.2 || 1.0.0-beta.3 || 1.0.0-beta.4'
valibot: '>=0.30 <0.43 || 1.0.0-beta.0 || 1.0.0-beta.1 || 1.0.0-beta.2 || 1.0.0-beta.3 || 1.0.0-beta.4 || 1.0.0-beta.5'
vite: '>=2 <6'
vite-tsconfig-paths@5.1.2:
@ -3420,7 +3420,7 @@ snapshots:
'@swc/core@1.9.1':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.14
'@swc/types': 0.1.15
optionalDependencies:
'@swc/core-darwin-arm64': 1.9.1
'@swc/core-darwin-x64': 1.9.1
@ -3435,7 +3435,7 @@ snapshots:
'@swc/counter@0.1.3': {}
'@swc/types@0.1.14':
'@swc/types@0.1.15':
dependencies:
'@swc/counter': 0.1.3
@ -3737,7 +3737,7 @@ snapshots:
browserslist@4.24.2:
dependencies:
caniuse-lite: 1.0.30001679
caniuse-lite: 1.0.30001680
electron-to-chromium: 1.5.55
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2)
@ -3773,7 +3773,7 @@ snapshots:
callsites@3.1.0: {}
caniuse-lite@1.0.30001679: {}
caniuse-lite@1.0.30001680: {}
chalk@4.1.2:
dependencies:
@ -4749,26 +4749,26 @@ snapshots:
postcss-resolve-nested-selector@0.1.6: {}
postcss-safe-parser@7.0.1(postcss@8.4.47):
postcss-safe-parser@7.0.1(postcss@8.4.48):
dependencies:
postcss: 8.4.47
postcss: 8.4.48
postcss-scss@4.0.9(postcss@8.4.47):
postcss-scss@4.0.9(postcss@8.4.48):
dependencies:
postcss: 8.4.47
postcss: 8.4.48
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss-sorting@8.0.2(postcss@8.4.47):
postcss-sorting@8.0.2(postcss@8.4.48):
dependencies:
postcss: 8.4.47
postcss: 8.4.48
postcss-value-parser@4.2.0: {}
postcss@8.4.47:
postcss@8.4.48:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.1
@ -5053,34 +5053,34 @@ snapshots:
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-order: 6.0.4(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-recommended-scss@14.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
stylelint-config-recommended-scss@14.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
postcss-scss: 4.0.9(postcss@8.4.47)
postcss-scss: 4.0.9(postcss@8.4.48)
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-config-recommended: 14.0.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-scss: 6.8.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
optionalDependencies:
postcss: 8.4.47
postcss: 8.4.48
stylelint-config-recommended@14.0.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-config-sass-guidelines@12.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
stylelint-config-sass-guidelines@12.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
'@stylistic/stylelint-plugin': 3.1.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
postcss: 8.4.47
postcss-scss: 4.0.9(postcss@8.4.47)
postcss: 8.4.48
postcss-scss: 4.0.9(postcss@8.4.48)
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-scss: 6.8.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-standard-scss@13.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
stylelint-config-standard-scss@13.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-config-recommended-scss: 14.1.0(postcss@8.4.47)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-recommended-scss: 14.1.0(postcss@8.4.48)(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
stylelint-config-standard: 36.0.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105))
optionalDependencies:
postcss: 8.4.47
postcss: 8.4.48
stylelint-config-standard@36.0.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
@ -5093,8 +5093,8 @@ snapshots:
stylelint-order@6.0.4(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
dependencies:
postcss: 8.4.47
postcss-sorting: 8.0.2(postcss@8.4.47)
postcss: 8.4.48
postcss-sorting: 8.0.2(postcss@8.4.48)
stylelint: 16.10.0(typescript@5.7.0-dev.20241105)
stylelint-plugin-logical-css@1.2.1(stylelint@16.10.0(typescript@5.7.0-dev.20241105)):
@ -5142,9 +5142,9 @@ snapshots:
micromatch: 4.0.8
normalize-path: 3.0.0
picocolors: 1.1.1
postcss: 8.4.47
postcss: 8.4.48
postcss-resolve-nested-selector: 0.1.6
postcss-safe-parser: 7.0.1(postcss@8.4.47)
postcss-safe-parser: 7.0.1(postcss@8.4.48)
postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
@ -5275,7 +5275,7 @@ snapshots:
transitivePeerDependencies:
- rollup
vite-plugin-valibot-env@0.8.4(valibot@1.0.0-beta.3(typescript@5.7.0-dev.20241105))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)):
vite-plugin-valibot-env@0.8.5(valibot@1.0.0-beta.3(typescript@5.7.0-dev.20241105))(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6)):
dependencies:
kleur: 4.1.5
log-symbols: 7.0.0
@ -5296,7 +5296,7 @@ snapshots:
vite@5.4.10(@types/node@22.9.0)(sass@1.80.6):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
postcss: 8.4.48
rollup: 4.25.0
optionalDependencies:
'@types/node': 22.9.0

1
web/app/db.php Symbolic link
View file

@ -0,0 +1 @@
/var/www/html/web/app/plugins/query-monitor/wp-content/db.php

View file

@ -166,6 +166,10 @@ function retire_tailles_image_par_defaut($sizes) {
add_filter("intermediate_image_sizes", "retire_tailles_image_par_defaut", 10, 1);
add_filter("big_image_size_threshold", "__return_false");
// Désactive la mise à jour automatique des traductions
add_filter("async_update_translation", "__return_false");
add_filter("auto_update_translation", "__return_false");
/**
* WooCommerce
*/

View file

@ -0,0 +1,59 @@
<?php
/**
* La route pour la préparation du paiement via Stripe ("Checkout")
*/
declare(strict_types=1);
header("Content-Type: application/json; charset=utf-8");
/** @var WC_Session_Handler */
$session = WC()->session;
/** @var bool */
$has_session = $session->has_session();
/** @var string */
$url_accueil = get_page_link(get_page_by_path("home")->ID);
// Retourne une 403 si l'Utilisateur n'a pas de session WooCommerce
if (!$has_session) {
header("HTTP/1.1 403 Forbidden");
$reponse = ["success" => "false", "status" => "unauthorized"];
echo json_encode($reponse);
return;
}
/** @var bool */
$panier_vide = WC()->cart->is_empty();
// Redirige à la page d'accueil si le Panier est vide
if ($panier_vide) {
header("Location: $url_accueil");
return;
}
$stripeSecretKey =
"sk_test_51D0BbTIKBol0AhpgZcc9rRTZoHVQ7oF1xzUTmIa37X5XbJeuYPQ35FB1hBA7WOdDuiEN6i6s5EjDNZEWPkVMlb5M00mGPcksTf";
\Stripe\Stripe::setApiKey($stripeSecretKey);
$stripe_checkout_session = \Stripe\Checkout\Session::create([
"mode" => "payment",
// "line_items" => [
// [
// "price_data" => [
// "currency" => "EUR",
// "product_data" => [
// "name" => "Bracelet",
// ],
// "unit_amount" => 100,
// ],
// "quantity" => 2,
// ],
// ],
"success_url" => $url_accueil,
"cancel_url" => $url_accueil,
]);
echo json_encode($stripe_checkout_session);
// header("HTTP/1.1 303 See Other");
// header("Location: " . $stripe_checkout_session->url);
exit();

View file

@ -64,7 +64,7 @@ class StarterSite extends Site {
return (object) [
"nom" => $page->post_title ?? "",
"lien" => get_page_link($page->ID),
"lien" => get_page_link($page?->ID),
];
};

View file

@ -80,7 +80,7 @@
</nav>
{# Bouton « Panier » avec l'indicateur de quantité de Produits #}
<section class="compte-panier" hidden>
<section class="compte-panier">
<a
class="lien-bouton"
data-contient-articles="{{ articles_presents }}"

View file

@ -137,7 +137,7 @@
<p class="selecteur-produit__prix">{{ produit.prix }}€</p>
</section>
<section class="actions-produit" hidden>
<section class="actions-produit">
<button
class="bouton-case-pleine"
disabled

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB