Compare commits
24 Commits
Author | SHA1 | Date | |
---|---|---|---|
945a558565 | |||
79337efef0 | |||
303b0279f8 | |||
12523398f6 | |||
1cb5ae6bc3 | |||
7239d841d4 | |||
a5d5a18190 | |||
075be9b0df | |||
4e4c5d8e7b | |||
7032787d8c | |||
999e708ff7 | |||
cb8361e7d1 | |||
e3f406a8bb | |||
d6d9e81df6 | |||
8e56433216 | |||
19178bbe3b | |||
14668150cb | |||
0903151f27 | |||
f378751f7a | |||
d707a91694 | |||
f39ab1626e | |||
fe4d683c20 | |||
f36a675d22 | |||
27f957124b |
9
.env
9
.env
@ -41,3 +41,12 @@ LOCK_DSN=flock
|
||||
SENTRY_DSN=
|
||||
###< sentry/sentry-symfony ###
|
||||
REDIS_DSN=redis://redis:6379
|
||||
|
||||
### Altcha
|
||||
ALTCHA_HOST='http://altcha:3333'
|
||||
ALTCHA_BASE_URL='/altcha'
|
||||
ALTCHA_DEBUG=false
|
||||
ALTCHA_WORKERS=8
|
||||
ALTCHA_DELAY=100
|
||||
ALTCHA_MOCK_ERROR=false
|
||||
ALTCHA_ENABLED=true
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -21,6 +21,7 @@ composer.phar
|
||||
/tools
|
||||
/.trivy
|
||||
.mktools/
|
||||
.php-cs-fixer.cache
|
||||
|
||||
###> symfony/framework-bundle ###
|
||||
/.env.local
|
||||
|
3
Makefile
3
Makefile
@ -5,6 +5,9 @@ IMAGES := $(foreach file, $(wildcard $(IMAGES_DIR)/*), $(basename $(notdir $(fil
|
||||
|
||||
TRIVY_ARGS ?=
|
||||
|
||||
php-cs-fixer:
|
||||
PHP_CS_FIXER_IGNORE_ENV=1 tools/php-cs-fixer/vendor/bin/php-cs-fixer -v fix --config=./tools/php-cs-fixer/.php-cs-fixer.dist.php
|
||||
|
||||
build-image: $(foreach image, $(IMAGES), build-image-$(image))
|
||||
|
||||
build-image-%:
|
||||
|
@ -8,5 +8,4 @@
|
||||
// any CSS you import will output into a single css file (app.css in this case)
|
||||
import './styles/app.scss';
|
||||
|
||||
// start the Stimulus application
|
||||
import './bootstrap';
|
||||
import 'altcha';
|
||||
|
11
assets/bootstrap.js
vendored
11
assets/bootstrap.js
vendored
@ -1,11 +0,0 @@
|
||||
import { startStimulusApp } from '@symfony/stimulus-bridge';
|
||||
|
||||
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
|
||||
export const app = startStimulusApp(require.context(
|
||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
||||
true,
|
||||
/\.[jt]sx?$/
|
||||
));
|
||||
|
||||
// register any custom, 3rd party controllers here
|
||||
// app.register('some_controller_name', SomeImportedController);
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"controllers": [],
|
||||
"entrypoints": []
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
import { Controller } from '@hotwired/stimulus';
|
||||
|
||||
/*
|
||||
* This is an example Stimulus controller!
|
||||
*
|
||||
* Any element with a data-controller="hello" attribute will cause
|
||||
* this controller to be executed. The name "hello" comes from the filename:
|
||||
* hello_controller.js -> "hello"
|
||||
*
|
||||
* Delete this file or adapt it for your use!
|
||||
*/
|
||||
export default class extends Controller {
|
||||
connect() {
|
||||
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
||||
}
|
||||
}
|
722
assets/styles/theme.css
Normal file
722
assets/styles/theme.css
Normal file
@ -0,0 +1,722 @@
|
||||
input[type="radio"]:checked ~ .app-item {
|
||||
--tw-shadow: 0 10px 15px -3px rgb(22 78 99 / 0.3),
|
||||
0 4px 6px -4px rgb(22 78 99 / 0.3);
|
||||
background-color: rgb(76 233 14 / 0.15);
|
||||
}
|
||||
.header {
|
||||
background-color: rgb(75, 207, 158);
|
||||
width: 100%;
|
||||
color: white;
|
||||
}
|
||||
|
||||
section.header-logo a {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
width: auto;
|
||||
float: left;
|
||||
letter-spacing: -1px;
|
||||
font-size: 30px;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
color: #2c3e50;
|
||||
line-height: 30px;
|
||||
font-family: fontpvebold;
|
||||
}
|
||||
section.header-logo a span {
|
||||
color: #4bcf9e;
|
||||
font-size: 50px;
|
||||
}
|
||||
section.header-logo a svg {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.header-logo {
|
||||
margin-bottom: 15px;
|
||||
padding: 25px 0;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "fontpve";
|
||||
src: url("../fonts/oswald-regular-webfont.eot");
|
||||
src: url("../fonts/oswald-regular-webfont.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
url("../fonts/oswald-regular-webfont.woff2") format("woff2"),
|
||||
url("../fonts/oswald-regular-webfont.woff") format("woff"),
|
||||
url("../fonts/oswald-regular-webfont.ttf") format("truetype"),
|
||||
url("../fonts/oswald-regular-webfont.svg#oswaldregular") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "fontpvebold";
|
||||
src: url("../fonts/oswald-bold-webfont.eot");
|
||||
src: url("../fonts/oswald-bold-webfont.eot?#iefix")
|
||||
format("embedded-opentype"),
|
||||
url("../fonts/oswald-bold-webfont.woff2") format("woff2"),
|
||||
url("../fonts/oswald-bold-webfont.woff") format("woff"),
|
||||
url("../fonts/oswald-bold-webfont.ttf") format("truetype"),
|
||||
url("../fonts/oswald-bold-webfont.svg#oswaldbold") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
a,
|
||||
a:visited,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.logo-france-connect-fr:hover {
|
||||
content: url("../images/franceconnect-fr-hover.png");
|
||||
min-height: 58px;
|
||||
}
|
||||
|
||||
.logo-france-connect-en:hover {
|
||||
content: url("../images/franceconnect-en-hover.png");
|
||||
min-height: 58px;
|
||||
}
|
||||
|
||||
.logo-mse-connect-fr:hover {
|
||||
content: url("../images/MSEConnect-hover-fr.png");
|
||||
min-height: 56px;
|
||||
}
|
||||
|
||||
.logo-mse-connect-en:hover {
|
||||
content: url("../images/MSEConnect-hover-en.png");
|
||||
min-height: 56px;
|
||||
}
|
||||
|
||||
.facebook, .x, .instagram {
|
||||
height:24px;
|
||||
width:24px;
|
||||
}
|
||||
|
||||
.facebook:hover{
|
||||
content: url('../images/facebook-hover.png');
|
||||
}
|
||||
|
||||
.x:hover{
|
||||
content: url('../images/x-hover.png');
|
||||
}
|
||||
|
||||
.instagram:hover{
|
||||
content: url('../images/instagram-hover.png');
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
border-color: #66afe9;
|
||||
outline: 1em;
|
||||
}
|
||||
|
||||
#mesr {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "fontpve", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial,
|
||||
sans-serif;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
background-color: #fff;
|
||||
min-width: 320px;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
max-width: 1007px;
|
||||
margin: 15px auto 30px auto;
|
||||
}
|
||||
|
||||
#logo-mse {
|
||||
padding: 80px;
|
||||
}
|
||||
|
||||
#header {
|
||||
vertical-align: top;
|
||||
color: #fff;
|
||||
font-family: "fontpve", arial;
|
||||
}
|
||||
|
||||
.pvetools .dropdown .dropdown-toggle {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#pvemenu {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-weight: bold;
|
||||
background-color: #1c856aff;
|
||||
height: 35px;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
#pvelink {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 5px 0 0 1rem;
|
||||
display: inline-block;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#pvelink ul {
|
||||
list-style: none;
|
||||
float: left;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
#pvelink ul li {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#pvelink a {
|
||||
color: #fff !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#pvelink span {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.header-nav nav {
|
||||
display: inline-block;
|
||||
color: #2c3e50;
|
||||
min-height: 35px;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
transition: background 0.2s;
|
||||
}
|
||||
|
||||
.header-nav nav ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.header-nav nav a {
|
||||
line-height: 35px;
|
||||
padding: 0 20px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
|
||||
.header-nav nav:hover {
|
||||
background: #125444;
|
||||
}
|
||||
|
||||
.header-nav nav:hover a {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.language-flag {
|
||||
height: 20px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.pvetools .dropdown-menu {
|
||||
background: #1c856aff;
|
||||
min-width: 0px;
|
||||
border: 0px;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.dropdown-menu li a {
|
||||
color: #ffffff;
|
||||
background: #1c856aff;
|
||||
}
|
||||
|
||||
.dropdown-menu li a:hover {
|
||||
background: #125444;
|
||||
}
|
||||
|
||||
.link-fc {
|
||||
text-align: center;
|
||||
margin-top: 8px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.link-fc a {
|
||||
color: white;
|
||||
letter-spacing: 1px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.link-fc a:hover {
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#logo {
|
||||
z-index: 10;
|
||||
margin-left: 50px;
|
||||
width: 280px;
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#pvename {
|
||||
display: block;
|
||||
}
|
||||
#pvename a {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
width: auto;
|
||||
text-decoration: none;
|
||||
letter-spacing: -1px;
|
||||
font-size: 30px;
|
||||
color: #2c3e50;
|
||||
line-height: 30px;
|
||||
font-family: "fontpvebold";
|
||||
padding: 3.4rem 0;
|
||||
}
|
||||
|
||||
#pvename a > svg {
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
#pvename a > span {
|
||||
color: #1c856aff;
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
#pvename a {
|
||||
padding: 3.4rem 0 3.4rem 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
#pvename {
|
||||
text-align: center;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#footer ul {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
#pvename a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
#pvename a > svg {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
#pvename a > span {
|
||||
display: block;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
#boxlogin-wrapper {
|
||||
padding: 0 18px;
|
||||
width: 66%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#boxlogin {
|
||||
background-color: #2d3e50;
|
||||
color: #fff;
|
||||
font-family: arial;
|
||||
font-size: 13px;
|
||||
padding: 15px 30px 30px 30px;
|
||||
}
|
||||
|
||||
#boxlogin > * + * {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#boxlogin-title {
|
||||
margin: 0;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background-color: #1d2730;
|
||||
font-family: "fontpvebold", aroam;
|
||||
}
|
||||
#boxlogin-title h1 {
|
||||
font-size: 33px;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
margin-bottom: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
label[for="login_login"] {
|
||||
padding-top: 10px;
|
||||
}
|
||||
#boxlogin .loginapp {
|
||||
text-align: center;
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.loginapp-button img {
|
||||
border-radius: 2px;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
object-fit: contain;
|
||||
min-height: 56px;
|
||||
}
|
||||
|
||||
.loginapp-button:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.separateur {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
padding: 0 2rem 1.3rem 2rem;
|
||||
}
|
||||
|
||||
#choixFC {
|
||||
width: 2.5rem;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
.separateur::after,
|
||||
.separateur::before {
|
||||
content: "";
|
||||
flex: 1;
|
||||
border-bottom: 2px solid #e8e8e8;
|
||||
}
|
||||
|
||||
#boxlogin .encart-erreur {
|
||||
color: #2d3e50;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
background-color: #fff;
|
||||
padding: 10px 2px;
|
||||
font-family: "fontpve", aroam;
|
||||
font-size: 15px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#boxlogin h2 {
|
||||
font-size: 25px;
|
||||
text-transform: uppercase;
|
||||
font-family: "fontpvebold", aroam;
|
||||
}
|
||||
|
||||
#boxlogin h3 {
|
||||
color: #fff;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
background-color: #4bcf9e;
|
||||
padding: 10px 2px;
|
||||
font-family: "fontpve", aroam;
|
||||
font-size: 15px;
|
||||
}
|
||||
#boxlogin h4 {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
background-color: red;
|
||||
padding: 10px 2px;
|
||||
font-family: arial;
|
||||
font-size: 15px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
#pvelogin,
|
||||
#pvedescription {
|
||||
/* padding: 30px 15px 10px 15px; */
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#pvelogin input {
|
||||
font-size: 20px;
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
#pvelogin input:-webkit-autofil {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#pvelogin button {
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
border-color: #fff;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px 16px;
|
||||
font-size: 18px;
|
||||
line-height: 1.33;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#pvelogin a {
|
||||
color: #fff;
|
||||
padding-top: 10px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#pvelogininfo a {
|
||||
text-decoration: underline;
|
||||
color: #2c3e50;
|
||||
font-family: arial;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#pvelogininfo {
|
||||
font-family: arial;
|
||||
font-size: 13px;
|
||||
background-color: #fff;
|
||||
color: #2c3e50;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
#pvelogininfo ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
padding-top: 100px;
|
||||
text-transform: none;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
#footer > nav.navbar.navbar-inverse {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
#footer-copyright {
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
padding-top: 30px;
|
||||
padding-bottom: 30px;
|
||||
font-family: Arial;
|
||||
font-size: 12px;
|
||||
text-transform: initial;
|
||||
}
|
||||
|
||||
#footer-copyright img {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#footerli01 {
|
||||
margin-left: 150px;
|
||||
}
|
||||
|
||||
#footer ul.nav.navbar-nav.navbar-left {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#footer ul.nav.navbar-nav > li > a {
|
||||
color: #ffffff;
|
||||
background-color: transparent;
|
||||
position: relative;
|
||||
display: block;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
font-size: 15px;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
#footer ul.nav.navbar-nav > li > a:before {
|
||||
content: "/";
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#footer ul.nav.navbar-nav.navbar-left > li:hover > a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#footer ul.nav.navbar-nav.navbar-left > li:hover > a:before {
|
||||
color: #fff;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
#footer-editor {
|
||||
text-align: right;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@media (max-width: 1007px) {
|
||||
#wrapper {
|
||||
margin-top: 0px;
|
||||
}
|
||||
#boxlogin-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
#header {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
#pveuser {
|
||||
font-size: 15px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
#pveuser small {
|
||||
font-size: 12px;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 700px) {
|
||||
#footerli01 {
|
||||
margin-left: 0px;
|
||||
}
|
||||
#boxlogin .loginapp {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 550px) {
|
||||
#pvemenu {
|
||||
font-size: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
#pvelink {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#logo {
|
||||
max-width: 46%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#boxlogin-wrapper {
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
|
||||
/* dispatcher error page */
|
||||
.alert-danger {
|
||||
background-color: #ff0000 !important;
|
||||
border-color: #ff0000 !important;
|
||||
color: #fff !important;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.alert-danger a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.alert-danger a:hover {
|
||||
color: unset;
|
||||
}
|
||||
.alert {
|
||||
padding: 15px !important;
|
||||
margin-bottom: 21px !important;
|
||||
border: 1px solid transparent !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.alert-danger p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.footer-link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#loader {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: none;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
position: absolute;
|
||||
height: 120%;
|
||||
width: 100%;
|
||||
background-color: #efefef;
|
||||
opacity: 0.9;
|
||||
z-index: 10;
|
||||
flex-flow: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
#nb-spinner {
|
||||
width: 75px;
|
||||
height: 75px;
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
border-top: 4px solid #1c856a;
|
||||
border-right: 4px solid transparent;
|
||||
border-radius: 50%;
|
||||
-webkit-animation: 1s spin linear infinite;
|
||||
animation: 1s spin linear infinite;
|
||||
}
|
||||
|
||||
#loader-wrapper {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
#loader-content {
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
-webkit-box-flex: 0;
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 200px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
@keyframes spin {
|
||||
from {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
6
assets/theme-entrypoint.js
Normal file
6
assets/theme-entrypoint.js
Normal file
@ -0,0 +1,6 @@
|
||||
import './styles/theme.css'
|
||||
|
||||
import 'altcha';
|
||||
import theme from './theme';
|
||||
|
||||
theme();
|
52
assets/theme.js
Normal file
52
assets/theme.js
Normal file
@ -0,0 +1,52 @@
|
||||
export default function theme() {
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
[].forEach.call(document.querySelectorAll('.language-change'), function(el) {
|
||||
el.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var lang = el.getAttribute('data-lang');
|
||||
if(getCookie('mselang') != lang) {
|
||||
setCookie('mselang', lang, false);
|
||||
location.reload();
|
||||
}
|
||||
return false;
|
||||
})
|
||||
});
|
||||
|
||||
// Empécher le double clic
|
||||
const form = document.forms['login']
|
||||
const loader = document.getElementById('loader');
|
||||
form.addEventListener('submit', function(event) {
|
||||
loader.style.display = 'flex';
|
||||
});
|
||||
});
|
||||
|
||||
function setCookie(name,value,days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days*24*60*60*1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
var temp = window.location.hostname.split('.').reverse();
|
||||
var root_domain = '';
|
||||
for(var i=temp.length - 1;i >= 0;i--){
|
||||
root_domain += temp[i];
|
||||
if(i > 0){
|
||||
root_domain += '.';
|
||||
}
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=" + root_domain;
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
@ -78,5 +78,8 @@
|
||||
"allow-contrib": true,
|
||||
"require": "5.4.*"
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/debug-bundle": "5.4.*"
|
||||
}
|
||||
}
|
||||
|
1000
composer.lock
generated
1000
composer.lock
generated
@ -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": "7d46fa52cba3dcb28f7d339d548030e9",
|
||||
"content-hash": "203398b3a4f3ff689ff3341c02460f23",
|
||||
"packages": [
|
||||
{
|
||||
"name": "clue/stream-filter",
|
||||
@ -74,16 +74,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
"version": "1.14.3",
|
||||
"version": "1.14.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/annotations.git",
|
||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
|
||||
"reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
||||
"url": "https://api.github.com/repos/doctrine/annotations/zipball/253dca476f70808a5aeed3a47cc2cc88c5cab915",
|
||||
"reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -94,11 +94,11 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/cache": "^1.11 || ^2.0",
|
||||
"doctrine/coding-standard": "^9 || ^10",
|
||||
"phpstan/phpstan": "~1.4.10 || ^1.8.0",
|
||||
"doctrine/coding-standard": "^9 || ^12",
|
||||
"phpstan/phpstan": "~1.4.10 || ^1.10.28",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"symfony/cache": "^4.4 || ^5.4 || ^6",
|
||||
"vimeo/psalm": "^4.10"
|
||||
"symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7",
|
||||
"vimeo/psalm": "^4.30 || ^5.14"
|
||||
},
|
||||
"suggest": {
|
||||
"php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
|
||||
@ -144,35 +144,36 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/annotations/issues",
|
||||
"source": "https://github.com/doctrine/annotations/tree/1.14.3"
|
||||
"source": "https://github.com/doctrine/annotations/tree/1.14.4"
|
||||
},
|
||||
"time": "2023-02-01T09:20:38+00:00"
|
||||
"time": "2024-09-05T10:15:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
"version": "1.1.3",
|
||||
"version": "1.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/deprecations.git",
|
||||
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
|
||||
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
|
||||
"reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<=7.5 || >=13"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"phpstan/phpstan": "1.4.10 || 1.10.15",
|
||||
"phpstan/phpstan-phpunit": "^1.0",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"psalm/plugin-phpunit": "0.18.4",
|
||||
"psr/log": "^1 || ^2 || ^3",
|
||||
"vimeo/psalm": "4.30.0 || 5.12.0"
|
||||
"doctrine/coding-standard": "^9 || ^12 || ^13",
|
||||
"phpstan/phpstan": "1.4.10 || 2.1.11",
|
||||
"phpstan/phpstan-phpunit": "^1.0 || ^2",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
|
||||
"psr/log": "^1 || ^2 || ^3"
|
||||
},
|
||||
"suggest": {
|
||||
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
|
||||
@ -180,7 +181,7 @@
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
|
||||
"Doctrine\\Deprecations\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
@ -191,9 +192,9 @@
|
||||
"homepage": "https://www.doctrine-project.org/",
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.3"
|
||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.5"
|
||||
},
|
||||
"time": "2024-01-30T19:34:25+00:00"
|
||||
"time": "2025-04-07T20:06:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/lexer",
|
||||
@ -275,16 +276,16 @@
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
"version": "2.0.3",
|
||||
"version": "2.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/promises.git",
|
||||
"reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
|
||||
"reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
|
||||
"reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c",
|
||||
"reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -338,7 +339,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/promises/issues",
|
||||
"source": "https://github.com/guzzle/promises/tree/2.0.3"
|
||||
"source": "https://github.com/guzzle/promises/tree/2.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -354,20 +355,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-18T10:29:17+00:00"
|
||||
"time": "2025-03-27T13:27:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
|
||||
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16",
|
||||
"reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -454,7 +455,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.7.0"
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.7.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -470,7 +471,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-18T11:15:46+00:00"
|
||||
"time": "2025-03-27T12:30:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "http-interop/http-factory-guzzle",
|
||||
@ -532,28 +533,29 @@
|
||||
},
|
||||
{
|
||||
"name": "jean85/pretty-package-versions",
|
||||
"version": "2.0.6",
|
||||
"version": "2.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
||||
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
|
||||
"reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a",
|
||||
"reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-runtime-api": "^2.0.0",
|
||||
"php": "^7.1|^8.0"
|
||||
"composer-runtime-api": "^2.1.0",
|
||||
"php": "^7.4|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.2",
|
||||
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
||||
"vimeo/psalm": "^4.3"
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpunit/phpunit": "^7.5|^8.5|^9.6",
|
||||
"rector/rector": "^2.0",
|
||||
"vimeo/psalm": "^4.3 || ^5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@ -585,22 +587,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
|
||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1"
|
||||
},
|
||||
"time": "2024-03-08T09:58:59+00:00"
|
||||
"time": "2025-03-19T14:43:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-http/client-common",
|
||||
"version": "2.7.1",
|
||||
"version": "2.7.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-http/client-common.git",
|
||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612"
|
||||
"reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
||||
"url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46",
|
||||
"reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -654,22 +656,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-http/client-common/issues",
|
||||
"source": "https://github.com/php-http/client-common/tree/2.7.1"
|
||||
"source": "https://github.com/php-http/client-common/tree/2.7.2"
|
||||
},
|
||||
"time": "2023-11-30T10:31:25+00:00"
|
||||
"time": "2024-09-24T06:21:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-http/discovery",
|
||||
"version": "1.19.4",
|
||||
"version": "1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-http/discovery.git",
|
||||
"reference": "0700efda8d7526335132360167315fdab3aeb599"
|
||||
"reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599",
|
||||
"reference": "0700efda8d7526335132360167315fdab3aeb599",
|
||||
"url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
|
||||
"reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -733,22 +735,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-http/discovery/issues",
|
||||
"source": "https://github.com/php-http/discovery/tree/1.19.4"
|
||||
"source": "https://github.com/php-http/discovery/tree/1.20.0"
|
||||
},
|
||||
"time": "2024-03-29T13:00:05+00:00"
|
||||
"time": "2024-10-02T11:20:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-http/httplug",
|
||||
"version": "2.4.0",
|
||||
"version": "2.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-http/httplug.git",
|
||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
|
||||
"reference": "5cad731844891a4c282f3f3e1b582c46839d22f4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
|
||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
|
||||
"url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4",
|
||||
"reference": "5cad731844891a4c282f3f3e1b582c46839d22f4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -790,22 +792,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-http/httplug/issues",
|
||||
"source": "https://github.com/php-http/httplug/tree/2.4.0"
|
||||
"source": "https://github.com/php-http/httplug/tree/2.4.1"
|
||||
},
|
||||
"time": "2023-04-14T15:10:03+00:00"
|
||||
"time": "2024-09-23T11:39:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-http/message",
|
||||
"version": "1.16.1",
|
||||
"version": "1.16.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-http/message.git",
|
||||
"reference": "5997f3289332c699fa2545c427826272498a2088"
|
||||
"reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088",
|
||||
"reference": "5997f3289332c699fa2545c427826272498a2088",
|
||||
"url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
|
||||
"reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -859,9 +861,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-http/message/issues",
|
||||
"source": "https://github.com/php-http/message/tree/1.16.1"
|
||||
"source": "https://github.com/php-http/message/tree/1.16.2"
|
||||
},
|
||||
"time": "2024-03-07T13:22:09+00:00"
|
||||
"time": "2024-10-02T11:34:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-http/message-factory",
|
||||
@ -972,16 +974,16 @@
|
||||
},
|
||||
{
|
||||
"name": "predis/predis",
|
||||
"version": "v2.2.2",
|
||||
"version": "v2.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/predis/predis.git",
|
||||
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1"
|
||||
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
|
||||
"reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1",
|
||||
"url": "https://api.github.com/repos/predis/predis/zipball/bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
|
||||
"reference": "bac46bfdb78cd6e9c7926c697012aae740cb9ec9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -990,7 +992,7 @@
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.3",
|
||||
"phpstan/phpstan": "^1.9",
|
||||
"phpunit/phpunit": "^8.0 || ~9.4.4"
|
||||
"phpunit/phpunit": "^8.0 || ^9.4"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-relay": "Faster connection with in-memory caching (>=0.6.2)"
|
||||
@ -1021,7 +1023,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/predis/predis/issues",
|
||||
"source": "https://github.com/predis/predis/tree/v2.2.2"
|
||||
"source": "https://github.com/predis/predis/tree/v2.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1029,7 +1031,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-09-13T16:42:03+00:00"
|
||||
"time": "2024-11-21T20:00:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/cache",
|
||||
@ -1652,9 +1654,9 @@
|
||||
"type": "symfony-bundle",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"releases/3.2.x": "3.2.x-dev",
|
||||
"releases/1.x": "1.x-dev",
|
||||
"releases/2.x": "2.x-dev",
|
||||
"releases/1.x": "1.x-dev"
|
||||
"releases/3.2.x": "3.2.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -1731,16 +1733,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/asset",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/asset.git",
|
||||
"reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3"
|
||||
"reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/asset/zipball/e5aa241b4914257164b39c3c2678b2c41b7671e3",
|
||||
"reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3",
|
||||
"url": "https://api.github.com/repos/symfony/asset/zipball/b7a18eaff1d717c321b4f13403413f8815bf9cb0",
|
||||
"reference": "b7a18eaff1d717c321b4f13403413f8815bf9cb0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1785,7 +1787,7 @@
|
||||
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/asset/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/asset/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1801,20 +1803,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-10-22T13:05:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/cache.git",
|
||||
"reference": "89005bc368ca02ed0433c592e4d27670d0844a66"
|
||||
"reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/89005bc368ca02ed0433c592e4d27670d0844a66",
|
||||
"reference": "89005bc368ca02ed0433c592e4d27670d0844a66",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
|
||||
"reference": "0fe08ee32cec2748fbfea10c52d3ee02049e0f6b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1882,7 +1884,7 @@
|
||||
"psr6"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/cache/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/cache/tree/v5.4.46"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1898,20 +1900,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-04T11:43:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache-contracts",
|
||||
"version": "v2.5.3",
|
||||
"version": "v2.5.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/cache-contracts.git",
|
||||
"reference": "fee6db04d913094e2fb55ff8e7db5685a8134463"
|
||||
"reference": "517c3a3619dadfa6952c4651767fcadffb4df65e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463",
|
||||
"reference": "fee6db04d913094e2fb55ff8e7db5685a8134463",
|
||||
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/517c3a3619dadfa6952c4651767fcadffb4df65e",
|
||||
"reference": "517c3a3619dadfa6952c4651767fcadffb4df65e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -1923,12 +1925,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -1961,7 +1963,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/cache-contracts/tree/v2.5.3"
|
||||
"source": "https://github.com/symfony/cache-contracts/tree/v2.5.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1977,20 +1979,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-01-23T13:51:25+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/config",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/config.git",
|
||||
"reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e"
|
||||
"reference": "977c88a02d7d3f16904a81907531b19666a08e78"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e",
|
||||
"reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e",
|
||||
"url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78",
|
||||
"reference": "977c88a02d7d3f16904a81907531b19666a08e78",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2040,7 +2042,7 @@
|
||||
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/config/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/config/tree/v5.4.46"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2056,20 +2058,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-10-30T07:58:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.47",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba"
|
||||
"reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/6473d441a913cb997123b59ff2dbe3d1cf9e11ba",
|
||||
"reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
|
||||
"reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2139,7 +2141,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/console/tree/v5.4.47"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2155,20 +2157,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T07:48:55+00:00"
|
||||
"time": "2024-11-06T11:30:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dependency-injection",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dependency-injection.git",
|
||||
"reference": "408b33326496030c201b8051b003e9e8cdb2efc9"
|
||||
"reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/408b33326496030c201b8051b003e9e8cdb2efc9",
|
||||
"reference": "408b33326496030c201b8051b003e9e8cdb2efc9",
|
||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
|
||||
"reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2228,7 +2230,7 @@
|
||||
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2244,20 +2246,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-20T10:51:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
"version": "v3.5.0",
|
||||
"version": "v3.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
|
||||
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
|
||||
"reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2265,12 +2267,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "3.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -2295,7 +2297,7 @@
|
||||
"description": "A generic function and convention to trigger deprecation notices",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
|
||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2311,20 +2313,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:32:20+00:00"
|
||||
"time": "2024-09-25T14:20:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/dotenv",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dotenv.git",
|
||||
"reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d"
|
||||
"reference": "08013403089c8a126c968179179b817a552841ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d",
|
||||
"reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d",
|
||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/08013403089c8a126c968179179b817a552841ab",
|
||||
"reference": "08013403089c8a126c968179179b817a552841ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2366,7 +2368,7 @@
|
||||
"environment"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2382,20 +2384,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-27T09:33:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/error-handler",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/error-handler.git",
|
||||
"reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1"
|
||||
"reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/c25da5cc2de4e6f96b3a0a2813050355a20dd0e1",
|
||||
"reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363",
|
||||
"reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2437,7 +2439,7 @@
|
||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/error-handler/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/error-handler/tree/v5.4.46"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2453,20 +2455,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-09T18:59:35+00:00"
|
||||
"time": "2024-11-05T14:17:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4"
|
||||
"reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4",
|
||||
"reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9",
|
||||
"reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2522,7 +2524,7 @@
|
||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2538,20 +2540,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
"version": "v3.5.0",
|
||||
"version": "v3.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
|
||||
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
|
||||
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f",
|
||||
"reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2560,12 +2562,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "3.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -2598,7 +2600,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
|
||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2614,20 +2616,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:32:20+00:00"
|
||||
"time": "2024-09-25T14:20:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/expression-language",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/expression-language.git",
|
||||
"reference": "77670d1e74086dc8d941a18f97097bbf988f2840"
|
||||
"reference": "a784b66edc4c151eb05076d04707906ee2c209a9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/expression-language/zipball/77670d1e74086dc8d941a18f97097bbf988f2840",
|
||||
"reference": "77670d1e74086dc8d941a18f97097bbf988f2840",
|
||||
"url": "https://api.github.com/repos/symfony/expression-language/zipball/a784b66edc4c151eb05076d04707906ee2c209a9",
|
||||
"reference": "a784b66edc4c151eb05076d04707906ee2c209a9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2661,7 +2663,7 @@
|
||||
"description": "Provides an engine that can compile and evaluate expressions",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/expression-language/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/expression-language/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2677,20 +2679,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-10-04T14:55:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e"
|
||||
"reference": "57c8294ed37d4a055b77057827c67f9558c95c54"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/6d29dd9340b372fa603f04e6df4dd76bb808591e",
|
||||
"reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54",
|
||||
"reference": "57c8294ed37d4a055b77057827c67f9558c95c54",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2728,7 +2730,7 @@
|
||||
"description": "Provides basic utilities for the filesystem",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2744,20 +2746,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T09:36:24+00:00"
|
||||
"time": "2024-10-22T13:05:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "f51cff4687547641c7d8180d74932ab40b2205ce"
|
||||
"reference": "63741784cd7b9967975eec610b256eed3ede022b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce",
|
||||
"reference": "f51cff4687547641c7d8180d74932ab40b2205ce",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b",
|
||||
"reference": "63741784cd7b9967975eec610b256eed3ede022b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2791,7 +2793,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/finder/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2807,26 +2809,29 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-28T13:32:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/flex",
|
||||
"version": "v2.4.5",
|
||||
"version": "v2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/flex.git",
|
||||
"reference": "b0a405f40614c9f584b489d54f91091817b0e26e"
|
||||
"reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e",
|
||||
"reference": "b0a405f40614c9f584b489d54f91091817b0e26e",
|
||||
"url": "https://api.github.com/repos/symfony/flex/zipball/8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
|
||||
"reference": "8ce1acd9842abe0e9b4c4a0bd3f259859516c018",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-plugin-api": "^2.1",
|
||||
"php": ">=8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"composer/semver": "<1.7.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"composer/composer": "^2.1",
|
||||
"symfony/dotenv": "^5.4|^6.0",
|
||||
@ -2856,7 +2861,7 @@
|
||||
"description": "Composer plugin for Symfony",
|
||||
"support": {
|
||||
"issues": "https://github.com/symfony/flex/issues",
|
||||
"source": "https://github.com/symfony/flex/tree/v2.4.5"
|
||||
"source": "https://github.com/symfony/flex/tree/v2.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2872,20 +2877,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-02T08:16:47+00:00"
|
||||
"time": "2025-03-03T07:50:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/form",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/form.git",
|
||||
"reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43"
|
||||
"reference": "c1974a723cdee8a273cb49ce13fada5c1667706a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43",
|
||||
"reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43",
|
||||
"url": "https://api.github.com/repos/symfony/form/zipball/c1974a723cdee8a273cb49ce13fada5c1667706a",
|
||||
"reference": "c1974a723cdee8a273cb49ce13fada5c1667706a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2958,7 +2963,7 @@
|
||||
"description": "Allows to easily create, process and reuse HTML forms",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/form/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/form/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2974,20 +2979,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-10-08T07:27:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/framework-bundle",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/framework-bundle.git",
|
||||
"reference": "18b84194424511fe541fc7962553ae423e4553c7"
|
||||
"reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/18b84194424511fe541fc7962553ae423e4553c7",
|
||||
"reference": "18b84194424511fe541fc7962553ae423e4553c7",
|
||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
|
||||
"reference": "3d70f14176422d4d8ee400b6acae4e21f7c25ca2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -2995,7 +3000,7 @@
|
||||
"php": ">=7.2.5",
|
||||
"symfony/cache": "^5.2|^6.0",
|
||||
"symfony/config": "^5.3|^6.0",
|
||||
"symfony/dependency-injection": "^5.4.5|^6.0.5",
|
||||
"symfony/dependency-injection": "^5.4.44|^6.0.5",
|
||||
"symfony/deprecation-contracts": "^2.1|^3",
|
||||
"symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
|
||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
||||
@ -3026,6 +3031,7 @@
|
||||
"symfony/mime": "<4.4",
|
||||
"symfony/property-access": "<5.3",
|
||||
"symfony/property-info": "<4.4",
|
||||
"symfony/runtime": "<5.4.45|>=6.0,<6.4.13|>=7.0,<7.1.6",
|
||||
"symfony/security-csrf": "<5.3",
|
||||
"symfony/serializer": "<5.2",
|
||||
"symfony/service-contracts": ">=3.0",
|
||||
@ -3108,7 +3114,7 @@
|
||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3124,27 +3130,27 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-14T09:52:52+00:00"
|
||||
"time": "2024-10-22T13:05:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.49",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-client.git",
|
||||
"reference": "87ca825717928d178de8a3458f163100925fb675"
|
||||
"reference": "d77d8e212cde7b5c4a64142bf431522f19487c28"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/87ca825717928d178de8a3458f163100925fb675",
|
||||
"reference": "87ca825717928d178de8a3458f163100925fb675",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/d77d8e212cde7b5c4a64142bf431522f19487c28",
|
||||
"reference": "d77d8e212cde7b5c4a64142bf431522f19487c28",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"psr/log": "^1|^2|^3",
|
||||
"symfony/deprecation-contracts": "^2.1|^3",
|
||||
"symfony/http-client-contracts": "^2.5.3",
|
||||
"symfony/http-client-contracts": "^2.5.4",
|
||||
"symfony/polyfill-php73": "^1.11",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/service-contracts": "^1.0|^2|^3"
|
||||
@ -3199,7 +3205,7 @@
|
||||
"http"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-client/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/http-client/tree/v5.4.49"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3215,20 +3221,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T07:25:22+00:00"
|
||||
"time": "2024-11-28T08:37:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client-contracts",
|
||||
"version": "v2.5.3",
|
||||
"version": "v2.5.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-client-contracts.git",
|
||||
"reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1"
|
||||
"reference": "48ef1d0a082885877b664332b9427662065a360c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
|
||||
"reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
|
||||
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/48ef1d0a082885877b664332b9427662065a360c",
|
||||
"reference": "48ef1d0a082885877b664332b9427662065a360c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3239,12 +3245,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -3277,7 +3283,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3"
|
||||
"source": "https://github.com/symfony/http-client-contracts/tree/v2.5.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3293,20 +3299,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-26T19:42:53+00:00"
|
||||
"time": "2024-11-28T08:37:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847"
|
||||
"reference": "3f38b8af283b830e1363acd79e5bc3412d055341"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847",
|
||||
"reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341",
|
||||
"reference": "3f38b8af283b830e1363acd79e5bc3412d055341",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3353,7 +3359,7 @@
|
||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3369,20 +3375,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-13T18:58:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2"
|
||||
"reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/aad4078e1210343b7cd5acb803c02f8b02f002b2",
|
||||
"reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
|
||||
"reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3466,7 +3472,7 @@
|
||||
"description": "Provides a structured process for converting a Request into a Response",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3482,20 +3488,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T11:42:41+00:00"
|
||||
"time": "2024-11-27T12:43:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/lock",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/lock.git",
|
||||
"reference": "d96955c9919fa8609b193ba76e9f527776b70176"
|
||||
"reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/lock/zipball/d96955c9919fa8609b193ba76e9f527776b70176",
|
||||
"reference": "d96955c9919fa8609b193ba76e9f527776b70176",
|
||||
"url": "https://api.github.com/repos/symfony/lock/zipball/f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
|
||||
"reference": "f85ebc5346a2f0e4f9e347e9154922a6d4665c65",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3545,7 +3551,7 @@
|
||||
"semaphore"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/lock/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/lock/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3561,20 +3567,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-10-21T20:36:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/options-resolver.git",
|
||||
"reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4"
|
||||
"reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4",
|
||||
"reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
|
||||
"reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3614,7 +3620,7 @@
|
||||
"options"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3630,20 +3636,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/password-hasher",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/password-hasher.git",
|
||||
"reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093"
|
||||
"reference": "6c5993b24505f98b90ca4896448012bbec54c7c8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093",
|
||||
"reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093",
|
||||
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/6c5993b24505f98b90ca4896448012bbec54c7c8",
|
||||
"reference": "6c5993b24505f98b90ca4896448012bbec54c7c8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3688,7 +3694,7 @@
|
||||
"password"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/password-hasher/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/password-hasher/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3704,24 +3710,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
|
||||
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
|
||||
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
@ -3729,8 +3735,8 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -3766,7 +3772,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3782,24 +3788,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-icu",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||
"reference": "e76343c631b453088e2260ac41dfebe21954de81"
|
||||
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81",
|
||||
"reference": "e76343c631b453088e2260ac41dfebe21954de81",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
|
||||
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance and support of other locales than \"en\""
|
||||
@ -3807,8 +3813,8 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -3850,7 +3856,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3866,24 +3872,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
|
||||
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
|
||||
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
|
||||
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
@ -3891,8 +3897,8 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -3931,7 +3937,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3947,24 +3953,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
|
||||
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
"ext-mbstring": "*"
|
||||
@ -3975,8 +3981,8 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -4011,7 +4017,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4027,30 +4033,30 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-19T12:30:46+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php73",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||
"reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1"
|
||||
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1",
|
||||
"reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
|
||||
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -4087,7 +4093,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4103,30 +4109,30 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
|
||||
"reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -4167,7 +4173,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4183,30 +4189,30 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php81",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||
"reference": "3fb075789fb91f9ad9af537c4012d523085bd5af"
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af",
|
||||
"reference": "3fb075789fb91f9ad9af537c4012d523085bd5af",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/polyfill",
|
||||
"url": "https://github.com/symfony/polyfill"
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -4243,7 +4249,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4259,20 +4265,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-19T12:30:46+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/property-access",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/property-access.git",
|
||||
"reference": "6e4834145c2231b34eafabe440aaac478a95b456"
|
||||
"reference": "111e7ed617509f1a9139686055d234aad6e388e0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456",
|
||||
"reference": "6e4834145c2231b34eafabe440aaac478a95b456",
|
||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/111e7ed617509f1a9139686055d234aad6e388e0",
|
||||
"reference": "111e7ed617509f1a9139686055d234aad6e388e0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4324,7 +4330,7 @@
|
||||
"reflection"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/property-access/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/property-access/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4340,20 +4346,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/property-info",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/property-info.git",
|
||||
"reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2"
|
||||
"reference": "a0396295ad585f95fccd690bc6a281e5bd303902"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/2c96c24961cab73bdc9020809bd82bdadd1a10f2",
|
||||
"reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2",
|
||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/a0396295ad585f95fccd690bc6a281e5bd303902",
|
||||
"reference": "a0396295ad585f95fccd690bc6a281e5bd303902",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4370,7 +4376,7 @@
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^1.10.4|^2",
|
||||
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
|
||||
"phpstan/phpdoc-parser": "^1.0",
|
||||
"phpstan/phpdoc-parser": "^1.0|^2.0",
|
||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
||||
"symfony/serializer": "^4.4|^5.0|^6.0"
|
||||
@ -4415,7 +4421,7 @@
|
||||
"validator"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/property-info/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/property-info/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4431,7 +4437,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-09T07:25:10+00:00"
|
||||
"time": "2024-11-25T16:14:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/psr-http-message-bridge",
|
||||
@ -4524,16 +4530,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/rate-limiter",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.47",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/rate-limiter.git",
|
||||
"reference": "b3de902fc83923b9121169ade2453c41d0819110"
|
||||
"reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/b3de902fc83923b9121169ade2453c41d0819110",
|
||||
"reference": "b3de902fc83923b9121169ade2453c41d0819110",
|
||||
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
|
||||
"reference": "c902bf796ca6c9656c3cc8185b53afb9acbb7c72",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4574,7 +4580,7 @@
|
||||
"rate-limiter"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/rate-limiter/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/rate-limiter/tree/v5.4.47"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4590,20 +4596,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-07T11:51:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "6df1dd8b306649303267a760699cf04cf39b1f7b"
|
||||
"reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b",
|
||||
"reference": "6df1dd8b306649303267a760699cf04cf39b1f7b",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
|
||||
"reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4664,7 +4670,7 @@
|
||||
"url"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/routing/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/routing/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4680,20 +4686,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-12T18:20:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/runtime",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.46",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/runtime.git",
|
||||
"reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde"
|
||||
"reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/runtime/zipball/50096d4ebebb4f9c41b87695868a6e34bdbf7cde",
|
||||
"reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde",
|
||||
"url": "https://api.github.com/repos/symfony/runtime/zipball/242b4d773c004fa258e1b412f3f49fc2ac78353a",
|
||||
"reference": "242b4d773c004fa258e1b412f3f49fc2ac78353a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4744,7 +4750,7 @@
|
||||
"runtime"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/runtime/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/runtime/tree/v5.4.46"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4760,27 +4766,27 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-06T08:58:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/security-bundle",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/security-bundle.git",
|
||||
"reference": "86557f237fb152412048912660895ab86aa61494"
|
||||
"reference": "d6081d1b9118f944df90bb77444a8617eba01542"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/86557f237fb152412048912660895ab86aa61494",
|
||||
"reference": "86557f237fb152412048912660895ab86aa61494",
|
||||
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/d6081d1b9118f944df90bb77444a8617eba01542",
|
||||
"reference": "d6081d1b9118f944df90bb77444a8617eba01542",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-xml": "*",
|
||||
"php": ">=7.2.5",
|
||||
"symfony/config": "^4.4|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^5.3|^6.0",
|
||||
"symfony/dependency-injection": "^5.4.43|^6.4.11",
|
||||
"symfony/deprecation-contracts": "^2.1|^3",
|
||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
||||
"symfony/http-foundation": "^5.3|^6.0",
|
||||
@ -4847,7 +4853,7 @@
|
||||
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/security-bundle/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/security-bundle/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4863,20 +4869,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-21T13:58:36+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/security-core",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/security-core.git",
|
||||
"reference": "98789f9a01db2168079fa973358ddc4deb6a0da8"
|
||||
"reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/security-core/zipball/98789f9a01db2168079fa973358ddc4deb6a0da8",
|
||||
"reference": "98789f9a01db2168079fa973358ddc4deb6a0da8",
|
||||
"url": "https://api.github.com/repos/symfony/security-core/zipball/cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
|
||||
"reference": "cca947b1a74bdbc21c4d6288a4abb938d9a7eaba",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -4941,7 +4947,7 @@
|
||||
"description": "Symfony Security Component - Core Library",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/security-core/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/security-core/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4957,20 +4963,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T07:24:26+00:00"
|
||||
"time": "2024-11-27T08:58:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/security-csrf",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/security-csrf.git",
|
||||
"reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028"
|
||||
"reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028",
|
||||
"reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028",
|
||||
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/28dcafc3220f12264bb2aabe2389a2163458c1f4",
|
||||
"reference": "28dcafc3220f12264bb2aabe2389a2163458c1f4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5014,7 +5020,7 @@
|
||||
"description": "Symfony Security Component - CSRF Library",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/security-csrf/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/security-csrf/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5030,20 +5036,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/security-guard",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/security-guard.git",
|
||||
"reference": "d930fd327c290f451c9d8dd7889169195d4484e9"
|
||||
"reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/security-guard/zipball/d930fd327c290f451c9d8dd7889169195d4484e9",
|
||||
"reference": "d930fd327c290f451c9d8dd7889169195d4484e9",
|
||||
"url": "https://api.github.com/repos/symfony/security-guard/zipball/f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
|
||||
"reference": "f3da3dbec38aaedaf287ffeb4e3a90994af37faa",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5082,7 +5088,7 @@
|
||||
"description": "Symfony Security Component - Guard",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/security-guard/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/security-guard/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5098,20 +5104,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/security-http",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.47",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/security-http.git",
|
||||
"reference": "14d271e304dce13ae77e39e6a6353c986e756b40"
|
||||
"reference": "cde02b002e0447075430e6a84482e38f2fd9268d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/security-http/zipball/14d271e304dce13ae77e39e6a6353c986e756b40",
|
||||
"reference": "14d271e304dce13ae77e39e6a6353c986e756b40",
|
||||
"url": "https://api.github.com/repos/symfony/security-http/zipball/cde02b002e0447075430e6a84482e38f2fd9268d",
|
||||
"reference": "cde02b002e0447075430e6a84482e38f2fd9268d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5168,7 +5174,7 @@
|
||||
"description": "Symfony Security Component - HTTP Integration",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/security-http/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/security-http/tree/v5.4.47"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5184,20 +5190,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-17T05:58:45+00:00"
|
||||
"time": "2024-11-07T14:12:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
"version": "v2.5.3",
|
||||
"version": "v2.5.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/service-contracts.git",
|
||||
"reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3"
|
||||
"reference": "f37b419f7aea2e9abf10abd261832cace12e3300"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3",
|
||||
"reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3",
|
||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300",
|
||||
"reference": "f37b419f7aea2e9abf10abd261832cace12e3300",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5213,12 +5219,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -5251,7 +5257,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.3"
|
||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5267,20 +5273,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-21T15:04:16+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.47",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096"
|
||||
"reference": "136ca7d72f72b599f2631aca474a4f8e26719799"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/065a9611e0b1fd2197a867e1fb7f2238191b7096",
|
||||
"reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799",
|
||||
"reference": "136ca7d72f72b599f2631aca474a4f8e26719799",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5337,7 +5343,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/string/tree/v5.4.47"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5353,20 +5359,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T09:20:55+00:00"
|
||||
"time": "2024-11-10T20:33:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8"
|
||||
"reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8",
|
||||
"reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed",
|
||||
"reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5434,7 +5440,7 @@
|
||||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/translation/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5450,20 +5456,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
"version": "v2.5.3",
|
||||
"version": "v2.5.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation-contracts.git",
|
||||
"reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664"
|
||||
"reference": "450d4172653f38818657022252f9d81be89ee9a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664",
|
||||
"reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664",
|
||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/450d4172653f38818657022252f9d81be89ee9a8",
|
||||
"reference": "450d4172653f38818657022252f9d81be89ee9a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5474,12 +5480,12 @@
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/contracts",
|
||||
"name": "symfony/contracts"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "2.5-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -5512,7 +5518,7 @@
|
||||
"standards"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.3"
|
||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5528,20 +5534,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-01-23T13:51:25+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/twig-bridge",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/twig-bridge.git",
|
||||
"reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9"
|
||||
"reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d7b10dad12c49863c20c7f8e4cc74b9416eefbb9",
|
||||
"reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/853a0c9aa40123a9feeb335c865b659d94e49e5d",
|
||||
"reference": "853a0c9aa40123a9feeb335c865b659d94e49e5d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5633,7 +5639,7 @@
|
||||
"description": "Provides integration for Twig with various Symfony components",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/twig-bridge/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/twig-bridge/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5649,20 +5655,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-09T18:59:35+00:00"
|
||||
"time": "2024-11-22T08:19:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/twig-bundle",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/twig-bundle.git",
|
||||
"reference": "997c002735c88b50a6325cca8ecf3d8723902666"
|
||||
"reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666",
|
||||
"reference": "997c002735c88b50a6325cca8ecf3d8723902666",
|
||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
|
||||
"reference": "e1ca56e1dc7791eb19f0aff71d3d94e6a91cc8f9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5723,7 +5729,7 @@
|
||||
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5739,20 +5745,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/validator",
|
||||
"version": "v5.4.41",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/validator.git",
|
||||
"reference": "e00b2547f712a97755933db45efc03123b2d2690"
|
||||
"reference": "883667679d93d6c30f1b7490d669801712d3be2f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/validator/zipball/e00b2547f712a97755933db45efc03123b2d2690",
|
||||
"reference": "e00b2547f712a97755933db45efc03123b2d2690",
|
||||
"url": "https://api.github.com/repos/symfony/validator/zipball/883667679d93d6c30f1b7490d669801712d3be2f",
|
||||
"reference": "883667679d93d6c30f1b7490d669801712d3be2f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5792,7 +5798,7 @@
|
||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
||||
"symfony/mime": "^4.4|^5.0|^6.0",
|
||||
"symfony/property-access": "^4.4|^5.0|^6.0",
|
||||
"symfony/property-access": "^5.4|^6.0",
|
||||
"symfony/property-info": "^5.3|^6.0",
|
||||
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
|
||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
||||
@ -5836,7 +5842,7 @@
|
||||
"description": "Provides tools to validate values",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/validator/tree/v5.4.41"
|
||||
"source": "https://github.com/symfony/validator/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5852,20 +5858,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-10T09:18:21+00:00"
|
||||
"time": "2024-11-27T08:58:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93"
|
||||
"reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93",
|
||||
"reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/42f18f170aa86d612c3559cfb3bd11a375df32c8",
|
||||
"reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5925,7 +5931,7 @@
|
||||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5941,20 +5947,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-08T15:21:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-exporter",
|
||||
"version": "v6.4.9",
|
||||
"version": "v6.4.20",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-exporter.git",
|
||||
"reference": "f9a060622e0d93777b7f8687ec4860191e16802e"
|
||||
"reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e",
|
||||
"reference": "f9a060622e0d93777b7f8687ec4860191e16802e",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
|
||||
"reference": "998df255e9e6a15a36ae35e9c6cd818c17cf92a2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6002,7 +6008,7 @@
|
||||
"serialize"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.9"
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.20"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6018,20 +6024,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-24T15:53:56+00:00"
|
||||
"time": "2025-03-13T09:55:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/web-profiler-bundle",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.48",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
||||
"reference": "a29669617c4e63785f363571a190a706b9022890"
|
||||
"reference": "4afb0399456b966be92410d2bbd6146cc3ce2174"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a29669617c4e63785f363571a190a706b9022890",
|
||||
"reference": "a29669617c4e63785f363571a190a706b9022890",
|
||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/4afb0399456b966be92410d2bbd6146cc3ce2174",
|
||||
"reference": "4afb0399456b966be92410d2bbd6146cc3ce2174",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6082,7 +6088,7 @@
|
||||
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.48"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6098,7 +6104,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-11-19T09:26:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/webpack-encore-bundle",
|
||||
@ -6133,8 +6139,8 @@
|
||||
"type": "symfony-bundle",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"name": "symfony/webpack-encore",
|
||||
"url": "https://github.com/symfony/webpack-encore"
|
||||
"url": "https://github.com/symfony/webpack-encore",
|
||||
"name": "symfony/webpack-encore"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@ -6175,16 +6181,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v5.4.40",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83"
|
||||
"reference": "a454d47278cc16a5db371fe73ae66a78a633371e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/81cad0ceab3d61fe14fe941ff18a230ac9c80f83",
|
||||
"reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/a454d47278cc16a5db371fe73ae66a78a633371e",
|
||||
"reference": "a454d47278cc16a5db371fe73ae66a78a633371e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -6230,7 +6236,7 @@
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.40"
|
||||
"source": "https://github.com/symfony/yaml/tree/v5.4.45"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6246,30 +6252,30 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T14:33:22+00:00"
|
||||
"time": "2024-09-25T14:11:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v3.10.3",
|
||||
"version": "v3.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572"
|
||||
"reference": "3468920399451a384bef53cf7996965f7cd40183"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572",
|
||||
"reference": "67f29781ffafa520b0bbfbd8384674b42db04572",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
|
||||
"reference": "3468920399451a384bef53cf7996965f7cd40183",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.5",
|
||||
"php": ">=8.1.0",
|
||||
"symfony/deprecation-contracts": "^2.5|^3",
|
||||
"symfony/polyfill-ctype": "^1.8",
|
||||
"symfony/polyfill-mbstring": "^1.3",
|
||||
"symfony/polyfill-php80": "^1.22"
|
||||
"symfony/polyfill-mbstring": "^1.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"psr/container": "^1.0|^2.0",
|
||||
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
|
||||
},
|
||||
@ -6313,7 +6319,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/twigphp/Twig/issues",
|
||||
"source": "https://github.com/twigphp/Twig/tree/v3.10.3"
|
||||
"source": "https://github.com/twigphp/Twig/tree/v3.20.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6325,13 +6331,93 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-16T10:04:27+00:00"
|
||||
"time": "2025-02-13T08:34:43+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "symfony/debug-bundle",
|
||||
"version": "v5.4.45",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/debug-bundle.git",
|
||||
"reference": "653c7629d036ef24ac5de54a157aecdc400d2570"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/653c7629d036ef24ac5de54a157aecdc400d2570",
|
||||
"reference": "653c7629d036ef24ac5de54a157aecdc400d2570",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-xml": "*",
|
||||
"php": ">=7.2.5",
|
||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
||||
"symfony/polyfill-php80": "^1.16",
|
||||
"symfony/twig-bridge": "^4.4|^5.0|^6.0",
|
||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/config": "<4.4",
|
||||
"symfony/dependency-injection": "<5.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/config": "^4.4|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
||||
"symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/config": "For service container configuration",
|
||||
"symfony/dependency-injection": "For using as a service from the container"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Bundle\\DebugBundle\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/debug-bundle/tree/v5.4.45"
|
||||
},
|
||||
"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-25T14:11:13+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"stability-flags": {},
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
@ -6339,6 +6425,6 @@
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"platform-dev": {},
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
@ -7,4 +7,5 @@ return [
|
||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
|
||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||
];
|
||||
|
5
config/packages/debug.yaml
Normal file
5
config/packages/debug.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
when@dev:
|
||||
debug:
|
||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||
# See the "server:dump" command to start a new server.
|
||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
@ -5,6 +5,7 @@ twig:
|
||||
default_path: "%kernel.project_dir%/templates"
|
||||
form_themes:
|
||||
- "bootstrap_5_layout.html.twig"
|
||||
- "altcha.html.twig"
|
||||
when@test:
|
||||
twig:
|
||||
strict_variables: true
|
||||
|
@ -75,3 +75,23 @@ services:
|
||||
$securityPattern: '%security_pattern%'
|
||||
# add more service definitions when explicit configuration is needed
|
||||
# please note that last definitions always *replace* previous ones
|
||||
|
||||
App\Altcha\Form\AltchaType:
|
||||
arguments:
|
||||
$altchaHost: "%env(ALTCHA_HOST)%"
|
||||
$altchaBaseUrl: "%env(ALTCHA_BASE_URL)%"
|
||||
$altchaDebug: "%env(bool:ALTCHA_DEBUG)%"
|
||||
$altchaWorkers: "%env(ALTCHA_WORKERS)%"
|
||||
$altchaDelay: "%env(ALTCHA_DELAY)%"
|
||||
$altchaMockError: "%env(bool:ALTCHA_MOCK_ERROR)%"
|
||||
tags:
|
||||
- { name: form.type, alias: altcha}
|
||||
|
||||
App\Form\LoginType:
|
||||
arguments:
|
||||
$altchaEnabled: "%env(bool:ALTCHA_ENABLED)%"
|
||||
|
||||
App\Altcha\AltchaValidator:
|
||||
arguments:
|
||||
$altchaHost: "%env(ALTCHA_HOST)%"
|
||||
$altchaBaseUrl: "%env(ALTCHA_BASE_URL)%"
|
||||
|
@ -13,12 +13,7 @@ services:
|
||||
ports:
|
||||
- 8082:8071
|
||||
volumes:
|
||||
- ./src:/app/src
|
||||
- ./config:/app/config
|
||||
- ./translations:/app/translations
|
||||
- ./templates:/app/templates
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- $HOME/.ssh:/root/.host-ssh:ro
|
||||
- .:/app
|
||||
tmpfs:
|
||||
- /var/www/var/logs:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
||||
- /var/www/var/cache:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
||||
@ -26,12 +21,14 @@ services:
|
||||
- /tmp
|
||||
links:
|
||||
- hydra
|
||||
depends_on:
|
||||
- redis
|
||||
extra_hosts:
|
||||
- "localhost:127.0.0.1"
|
||||
- "localhost:host-gateway"
|
||||
- "host.docker.internal:host-gateway"
|
||||
environment:
|
||||
- APP_ENV=prod
|
||||
- APP_ENV=dev
|
||||
- PHP_FPM_MEMORY_LIMIT=128m
|
||||
- APP_LOCALES=fr,en
|
||||
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
||||
@ -139,6 +136,11 @@ services:
|
||||
- TZ=Europe/Paris
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
|
||||
altcha:
|
||||
image: reg.cadoles.com/cadoles/altcha:2024.10.29-develop.1213.22e038b
|
||||
environment:
|
||||
ALTCHA_HMAC_KEY: 'change_me'
|
||||
volumes:
|
||||
postgres:
|
||||
mariadb:
|
||||
|
@ -10,7 +10,8 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
||||
php81-soap=${PHP_PKG_VERSION} \
|
||||
php81-ldap=${PHP_PKG_VERSION} \
|
||||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||
php81-bcmath=${PHP_PKG_VERSION}"
|
||||
php81-bcmath=${PHP_PKG_VERSION} \
|
||||
php81-pecl-xdebug"
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2024.7.25-stable.959.7896915
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2024.10.4-stable.1529.b630c69
|
||||
RUN chown 1000:www-data -R /app
|
||||
|
@ -10,8 +10,9 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
||||
php81-soap=${PHP_PKG_VERSION} \
|
||||
php81-ldap=${PHP_PKG_VERSION} \
|
||||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||
php81-bcmath=${PHP_PKG_VERSION}"
|
||||
php81-bcmath=${PHP_PKG_VERSION} \
|
||||
php81-pecl-xdebug"
|
||||
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2024.7.25-stable.959.7896915
|
||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2024.10.4-stable.1529.b630c69
|
||||
RUN chown 1000:www-data -R /app
|
||||
USER www-data
|
||||
|
6178
package-lock.json
generated
6178
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -2,13 +2,12 @@
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.17.0",
|
||||
"@babel/preset-env": "^7.16.0",
|
||||
"@hotwired/stimulus": "^3.0.0",
|
||||
"@symfony/stimulus-bridge": "^3.2.0",
|
||||
"@symfony/webpack-encore": "^4.1.2",
|
||||
"core-js": "^3.23.0",
|
||||
"regenerator-runtime": "^0.13.9",
|
||||
"webpack": "^5.91.0",
|
||||
"webpack": "^5.94.0",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"webpack-notifier": "^1.15.0"
|
||||
},
|
||||
"license": "UNLICENSED",
|
||||
@ -26,6 +25,7 @@
|
||||
"jquery": "^3.6.1",
|
||||
"postcss-loader": "^7.0.2",
|
||||
"sass": "^1.56.2",
|
||||
"sass-loader": "^13.2.0"
|
||||
"sass-loader": "^13.2.0",
|
||||
"altcha": "^1.0.0"
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,30 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap v5.2.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.3.9
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright JS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://js.foundation/
|
||||
*
|
||||
* Date: 2022-12-19
|
||||
*/
|
||||
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.6.3
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2022-12-20T21:28Z
|
||||
*/
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(self.webpackChunk=self.webpackChunk||[]).push([[143],{4180:(t,e,r)=>{var n={"./hello_controller.js":4695};function o(t){var e=i(t);return r(e)}function i(t){if(!r.o(n,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}o.keys=function(){return Object.keys(n)},o.resolve=i,t.exports=o,o.id=4180},8205:(t,e,r)=>{"use strict";r.d(e,{Z:()=>n});const n={}},4695:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>s});r(8304),r(4812),r(489),r(1539),r(2419),r(8011),r(9070),r(6649),r(6078),r(2526),r(1817),r(9653),r(2165),r(6992),r(8783),r(3948);function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,(i=o.key,u=void 0,u=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===n(u)?u:String(u)),o)}var i,u}function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=l(t);if(e){var o=l(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return f(this,r)}}function f(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}var s=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&u(t,e)}(l,t);var e,r,n,f=c(l);function l(){return o(this,l),f.apply(this,arguments)}return e=l,(r=[{key:"connect",value:function(){this.element.textContent="Hello Stimulus! Edit me in assets/controllers/hello_controller.js"}}])&&i(e.prototype,r),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),l}(r(6599).Qr)},9437:(t,e,r)=>{"use strict";(0,r(2192).x)(r(4180))}},t=>{t.O(0,[3],(()=>{return e=9437,t(t.s=e);var e}));t.O()}]);
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[524],{28:(e,s,u)=>{u(953)}},e=>{e.O(0,[953],(()=>{return s=28,e(e.s=s);var s}));e.O()}]);
|
2
public/build/app/bootstrap-css.js
vendored
2
public/build/app/bootstrap-css.js
vendored
@ -1 +1 @@
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[113],{9218:()=>{}},s=>{var e;e=9218,s(s.s=e)}]);
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[505],{843:()=>{}},s=>{var e;e=843,s(s.s=e)}]);
|
2
public/build/app/bootstrap-js.js
vendored
2
public/build/app/bootstrap-js.js
vendored
@ -1 +1 @@
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[144],{2576:(e,s,u)=>{u(3138)}},e=>{e.O(0,[138],(()=>{return s=2576,e(e.s=s);var s}));e.O()}]);
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[513],{675:(e,s,u)=>{u(336)}},e=>{e.O(0,[336],(()=>{return s=675,e(e.s=s);var s}));e.O()}]);
|
@ -3,7 +3,7 @@
|
||||
"app": {
|
||||
"js": [
|
||||
"/build/app/runtime.js",
|
||||
"/build/app/3.js",
|
||||
"/build/app/953.js",
|
||||
"/build/app/app.js"
|
||||
],
|
||||
"css": [
|
||||
@ -22,7 +22,7 @@
|
||||
"bootstrap-js": {
|
||||
"js": [
|
||||
"/build/app/runtime.js",
|
||||
"/build/app/138.js",
|
||||
"/build/app/336.js",
|
||||
"/build/app/bootstrap-js.js"
|
||||
]
|
||||
}
|
||||
|
@ -5,6 +5,6 @@
|
||||
"build/app/bootstrap-css.js": "/build/app/bootstrap-css.js",
|
||||
"build/app/bootstrap-js.js": "/build/app/bootstrap-js.js",
|
||||
"build/app/runtime.js": "/build/app/runtime.js",
|
||||
"build/app/3.js": "/build/app/3.js",
|
||||
"build/app/138.js": "/build/app/138.js"
|
||||
"build/app/336.js": "/build/app/336.js",
|
||||
"build/app/953.js": "/build/app/953.js"
|
||||
}
|
@ -1 +1 @@
|
||||
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e].call(i.exports,i,i.exports,o),i.exports}o.m=r,e=[],o.O=(r,t,n,i)=>{if(!t){var l=1/0;for(s=0;s<e.length;s++){for(var[t,n,i]=e[s],a=!0,u=0;u<t.length;u++)(!1&i||l>=i)&&Object.keys(o.O).every((e=>o.O[e](t[u])))?t.splice(u--,1):(a=!1,i<l&&(l=i));if(a){e.splice(s--,1);var f=n();void 0!==f&&(r=f)}}return r}i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];e[s]=[t,n,i]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,i,[l,a,u]=t,f=0;if(l.some((r=>0!==e[r]))){for(n in a)o.o(a,n)&&(o.m[n]=a[n]);if(u)var s=u(o)}for(r&&r(t);f<l.length;f++)i=l[f],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(s)},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();
|
||||
(()=>{"use strict";var e,r={},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var l=o[e]={exports:{}};return r[e].call(l.exports,l,l.exports,t),l.exports}t.m=r,e=[],t.O=(r,o,n,l)=>{if(!o){var a=1/0;for(u=0;u<e.length;u++){for(var[o,n,l]=e[u],i=!0,f=0;f<o.length;f++)(!1&l||a>=l)&&Object.keys(t.O).every((e=>t.O[e](o[f])))?o.splice(f--,1):(i=!1,l<a&&(a=l));if(i){e.splice(u--,1);var p=n();void 0!==p&&(r=p)}}return r}l=l||0;for(var u=e.length;u>0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[o,n,l]},t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={121:0};t.O.j=r=>0===e[r];var r=(r,o)=>{var n,l,[a,i,f]=o,p=0;if(a.some((r=>0!==e[r]))){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(f)var u=f(t)}for(r&&r(o);p<a.length;p++)l=a[p],t.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return t.O(u)},o=self.webpackChunk=self.webpackChunk||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})()})();
|
@ -3,11 +3,28 @@
|
||||
"theme": {
|
||||
"js": [
|
||||
"/build/theme/runtime.js",
|
||||
"/build/theme/869.js",
|
||||
"/build/theme/theme.js"
|
||||
],
|
||||
"css": [
|
||||
"/build/theme/theme.css"
|
||||
]
|
||||
},
|
||||
"bootstrap-css": {
|
||||
"js": [
|
||||
"/build/theme/runtime.js",
|
||||
"/build/theme/bootstrap-css.js"
|
||||
],
|
||||
"css": [
|
||||
"/build/theme/bootstrap-css.css"
|
||||
]
|
||||
},
|
||||
"bootstrap-js": {
|
||||
"js": [
|
||||
"/build/theme/runtime.js",
|
||||
"/build/theme/336.js",
|
||||
"/build/theme/bootstrap-js.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,27 @@
|
||||
{
|
||||
"build/theme/theme.css": "/build/theme/theme.css",
|
||||
"build/theme/theme.js": "/build/theme/theme.js",
|
||||
"build/theme/runtime.js": "/build/theme/runtime.js"
|
||||
"build/theme/bootstrap-css.css": "/build/theme/bootstrap-css.css",
|
||||
"build/theme/bootstrap-css.js": "/build/theme/bootstrap-css.js",
|
||||
"build/theme/bootstrap-js.js": "/build/theme/bootstrap-js.js",
|
||||
"build/theme/runtime.js": "/build/theme/runtime.js",
|
||||
"build/theme/869.js": "/build/theme/869.js",
|
||||
"build/theme/336.js": "/build/theme/336.js",
|
||||
"build/theme/images/oswald-regular-webfont.svg": "/build/theme/images/oswald-regular-webfont.03cdd684.svg",
|
||||
"build/theme/images/oswald-bold-webfont.svg": "/build/theme/images/oswald-bold-webfont.9a1ed0ec.svg",
|
||||
"build/theme/fonts/oswald-regular-webfont.ttf": "/build/theme/fonts/oswald-regular-webfont.c8502113.ttf",
|
||||
"build/theme/fonts/oswald-bold-webfont.ttf": "/build/theme/fonts/oswald-bold-webfont.53c08c7b.ttf",
|
||||
"build/theme/fonts/oswald-regular-webfont.woff": "/build/theme/fonts/oswald-regular-webfont.9e86c28e.woff",
|
||||
"build/theme/fonts/oswald-bold-webfont.woff": "/build/theme/fonts/oswald-bold-webfont.fec2b538.woff",
|
||||
"build/theme/fonts/oswald-regular-webfont.eot": "/build/theme/fonts/oswald-regular-webfont.edc12574.eot",
|
||||
"build/theme/fonts/oswald-bold-webfont.eot": "/build/theme/fonts/oswald-bold-webfont.8f109a09.eot",
|
||||
"build/theme/fonts/oswald-regular-webfont.woff2": "/build/theme/fonts/oswald-regular-webfont.009d0db9.woff2",
|
||||
"build/theme/fonts/oswald-bold-webfont.woff2": "/build/theme/fonts/oswald-bold-webfont.6747e0fa.woff2",
|
||||
"build/theme/images/franceconnect-fr-hover.png": "/build/theme/images/franceconnect-fr-hover.c0795590.png",
|
||||
"build/theme/images/franceconnect-en-hover.png": "/build/theme/images/franceconnect-en-hover.bcc1e2f3.png",
|
||||
"build/theme/images/MSEConnect-hover-fr.png": "/build/theme/images/MSEConnect-hover-fr.81c82e3e.png",
|
||||
"build/theme/images/MSEConnect-hover-en.png": "/build/theme/images/MSEConnect-hover-en.32a6d3eb.png",
|
||||
"build/theme/images/instagram-hover.png": "/build/theme/images/instagram-hover.5965b4e3.png",
|
||||
"build/theme/images/x-hover.png": "/build/theme/images/x-hover.759179b7.png",
|
||||
"build/theme/images/facebook-hover.png": "/build/theme/images/facebook-hover.4a346412.png"
|
||||
}
|
@ -1 +1 @@
|
||||
(()=>{"use strict";var e,r={},o={};function t(e){var n=o[e];if(void 0!==n)return n.exports;var l=o[e]={exports:{}};return r[e](l,l.exports,t),l.exports}t.m=r,e=[],t.O=(r,o,n,l)=>{if(!o){var a=1/0;for(p=0;p<e.length;p++){for(var[o,n,l]=e[p],i=!0,f=0;f<o.length;f++)(!1&l||a>=l)&&Object.keys(t.O).every((e=>t.O[e](o[f])))?o.splice(f--,1):(i=!1,l<a&&(a=l));if(i){e.splice(p--,1);var u=n();void 0!==u&&(r=u)}}return r}l=l||0;for(var p=e.length;p>0&&e[p-1][2]>l;p--)e[p]=e[p-1];e[p]=[o,n,l]},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};t.O.j=r=>0===e[r];var r=(r,o)=>{var n,l,[a,i,f]=o,u=0;if(a.some((r=>0!==e[r]))){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(f)var p=f(t)}for(r&&r(o);u<a.length;u++)l=a[u],t.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return t.O(p)},o=self.webpackChunk=self.webpackChunk||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})()})();
|
||||
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,o),i.exports}o.m=r,e=[],o.O=(r,t,n,i)=>{if(!t){var l=1/0;for(s=0;s<e.length;s++){for(var[t,n,i]=e[s],a=!0,f=0;f<t.length;f++)(!1&i||l>=i)&&Object.keys(o.O).every((e=>o.O[e](t[f])))?t.splice(f--,1):(a=!1,i<l&&(l=i));if(a){e.splice(s--,1);var u=n();void 0!==u&&(r=u)}}return r}i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];e[s]=[t,n,i]},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={121:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,i,[l,a,f]=t,u=0;if(l.some((r=>0!==e[r]))){for(n in a)o.o(a,n)&&(o.m[n]=a[n]);if(f)var s=f(o)}for(r&&r(t);u<l.length;u++)i=l[u],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(s)},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
(self.webpackChunk=self.webpackChunk||[]).push([[505],{755:(s,e,k)=>{k(634),k(681)},634:()=>{},681:(s,e,k)=>{"use strict";k.r(e)}},s=>{var e;e=755,s(s.s=e)}]);
|
||||
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[694],{5895:(e,t,n)=>{n(8953),n(8476),n(5086),n(9389),n(557),n(9693);document.addEventListener("DOMContentLoaded",(function(){[].forEach.call(document.querySelectorAll(".language-change"),(function(e){e.addEventListener("click",(function(t){t.preventDefault();var n=e.getAttribute("data-lang");return function(e){for(var t=e+"=",n=document.cookie.split(";"),r=0;r<n.length;r++){for(var a=n[r];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(t))return a.substring(t.length,a.length)}return null}("mselang")!=n&&(function(e,t,n){var r="";if(n){var a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3),r="; expires="+a.toUTCString()}for(var o=window.location.hostname.split(".").reverse(),i="",l=o.length-1;l>=0;l--)i+=o[l],l>0&&(i+=".");document.cookie=e+"="+(t||"")+r+"; path=/; domain="+i}("mselang",n,!1),location.reload()),!1}))}));var e=document.forms.login,t=document.getElementById("loader");e.addEventListener("submit",(function(e){t.style.display="flex"}))}))}},e=>{e.O(0,[869],(()=>{return t=5895,e(e.s=t);var t}));e.O()}]);
|
@ -46,6 +46,7 @@ Elle permet de se connecter à une base de donnée et de vérifier un mot de pas
|
||||
| `PHP_FPM_PM_MIN_SPARE_SERVERS` | Définition du nombre minimum de processus enfants inactifs que PHP-FPM doit conserver en réserve. | 1 | |
|
||||
| `PHP_FPM_PM_MAX_SPARE_SERVERS` | Définition du nombre maximum de processus enfants inactifs que PHP-FPM peut conserver en réserve. | 3 | |
|
||||
| `XDG_DATA_HOME` | Définition du répertoire de base pour le stockage des données spécifiques à l'utilisateur. | /tmp/data | |
|
||||
| `ALTCHA_ENABLED` | Désactivation d'altcha lors de la connexion | true | |
|
||||
|
||||
### Algorithmes de hashage compatibles
|
||||
|
||||
@ -109,3 +110,10 @@ ex : `'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sen
|
||||
| `postgres` | Base de donnée postgres support du test et pour hydra | `5432` |
|
||||
| `mariadb` | Base de donnée mariadb support du test | `3306` |
|
||||
| `pgadmin` | pour administrer la base de donnée | `8085` |
|
||||
|
||||
### build du sql theme
|
||||
|
||||
copier les images et les fonts dans les dossier ./assets
|
||||
modifier si besoin le fichier theme-entrypoints.js
|
||||
|
||||
lancer un `npm run build`
|
48
src/Altcha/AltchaTransformer.php
Normal file
48
src/Altcha/AltchaTransformer.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Altcha;
|
||||
|
||||
use App\Altcha\Form\AltchaModel;
|
||||
use Symfony\Component\Form\DataTransformerInterface;
|
||||
|
||||
class AltchaTransformer implements DataTransformerInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function reverseTransform($value): AltchaModel
|
||||
{
|
||||
if (empty($value)) {
|
||||
return new AltchaModel();
|
||||
}
|
||||
|
||||
$decodedValue = base64_decode($value);
|
||||
$data = json_decode($decodedValue);
|
||||
|
||||
$model = new AltchaModel();
|
||||
|
||||
foreach ($data as $property => $value) {
|
||||
$model->{$property} = $value;
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function transform($value): string
|
||||
{
|
||||
if (empty($value)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$json = json_encode($value);
|
||||
|
||||
if (false === $json) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return base64_encode($json);
|
||||
}
|
||||
}
|
52
src/Altcha/AltchaValidator.php
Normal file
52
src/Altcha/AltchaValidator.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace App\Altcha;
|
||||
|
||||
use Symfony\Component\Form\FormError;
|
||||
use Symfony\Component\Form\FormEvent;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
class AltchaValidator
|
||||
{
|
||||
public function __construct(
|
||||
private readonly string $altchaHost,
|
||||
private readonly string $altchaBaseUrl,
|
||||
private readonly HttpClientInterface $httpClient,
|
||||
private readonly TranslatorInterface $translator
|
||||
) {
|
||||
}
|
||||
|
||||
public function validate(FormEvent $formEvent): void
|
||||
{
|
||||
$form = $formEvent->getForm();
|
||||
$data = $form->getData();
|
||||
|
||||
$response = $this->httpClient->request(
|
||||
'POST',
|
||||
$this->altchaHost.$this->altchaBaseUrl.'/verify',
|
||||
[
|
||||
'body' => json_encode($data),
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
],
|
||||
);
|
||||
|
||||
if (Response::HTTP_OK !== $response->getStatusCode()) {
|
||||
$form->addError(new FormError($this->translator->trans('altcha.validator.server_validation_error', [], 'form')));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$content = $response->getContent();
|
||||
$parsedResponse = json_decode($content);
|
||||
|
||||
if (true !== $parsedResponse->success) {
|
||||
$form->addError(new FormError($this->translator->trans('altcha.validator.server_validation_error', [], 'form')));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
39
src/Altcha/Form/AltchaModel.php
Normal file
39
src/Altcha/Form/AltchaModel.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Altcha\Form;
|
||||
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
class AltchaModel
|
||||
{
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
* @Assert\Regex("/^(SHA-1|SHA-256|SHA-512)$/")
|
||||
*/
|
||||
public string $algorithm;
|
||||
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
*/
|
||||
public string $challenge;
|
||||
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
*/
|
||||
public string $salt;
|
||||
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
*/
|
||||
public int $number;
|
||||
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
*/
|
||||
public string $signature;
|
||||
|
||||
/**
|
||||
* @Assert\NotBlank()
|
||||
*/
|
||||
public int $took;
|
||||
}
|
81
src/Altcha/Form/AltchaType.php
Normal file
81
src/Altcha/Form/AltchaType.php
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
namespace App\Altcha\Form;
|
||||
|
||||
use App\Altcha\AltchaTransformer;
|
||||
use App\Altcha\AltchaValidator;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\FormEvents;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
class AltchaType extends AbstractType
|
||||
{
|
||||
public function __construct(
|
||||
private readonly string $altchaHost,
|
||||
private readonly string $altchaBaseUrl,
|
||||
private readonly string $altchaDebug,
|
||||
private readonly string $altchaWorkers,
|
||||
private readonly string $altchaDelay,
|
||||
private readonly string $altchaMockError,
|
||||
private readonly AltchaValidator $altchaValidator,
|
||||
private readonly HttpClientInterface $httpClient,
|
||||
private readonly TranslatorInterface $translator
|
||||
) {
|
||||
}
|
||||
|
||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||
{
|
||||
$builder->addModelTransformer(new AltchaTransformer());
|
||||
|
||||
$builder->addEventListener(FormEvents::POST_SUBMIT, [$this->altchaValidator, 'validate']);
|
||||
}
|
||||
|
||||
public function buildView(FormView $view, FormInterface $form, array $options)
|
||||
{
|
||||
$translations = [
|
||||
'label' => $this->translator->trans('altcha.widget.label', [], 'form'),
|
||||
'verified' => $this->translator->trans('altcha.widget.verified', [], 'form'),
|
||||
'verifying' => $this->translator->trans('altcha.widget.verifying', [], 'form'),
|
||||
'waitAlert' => $this->translator->trans('altcha.widget.waitalert', [], 'form'),
|
||||
'error' => $this->translator->trans('altcha.widget.error', [], 'form'),
|
||||
'expired' => $this->translator->trans('altcha.widget.expired', [], 'form'),
|
||||
];
|
||||
$view->vars['translations'] = json_encode($translations);
|
||||
$view->vars['challengeJson'] = $this->requestChallenge();
|
||||
$view->vars['debug'] = $this->altchaDebug;
|
||||
$view->vars['workers'] = $this->altchaWorkers;
|
||||
$view->vars['delay'] = $this->altchaDelay;
|
||||
$view->vars['mockError'] = $this->altchaMockError;
|
||||
}
|
||||
|
||||
private function requestChallenge(): string
|
||||
{
|
||||
$resp = $this->httpClient->request('GET', $this->altchaHost.$this->altchaBaseUrl.'/request');
|
||||
if (Response::HTTP_OK === $resp->getStatusCode()) {
|
||||
return $resp->getContent();
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getParent(): string
|
||||
{
|
||||
return TextType::class;
|
||||
}
|
||||
|
||||
public function getName(): string
|
||||
{
|
||||
return $this->getBlockPrefix();
|
||||
}
|
||||
|
||||
public function getBlockPrefix(): string
|
||||
{
|
||||
return 'altcha';
|
||||
}
|
||||
}
|
@ -32,21 +32,9 @@ class SecurityController extends AbstractController
|
||||
$loginForm->addError(new FormError($trans->trans('error.login', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_LOGIN);
|
||||
}
|
||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_PDO)) {
|
||||
$loginForm->addError(new FormError($trans->trans('error.pdo', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_PDO);
|
||||
}
|
||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_CONFIGURATION)) {
|
||||
$loginForm->addError(new FormError($trans->trans('error.configuration', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_CONFIGURATION);
|
||||
}
|
||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_DATA_TO_FETCH_CONFIGURATION)) {
|
||||
$loginForm->addError(new FormError($trans->trans('error.data_to_fetch_configuration', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_DATA_TO_FETCH_CONFIGURATION);
|
||||
}
|
||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_SECURITY_PATTERN_CONFIGURATION)) {
|
||||
$loginForm->addError(new FormError($trans->trans('error.security_pattern_configuration', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_SECURITY_PATTERN_CONFIGURATION);
|
||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::TECHNICAL_ERROR)) {
|
||||
$loginForm->addError(new FormError($trans->trans('error.technical', [], 'messages')));
|
||||
$request->getSession()->remove(SQLLoginUserAuthenticator::TECHNICAL_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
namespace App\Form;
|
||||
|
||||
use App\Altcha\Form\AltchaType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
@ -11,6 +11,11 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class LoginType extends AbstractType
|
||||
{
|
||||
public function __construct(
|
||||
private readonly bool $altchaEnabled
|
||||
) {
|
||||
}
|
||||
|
||||
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||
{
|
||||
$builder
|
||||
@ -22,12 +27,15 @@ class LoginType extends AbstractType
|
||||
'translation_domain' => 'form',
|
||||
'label' => 'form.label.password',
|
||||
])
|
||||
->add('_remember_me', CheckboxType::class, [
|
||||
'required' => false,
|
||||
'translation_domain' => 'form',
|
||||
'label' => 'form.label.remember_me',
|
||||
])
|
||||
;
|
||||
|
||||
if ($this->altchaEnabled) {
|
||||
$builder->add('altcha', AltchaType::class, [
|
||||
'translation_domain' => 'form',
|
||||
'label' => 'altcha.widget.title',
|
||||
'required' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver): void
|
||||
|
@ -8,14 +8,17 @@ use Symfony\Contracts\HttpClient\ResponseInterface;
|
||||
|
||||
class Client
|
||||
{
|
||||
protected $client;
|
||||
private const MAX_RETRY = 3;
|
||||
private const SLEEP_TIME = [
|
||||
5,
|
||||
500,
|
||||
5000,
|
||||
];
|
||||
|
||||
protected $hydraAdminBaseUrl;
|
||||
|
||||
public function __construct(HttpClientInterface $client, string $hydraAdminBaseUrl)
|
||||
{
|
||||
$this->client = $client;
|
||||
$this->hydraAdminBaseUrl = $hydraAdminBaseUrl;
|
||||
public function __construct(
|
||||
private readonly HttpClientInterface $client,
|
||||
private readonly string $hydraAdminBaseUrl
|
||||
) {
|
||||
}
|
||||
|
||||
public function fetchLoginRequestInfo(string $loginChallenge): ResponseInterface
|
||||
@ -26,7 +29,7 @@ class Client
|
||||
[
|
||||
'query' => [
|
||||
'login_challenge' => $loginChallenge,
|
||||
]
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
@ -35,7 +38,6 @@ class Client
|
||||
throw new InvalidChallengeException();
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
@ -47,7 +49,7 @@ class Client
|
||||
[
|
||||
'query' => [
|
||||
'logout_challenge' => $logoutChallenge,
|
||||
]
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
@ -56,27 +58,38 @@ class Client
|
||||
throw new InvalidChallengeException();
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function fetchConsentRequestInfo(string $consentChallenge): ResponseInterface
|
||||
{
|
||||
$attempt = 0;
|
||||
while ($attempt < self::MAX_RETRY) {
|
||||
$response = $this->client->request(
|
||||
'GET',
|
||||
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/consent',
|
||||
[
|
||||
'query' => [
|
||||
'consent_challenge' => $consentChallenge,
|
||||
]
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
switch ($response->getStatusCode()) {
|
||||
$status = $response->getStatusCode();
|
||||
if (503 === $status) {
|
||||
++$attempt;
|
||||
usleep(1000 * self::SLEEP_TIME[$attempt] + rand(1, 5) * 1000);
|
||||
continue;
|
||||
}
|
||||
switch ($status) {
|
||||
case 404:
|
||||
throw new InvalidChallengeException();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
if (self::MAX_RETRY === $attempt) {
|
||||
throw new \Exception(sprintf('Fetch consent a rencontré une erreur %s après %s tentatives', $response->getStatusCode(), self::MAX_RETRY));
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
@ -91,7 +104,7 @@ class Client
|
||||
'login_challenge' => $loginChallenge,
|
||||
],
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json'
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
'body' => json_encode($payload),
|
||||
]
|
||||
@ -110,7 +123,7 @@ class Client
|
||||
'consent_challenge' => $consentChallenge,
|
||||
],
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json'
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
'body' => json_encode($payload),
|
||||
]
|
||||
@ -129,7 +142,7 @@ class Client
|
||||
'logout_challenge' => $logoutChallenge,
|
||||
],
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json'
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
]
|
||||
);
|
||||
|
@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
||||
|
||||
use Exception;
|
||||
|
||||
class DatabaseConnectionException extends Exception
|
||||
class EmptyResultException extends Exception
|
||||
{
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\SQLLogin\Exception;
|
||||
|
||||
use Exception;
|
||||
|
||||
class InvalidSQLLoginAlgoException extends Exception
|
||||
{
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\SQLLogin\Exception;
|
||||
|
||||
use Exception;
|
||||
|
||||
class LoginElementsConfigurationException extends Exception
|
||||
{
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\SQLLogin\Exception;
|
||||
|
||||
use Exception;
|
||||
|
||||
class NullPasswordColumnNameException extends Exception
|
||||
{
|
||||
}
|
@ -12,7 +12,6 @@ class SQLLoginConnect extends AbstractController
|
||||
/**
|
||||
* Méthode qui crée l'unique instance de la classe
|
||||
* si elle n'existe pas encore puis la retourne.
|
||||
*
|
||||
*/
|
||||
public static function getInstance(): SQLLoginConnect
|
||||
{
|
||||
|
@ -72,33 +72,37 @@ class SQLLoginRequest
|
||||
return $this->config[self::SUBJECT_REWRITE_EXPRESSION];
|
||||
}
|
||||
|
||||
public function getRequestScope(): string
|
||||
private function getDataFields(): array
|
||||
{
|
||||
$scope = '';
|
||||
if (!$this->config[self::DATA_TO_FETCH]) {
|
||||
throw new NullDataToFetchException();
|
||||
}
|
||||
|
||||
foreach ($this->config[self::DATA_TO_FETCH] as $data) {
|
||||
$scope .= $data.',';
|
||||
}
|
||||
// On enlève la dernière virgule
|
||||
$scope = substr($scope, 0, -1);
|
||||
|
||||
return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
||||
return $this->config[self::DATA_TO_FETCH];
|
||||
}
|
||||
|
||||
/**
|
||||
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||
*/
|
||||
public function getRequestPassword(): string
|
||||
private function getPasswordFields(): array
|
||||
{
|
||||
$fields = $this->getPasswordColumnName();
|
||||
$fields[] = $this->getPasswordColumnName();
|
||||
if (!empty($this->getSaltColumnName())) {
|
||||
$fields .= ', '.$this->getSaltColumnName();
|
||||
$fields[] = $this->getSaltColumnName();
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||
*/
|
||||
public function getDatasRequest(): string
|
||||
{
|
||||
$fields = join(',', array_merge($this->getPasswordFields(), $this->getDataFields()));
|
||||
|
||||
return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
||||
}
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||
foreach ($this->securityPattern as $term) {
|
||||
if (self::PEPPER_PATTERN !== $term && self::PASSWORD_PATTERN !== $term && self::SALT_PATTERN !== $term) {
|
||||
$this->loggerInterface->critical('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||
throw new SecurityPatternConfigurationException();
|
||||
throw new SecurityPatternConfigurationException('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||
}
|
||||
}
|
||||
$completedPlainPassword = '';
|
||||
|
@ -5,12 +5,12 @@ namespace App\Security;
|
||||
use App\Entity\User;
|
||||
use App\Security\Hasher\PasswordEncoder;
|
||||
use App\Service\SQLLoginService;
|
||||
use App\SQLLogin\Exception\DatabaseConnectionException;
|
||||
use App\SQLLogin\Exception\DataToFetchConfigurationException;
|
||||
use App\SQLLogin\Exception\EmptyResultException;
|
||||
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
||||
use App\SQLLogin\Exception\LoginElementsConfigurationException;
|
||||
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
|
||||
use Exception;
|
||||
use App\SQLLogin\SQLLoginRequest;
|
||||
use PDOException;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||
@ -25,21 +25,20 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||
{
|
||||
public const LOGIN_ROUTE = 'app_login';
|
||||
public const ERROR_LOGIN = 'error_login';
|
||||
public const ERROR_PDO = 'error_pdo';
|
||||
public const ERROR_SQL_LOGIN = 'error_sql_login';
|
||||
public const ERROR_CONFIGURATION = 'error_configuration';
|
||||
public const ERROR_DATA_TO_FETCH_CONFIGURATION = 'error_data_to_fetch_configuration';
|
||||
public const ERROR_SECURITY_PATTERN_CONFIGURATION = 'error_security_pattern_configuration';
|
||||
public const TECHNICAL_ERROR = 'technical_error';
|
||||
|
||||
private string $baseUrl;
|
||||
private SQLLoginService $sqlLoginService;
|
||||
private PasswordEncoder $passwordHasher;
|
||||
|
||||
public function __construct(string $baseUrl, SQLLoginService $sqlLoginService, PasswordEncoder $passwordHasher)
|
||||
{
|
||||
public function __construct(
|
||||
string $baseUrl,
|
||||
private SQLLoginService $sqlLoginService,
|
||||
private PasswordEncoder $passwordHasher,
|
||||
private SQLLoginRequest $sqlLoginRequest
|
||||
) {
|
||||
$this->baseUrl = $baseUrl;
|
||||
$this->sqlLoginService = $sqlLoginService;
|
||||
$this->passwordHasher = $passwordHasher;
|
||||
$this->sqlLoginRequest = $sqlLoginRequest;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,29 +71,37 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||
$rememberMe = isset($form['_remember_me']) ? true : false;
|
||||
$session = $request->getSession();
|
||||
try {
|
||||
// requête préparée
|
||||
list($remoteHashedPassword, $remoteSalt) = $this->sqlLoginService->fetchPassword($login);
|
||||
} catch (DatabaseConnectionException $e) {
|
||||
$session->set(self::ERROR_PDO, true);
|
||||
$datas = $this->sqlLoginService->fetchPasswordAndDatas($login);
|
||||
} catch (EmptyResultException $e) {
|
||||
$session->set(self::ERROR_LOGIN, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (LoginElementsConfigurationException $e) {
|
||||
$session->set(self::ERROR_CONFIGURATION, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (Exception $exception) {
|
||||
$request->getSession()->set(self::ERROR_LOGIN, true);
|
||||
} catch (DataToFetchConfigurationException|PDOException $e) {
|
||||
\Sentry\captureException($e);
|
||||
$session->set(self::TECHNICAL_ERROR, true);
|
||||
throw new AuthenticationException();
|
||||
}
|
||||
|
||||
$remoteHashedPassword = $datas[$this->sqlLoginRequest->getPasswordColumnName()];
|
||||
unset($datas[$this->sqlLoginRequest->getPasswordColumnName()]);
|
||||
$remoteSalt = null;
|
||||
if ($this->sqlLoginRequest->getSaltColumnName() && isset($datas[$this->sqlLoginRequest->getSaltColumnName()])) {
|
||||
$remoteSalt = $datas[$this->sqlLoginRequest->getSaltColumnName()];
|
||||
unset($datas[$this->sqlLoginRequest->getSaltColumnName()]);
|
||||
}
|
||||
if (null === $remoteHashedPassword) {
|
||||
$remoteHashedPassword = '';
|
||||
}
|
||||
|
||||
try {
|
||||
// Comparaison remote hash et hash du input password + salt
|
||||
$this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt);
|
||||
$attributes = $this->sqlLoginService->fetchDatas($login);
|
||||
$user = new User($login, $remoteHashedPassword, $attributes, $rememberMe);
|
||||
|
||||
} catch (InvalidSQLPasswordException $e) {
|
||||
$session->set(self::ERROR_LOGIN, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (SecurityPatternConfigurationException $e) {
|
||||
\Sentry\captureException($e);
|
||||
$session->set(self::TECHNICAL_ERROR, true);
|
||||
throw new AuthenticationException();
|
||||
}
|
||||
$user = new User($login, $remoteHashedPassword, $datas, $rememberMe);
|
||||
$loader = function (string $userIdentifier) use ($user) {
|
||||
return $user->getLogin() == $userIdentifier ? $user : null;
|
||||
};
|
||||
@ -105,19 +112,6 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||
$passport->setAttribute('attributes', $user->getAttributes());
|
||||
|
||||
return $passport;
|
||||
} catch (InvalidSQLPasswordException $e) {
|
||||
$session->set(self::ERROR_LOGIN, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (DataToFetchConfigurationException $e) {
|
||||
$session->set(self::ERROR_DATA_TO_FETCH_CONFIGURATION, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (DatabaseConnectionException $e) {
|
||||
$session->set(self::ERROR_PDO, true);
|
||||
throw new AuthenticationException();
|
||||
} catch (SecurityPatternConfigurationException $e) {
|
||||
$session->set(self::ERROR_SECURITY_PATTERN_CONFIGURATION, true);
|
||||
throw new AuthenticationException();
|
||||
}
|
||||
}
|
||||
|
||||
protected function getLoginUrl(Request $request): string
|
||||
|
@ -2,100 +2,63 @@
|
||||
|
||||
namespace App\Service;
|
||||
|
||||
use App\SQLLogin\Exception\DatabaseConnectionException;
|
||||
use App\SQLLogin\Exception\DataToFetchConfigurationException;
|
||||
use App\SQLLogin\Exception\LoginElementsConfigurationException;
|
||||
use App\SQLLogin\Exception\NullDataToFetchException;
|
||||
use App\SQLLogin\Exception\EmptyResultException;
|
||||
use App\SQLLogin\SQLLoginConnect;
|
||||
use App\SQLLogin\SQLLoginRequest;
|
||||
use Exception;
|
||||
use PDO;
|
||||
use PDOException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
||||
class SQLLoginService extends AbstractController
|
||||
{
|
||||
private SQLLoginRequest $sqlLoginRequest;
|
||||
public const MAX_RETRY = 3;
|
||||
|
||||
public function __construct(SQLLoginRequest $sqlLoginRequest, private LoggerInterface $loggerInterface)
|
||||
{
|
||||
public function __construct(
|
||||
private SQLLoginRequest $sqlLoginRequest,
|
||||
private LoggerInterface $loggerInterface
|
||||
) {
|
||||
$this->sqlLoginRequest = $sqlLoginRequest;
|
||||
$this->loggerInterface = $loggerInterface;
|
||||
}
|
||||
|
||||
public function fetchDatas(string $login): array
|
||||
public function fetchPasswordAndDatas(string $login): array
|
||||
{
|
||||
if (empty($login)) {
|
||||
throw new Exception('Connexion échouée, le login ne peut pas être vide');
|
||||
}
|
||||
try {
|
||||
$dbh = $this->getConnection();
|
||||
} catch (PDOException $e) {
|
||||
$this->loggerInterface->critical($e->getMessage());
|
||||
throw new DatabaseConnectionException($e->getMessage());
|
||||
}
|
||||
try {
|
||||
// forge de la requête
|
||||
$request = $this->sqlLoginRequest->getRequestScope();
|
||||
} catch (NullDataToFetchException $e) {
|
||||
throw new DataToFetchConfigurationException($e->getMessage());
|
||||
}
|
||||
|
||||
try {
|
||||
// Préparation de la requête
|
||||
$query = $dbh->prepare($request);
|
||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
||||
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
||||
$query->closeCursor();
|
||||
} catch (PDOException $e) {
|
||||
$this->loggerInterface->critical($e->getMessage());
|
||||
throw new DataToFetchConfigurationException($e->getMessage());
|
||||
}
|
||||
|
||||
if (false === $datas) {
|
||||
throw new Exception(sprintf('La requête sql "%s" a renvoyé un résultat incorrect.', $request));
|
||||
}
|
||||
$dataRequest = $this->sqlLoginRequest->getDatasRequest();
|
||||
$login = \strtolower($login);
|
||||
$datas = $this->executeRequestWithLogin($dataRequest, $login);
|
||||
|
||||
return $datas;
|
||||
}
|
||||
|
||||
public function fetchPassword(string $login): array
|
||||
private function executeRequestWithLogin(string $request, string $login): array
|
||||
{
|
||||
try {
|
||||
$dbh = $this->getConnection();
|
||||
} catch (PDOException $e) {
|
||||
$this->loggerInterface->critical($e->getMessage());
|
||||
throw new DatabaseConnectionException($e->getMessage());
|
||||
}
|
||||
|
||||
// forge de la requête
|
||||
$request = $this->sqlLoginRequest->getRequestPassword();
|
||||
|
||||
try {
|
||||
$query = $dbh->prepare($request);
|
||||
$attempt = 0;
|
||||
while ($attempt < self::MAX_RETRY) {
|
||||
$pdo = $this->getConnection();
|
||||
$query = $pdo->prepare($request);
|
||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
||||
$password = $query->fetch(PDO::FETCH_ASSOC);
|
||||
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
||||
$query->closeCursor();
|
||||
} catch (PDOException $e) {
|
||||
$this->loggerInterface->critical($e->getMessage());
|
||||
throw new LoginElementsConfigurationException($e->getMessage());
|
||||
if (false === $datas) {
|
||||
usleep(3000);
|
||||
++$attempt;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
if (!$password) {
|
||||
throw new Exception('Une erreur est survenue lors de la récupération des données');
|
||||
}
|
||||
if (self::MAX_RETRY === $attempt) {
|
||||
throw new EmptyResultException();
|
||||
}
|
||||
|
||||
return [
|
||||
$password[$this->sqlLoginRequest->getPasswordColumnName()],
|
||||
isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null,
|
||||
];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
private function getConnection(): PDO
|
||||
{
|
||||
// Appel du singleton
|
||||
$sqlLogin = SQLLoginConnect::getInstance();
|
||||
// Connection bdd
|
||||
return $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
||||
$pdo = $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
||||
|
||||
return $pdo;
|
||||
}
|
||||
}
|
||||
|
12
symfony.lock
12
symfony.lock
@ -59,6 +59,18 @@
|
||||
"bin/console"
|
||||
]
|
||||
},
|
||||
"symfony/debug-bundle": {
|
||||
"version": "5.4",
|
||||
"recipe": {
|
||||
"repo": "github.com/symfony/recipes",
|
||||
"branch": "main",
|
||||
"version": "5.3",
|
||||
"ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
|
||||
},
|
||||
"files": [
|
||||
"config/packages/debug.yaml"
|
||||
]
|
||||
},
|
||||
"symfony/flex": {
|
||||
"version": "1.21",
|
||||
"recipe": {
|
||||
|
13
templates/altcha.html.twig
Normal file
13
templates/altcha.html.twig
Normal file
@ -0,0 +1,13 @@
|
||||
{% block altcha_widget %}
|
||||
<altcha-widget
|
||||
challengejson={{challengeJson}}
|
||||
name='altcha'
|
||||
strings="{{translations}}"
|
||||
hidelogo
|
||||
hidefooter
|
||||
workers= {{ workers }}
|
||||
delay={{ delay }}
|
||||
{{ debug ? 'debug' : ''}}
|
||||
{{ mockError ? 'mockerror' : ''}}
|
||||
></altcha-widget>
|
||||
{% endblock %}
|
@ -6,7 +6,6 @@
|
||||
{% block stylesheets %}
|
||||
{{ encore_entry_link_tags('app', null, 'appConfig') }}
|
||||
{{ encore_entry_link_tags('bootstrap-css', null, 'appConfig') }}
|
||||
{{ encore_entry_link_tags('theme', null, 'themeConfig') }}
|
||||
{% endblock %}
|
||||
|
||||
</head>
|
||||
@ -15,7 +14,6 @@
|
||||
{% block javascripts %}
|
||||
{{ encore_entry_script_tags('app', null, 'appConfig') }}
|
||||
{{ encore_entry_script_tags('bootstrap-js', null, 'appConfig') }}
|
||||
{{ encore_entry_script_tags('theme', null, 'themeConfig') }}
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
3
tools/php-cs-fixer/.php-cs-fixer.dist.php
Normal file → Executable file
3
tools/php-cs-fixer/.php-cs-fixer.dist.php
Normal file → Executable file
@ -5,8 +5,6 @@ $finder = PhpCsFixer\Finder::create()
|
||||
->name('*.php')
|
||||
;
|
||||
|
||||
// TODO: Définir les règles de style communes
|
||||
// spécifiques au projet
|
||||
return (new PhpCsFixer\Config())
|
||||
->setRules([
|
||||
'@Symfony' => true,
|
||||
@ -22,6 +20,7 @@ return (new PhpCsFixer\Config())
|
||||
'ternary_operator_spaces' => true,
|
||||
'class_definition' => ['single_line' => true],
|
||||
'whitespace_after_comma_in_array' => true,
|
||||
'trailing_comma_in_multiline' => true,
|
||||
|
||||
// phpdoc
|
||||
'phpdoc_add_missing_param_annotation' => ['only_untyped' => true],
|
||||
|
@ -7,16 +7,52 @@
|
||||
<body>
|
||||
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
||||
<source>form.label.login</source>
|
||||
<target>login</target>
|
||||
<target>Email address *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="RmsDr53" resname="form.label.password">
|
||||
<source>form.label.password</source>
|
||||
<target>Password</target>
|
||||
<target>Password *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
|
||||
<source>form.label.remember_me</source>
|
||||
<target>Remember me</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
|
||||
<source>altcha.validator.server_validation_error</source>
|
||||
<target>Verification failed. Try again later.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7mZdXx_" resname="altcha.widget.error">
|
||||
<source>altcha.widget.error</source>
|
||||
<target>Verification failed. Try again later.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Yg33QZt" resname="altcha.widget.expired">
|
||||
<source>altcha.widget.expired</source>
|
||||
<target>Verification expired. Try again.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3y0.Bhb" resname="altcha.widget.label">
|
||||
<source>altcha.widget.label</source>
|
||||
<target>I'm not a robot</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="QFBWtGD" resname="altcha.widget.verified">
|
||||
<source>altcha.widget.verified</source>
|
||||
<target>Verified</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="SfOrgtj" resname="altcha.widget.verifying">
|
||||
<source>altcha.widget.verifying</source>
|
||||
<target>Verifying...</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9dhbPuz" resname="altcha.widget.waitalert">
|
||||
<source>altcha.widget.waitalert</source>
|
||||
<target>Verifying... please wait.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9k5hI.D" resname="altcha.widget.title">
|
||||
<source>altcha.widget.title</source>
|
||||
<target>Verification *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="vGcy2C3" resname="altcha.widget.info">
|
||||
<source>altcha.widget.info</source>
|
||||
<target>Please check the box above to validate that you are not a robot. If you encounter any problem while doing this, please update your browser.</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
|
@ -7,16 +7,52 @@
|
||||
<body>
|
||||
<trans-unit id="4Lw8Y4y" resname="form.label.login">
|
||||
<source>form.label.login</source>
|
||||
<target>login</target>
|
||||
<target>Adresse courriel *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="RmsDr53" resname="form.label.password">
|
||||
<source>form.label.password</source>
|
||||
<target>Mot de passe</target>
|
||||
<target>Mot de passe *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="t17Vcvs" resname="form.label.remember_me">
|
||||
<source>form.label.remember_me</source>
|
||||
<target>Se souvenir de moi</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4kfMq14" resname="altcha.validator.server_validation_error">
|
||||
<source>altcha.validator.server_validation_error</source>
|
||||
<target>Échec de la vérification. Réessayez plus tard.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7mZdXx_" resname="altcha.widget.error">
|
||||
<source>altcha.widget.error</source>
|
||||
<target>Échec de la vérification. Réesayez plus tard.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="Yg33QZt" resname="altcha.widget.expired">
|
||||
<source>altcha.widget.expired</source>
|
||||
<target>Vérification expirée. Réessayez.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3y0.Bhb" resname="altcha.widget.label">
|
||||
<source>altcha.widget.label</source>
|
||||
<target>Je ne suis pas un robot</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="QFBWtGD" resname="altcha.widget.verified">
|
||||
<source>altcha.widget.verified</source>
|
||||
<target>Vérifié</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="SfOrgtj" resname="altcha.widget.verifying">
|
||||
<source>altcha.widget.verifying</source>
|
||||
<target>Vérification en cours...</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9dhbPuz" resname="altcha.widget.waitalert">
|
||||
<source>altcha.widget.waitalert</source>
|
||||
<target>Vérification en cours... veuillez patienter.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9k5hI.D" resname="altcha.widget.title">
|
||||
<source>altcha.widget.title</source>
|
||||
<target>Vérification *</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="vGcy2C3" resname="altcha.widget.info">
|
||||
<source>altcha.widget.info</source>
|
||||
<target>Veuillez cocher la case ci dessus afin de valider que vous n'êtes pas un robot. Si vous rencontrez un problème lors de cette action, mettez à jour votre navigateur.</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
|
@ -9,25 +9,9 @@
|
||||
<source>error.login</source>
|
||||
<target>Incorrect login or password</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="36t19qm" resname="error.sql_login">
|
||||
<source>error.sql_login</source>
|
||||
<target>Connection to database encountered a problem</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="lBole_G" resname="error.pdo">
|
||||
<source>error.pdo</source>
|
||||
<target>Connection to database encountered a problem</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1QRR4uA" resname="error.configuration">
|
||||
<source>error.configuration</source>
|
||||
<target>Identification data references do not exist in the database</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4EPIhsV" resname="error.data_to_fetch_configuration">
|
||||
<source>error.data_to_fetch_configuration</source>
|
||||
<target>Data references to be transmitted do not exist</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6iuTNs3" resname="error.security_pattern_configuration">
|
||||
<source>error.security_pattern_configuration</source>
|
||||
<target>The security pattern is not allowed</target>
|
||||
<trans-unit id="1QRR4uA" resname="error.technical">
|
||||
<source>error.technical</source>
|
||||
<target>A technical error happened, try again later</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
@ -9,25 +9,9 @@
|
||||
<source>error.login</source>
|
||||
<target>Login ou mot de passe inconnu</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="36t19qm" resname="error.sql_login">
|
||||
<source>error.sql_login</source>
|
||||
<target>La connexion à la base de données a rencontré un problème</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="lBole_G" resname="error.pdo">
|
||||
<source>error.pdo</source>
|
||||
<target>La connexion à la base de données a rencontré un problème</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1QRR4uA" resname="error.configuration">
|
||||
<source>error.configuration</source>
|
||||
<target>Les références de données d'identification n'existent pas dans la base de données</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4EPIhsV" resname="error.data_to_fetch_configuration">
|
||||
<source>error.data_to_fetch_configuration</source>
|
||||
<target>Les références de données à transmettre n'existent pas</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6iuTNs3" resname="error.security_pattern_configuration">
|
||||
<source>error.security_pattern_configuration</source>
|
||||
<target>Le patron de sécurité n'est pas autorisé</target>
|
||||
<trans-unit id="1QRR4uA" resname="error.technical">
|
||||
<source>error.technical</source>
|
||||
<target>Une erreur technique s'est produite, rééssayez plus tard</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
@ -25,9 +25,6 @@ Encore
|
||||
.addEntry('bootstrap-css', './assets/styles/bootstrap.scss')
|
||||
.addEntry('bootstrap-js', './assets/app-bootstrap.js')
|
||||
|
||||
// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
|
||||
.enableStimulusBridge('./assets/controllers.json')
|
||||
|
||||
// When enabled, Webpack "splits" your files into smaller pieces for greater optimization.
|
||||
.splitEntryChunks()
|
||||
|
||||
@ -75,14 +72,27 @@ Encore
|
||||
.setOutputPath('public/build/theme/')
|
||||
// public path used by the web server to access the output path
|
||||
.setPublicPath('/build/theme')
|
||||
.addEntry('theme','./public/theme-entrypoint.js')
|
||||
.addEntry('theme','./assets/theme-entrypoint.js')
|
||||
.addEntry('bootstrap-css', './assets/styles/bootstrap.scss')
|
||||
.addEntry('bootstrap-js', './assets/app-bootstrap.js')
|
||||
|
||||
.splitEntryChunks()
|
||||
.enableSingleRuntimeChunk()
|
||||
.cleanupOutputBeforeBuild()
|
||||
.enableBuildNotifications()
|
||||
.enableSourceMaps(false)
|
||||
.enableVersioning(false)
|
||||
.configureBabel((config) => {
|
||||
config.plugins.push('@babel/plugin-proposal-class-properties');
|
||||
})
|
||||
|
||||
// enables @babel/preset-env polyfills
|
||||
.configureBabelPresetEnv((config) => {
|
||||
config.useBuiltIns = 'usage';
|
||||
config.corejs = 3;
|
||||
})
|
||||
.enablePostCssLoader()
|
||||
.enableSassLoader()
|
||||
|
||||
;
|
||||
// build the second configuration
|
||||
|
Loading…
x
Reference in New Issue
Block a user