Compare commits

..
1 Commits
Author SHA1 Message Date
github-action[bot]andgithub-action[bot] 6d53018fd2 Create Flex endpoint 2026-07-07 07:31:39 +00:00
2658 changed files with 596 additions and 27181 deletions
-10
View File
@@ -1,10 +0,0 @@
; top-most EditorConfig file
root = true
; Unix-style newlines
[*]
end_of_line = LF
[*.json]
indent_style = space
indent_size = 4
-9
View File
@@ -1,9 +0,0 @@
| Q | A
| ------------- | ---
| License | MIT
| Packagist | <!-- Link to package on packagist -->
<!--
Please, carefully read the Contributing section in the README
before submitting a pull request.
-->
-13
View File
@@ -1,13 +0,0 @@
name: Cleanup Flex testing endpoint
on:
pull_request_target:
types: [ closed ]
defaults:
run:
shell: bash
jobs:
call-flex-cleanup:
uses: symfony/recipes/.github/workflows/callable-flex-cleanup.yml@main
@@ -1,7 +0,0 @@
name: Update Flex Archives
on: [workflow_dispatch]
jobs:
call-flex-update:
uses: symfony/recipes/.github/workflows/callable-flex-update-archived.yml@main
-18
View File
@@ -1,18 +0,0 @@
name: Update Flex endpoint
on:
push:
branches:
- main
defaults:
run:
shell: bash
jobs:
call-flex-update:
uses: symfony/recipes/.github/workflows/callable-flex-update.yml@main
with:
contrib: true
secrets:
token: ${{ secrets.BOT_TOKEN }}
-17
View File
@@ -1,17 +0,0 @@
name: Q&A
on:
pull_request_target:
defaults:
run:
shell: bash
jobs:
call-qa:
uses: symfony/recipes/.github/workflows/callable-qa.yml@main
with:
contrib: true
find_yaml: -not -wholename 'codeception/codeception/*/tests/*' -not -wholename 'codeception/codeception/*/codeception.yml'
secrets:
token: ${{ secrets.BOT_TOKEN }}
@@ -1,2 +0,0 @@
hosting:
tier: '%env(HOSTING_TIER)%'
-14
View File
@@ -1,14 +0,0 @@
{
"bundles": {
"Torr\\Hosting\\HostingBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"HOSTING_TIER": "development"
},
"gitignore": [
"/.build-info.json"
]
}
@@ -1,3 +0,0 @@
hosting:
tier: '%env(HOSTING_TIER)%'
installation: "%env(HOSTING_INSTALLATION)%"
@@ -1,3 +0,0 @@
hosting:
resource: '@HostingBundle/config/routes.yaml'
prefix: /hosting
-15
View File
@@ -1,15 +0,0 @@
{
"bundles": {
"Torr\\Hosting\\HostingBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"HOSTING_TIER": "development",
"HOSTING_INSTALLATION": ""
},
"gitignore": [
"/.build-info.json"
]
}
@@ -1,4 +0,0 @@
storyblok:
space_id: "%env(int:STORYBLOK_SPACE_ID)%"
management_token: "%env(STORYBLOK_MANAGEMENT_TOKEN)%"
content_token: "%env(STORYBLOK_CONTENT_TOKEN)%"
-13
View File
@@ -1,13 +0,0 @@
{
"bundles": {
"Torr\\Storyblok\\TorrStoryblokBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"STORYBLOK_SPACE_ID": "",
"STORYBLOK_MANAGEMENT_TOKEN": "",
"STORYBLOK_CONTENT_TOKEN": ""
}
}
@@ -1,4 +0,0 @@
storyblok:
space_id: "%env(int:STORYBLOK_SPACE_ID)%"
management_token: "%env(STORYBLOK_MANAGEMENT_TOKEN)%"
content_token: "%env(STORYBLOK_CONTENT_TOKEN)%"
@@ -1,3 +0,0 @@
storyblok:
prefix: /storyblok/
resource: '@TorrStoryblokBundle/config/routes.yaml'
-13
View File
@@ -1,13 +0,0 @@
{
"bundles": {
"Torr\\Storyblok\\TorrStoryblokBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"STORYBLOK_SPACE_ID": "",
"STORYBLOK_MANAGEMENT_TOKEN": "",
"STORYBLOK_CONTENT_TOKEN": ""
}
}
@@ -1,6 +0,0 @@
task_manager:
queues:
# queues sorted by priority. Highest priority at the top
- app_very_urgent
- app_urgent
- app
-8
View File
@@ -1,8 +0,0 @@
{
"bundles": {
"Torr\\TaskManager\\TaskManagerBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
-19
View File
@@ -1,19 +0,0 @@
Copyright (c) 2017-present Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-77
View File
@@ -1,77 +0,0 @@
Symfony Recipes (Contrib)
=========================
Symfony recipes allow the automation of Composer packages configuration via the
`Symfony Flex`_ Composer plugin.
This repository hosts contributed recipes for Composer packages that are not
part of the "official" `Symfony recipes`_. To enable recipes defined in this
repository for your project, run the following command:
.. code-block:: bash
composer config extra.symfony.allow-contrib true
See `RECIPES.md`_ for a full list of recipes that live in this repository.
Contributing
------------
For more information about contributing a recipe, read the `documentation`_ on
the main repository and the Best Practices below.
Unlike for official recipes, the pull requests for new contrib recipes are
managed by the community. Pull requests are reviewed by the Symfony Bot and
automatically merged when the following conditions are met (in that order):
* The pull request title does not contain "WIP";
* The Symfony Bot approved the pull request and reported no validation errors;
* Someone (not the Symfony bot nor the pull request author) approved the pull
request;
* The pull request author or the reviewer is a Symfony Core Merger.
Best Practices
--------------
Default Bundle Config
#####################
A recipe for a bundle should not contain all the configuration the bundle has to
offer. A good recipe only contains a suggestion config for an application. That
is config that needs to be configured but no real default value exists.
**Example:** The "items per page" in a paginator bundle or API credentials for an API
client bundle.
If environment variables are used, they must be provided to the bundle's config.
A bundle without config or routes do not need a recipe. Flex is smart enough to
install that bundle anyways.
Modify Other Bundle's config
############################
The general rule is that no recipe should modify other bundle's configuration. There
is however one exception. A recipe is allowed to append to a "config collection".
**Example:** Add a new connection to DoctrineBundle or add a new cache adapter to Symfony
Framework bundle.
Maintainability
###############
The symfony/recipes-contrib repository should contain the config for packages. Using
"``copy-from-package`` Configurator" for routes and config is not allowed. That would
make the recipes impossible to maintain and to assure their quality.
Recipes is also not a replacement for ``composer create-project``. That means it is
not intended to be used as "bootstrap full application" and copy a lot of PHP code,
front-end assets etc. Recipes are for quick installation of packages.
.. _`Symfony Flex`: https://github.com/symfony/flex
.. _`Symfony recipes`: https://github.com/symfony/recipes
.. _`documentation`: https://github.com/symfony/recipes
.. _`RECIPES.md`: https://github.com/symfony/recipes-contrib/blob/flex/main/RECIPES.md
@@ -1,5 +0,0 @@
abel_keycloak_bearer_only_adapter:
issuer: '%env(OAUTH_KEYCLOAK_ISSUER)%'
realm: '%env(OAUTH_KEYCLOAK_REALM)%'
client_id: '%env(OAUTH_KEYCLOAK_CLIENT_ID)%'
client_secret: '%env(OAUTH_KEYCLOAK_CLIENT_SECRET)%'
@@ -1,14 +0,0 @@
{
"bundles": {
"ABEL\\Bundle\\keycloakBearerOnlyAdapterBundle\\ABELkeycloakBearerOnlyAdapterBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"OAUTH_KEYCLOAK_ISSUER": "...",
"OAUTH_KEYCLOAK_REALM": "...",
"OAUTH_KEYCLOAK_CLIENT_ID": "...",
"OAUTH_KEYCLOAK_CLIENT_SECRET": "..."
}
}
@@ -1,3 +0,0 @@
meteion:
dbal_connection: 'default'
rawexd_path: '%env(METEION_RAWEXD_PATH)%'
-11
View File
@@ -1,11 +0,0 @@
{
"bundles": {
"MeteionBundle\\MeteionBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"METEION_RAWEXD_PATH": "/path/to/rawexd"
}
}
@@ -1,14 +0,0 @@
sentinelle:
# Dry-run: Sentinelle detects, logs and alerts, but blocks NOTHING.
# Nobody wires automatic blocking into a production site without knowing
# what it will shut out. Watch the dashboard for a few days, ask yourself
# "would I have wanted to block that one?", then switch it off.
dry_run: true
alert:
recipient: '%env(SENTINELLE_ALERT_EMAIL)%'
access:
role: ROLE_ADMIN
never_block:
# At minimum your own outbound address. Private ranges are protected
# by default, but yours is not: one wrong move locks you out.
ips: '%env(default::SENTINELLE_ALLOWLIST)%'
@@ -1,3 +0,0 @@
sentinelle:
resource: '@SentinelleBundle/config/routes.php'
type: php
@@ -1,40 +0,0 @@
{
"bundles": {
"Acencyril\\SentinelleBundle\\SentinelleBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#1": "Where security alerts are sent.",
"SENTINELLE_ALERT_EMAIL": "admin@example.com",
"#2": "IPs or CIDRs, comma separated, that must never be blocked.",
"#3": "PUT YOUR OWN OUTBOUND ADDRESS HERE before going live:",
"#4": "without it, an automatic block can lock you out of your own site.",
"SENTINELLE_ALLOWLIST": ""
},
"post-install-output": [
" <bg=blue;fg=white>Sentinelle is installed.</> Three things before going live:",
"",
" * Set <comment>SENTINELLE_ALLOWLIST</comment> in your <comment>.env</comment> — at minimum your own",
" outbound address. Without it, an automatic block can lock you out of",
" your own site.",
"",
" * Create the schema:",
" <comment>php bin/console doctrine:migrations:diff</comment>",
" <comment>php bin/console doctrine:migrations:migrate</comment>",
"",
" * Check it can do its job:",
" <comment>php bin/console sentinelle:check</comment>",
"",
" Sentinelle starts in <comment>dry-run</comment>: it detects, logs and alerts, but blocks",
" nothing. Watch <comment>/admin/activity</comment> for a few days, then set",
" <comment>sentinelle.dry_run</comment> to <comment>false</comment>.",
"",
" And schedule the purge, without which strike counters never reset:",
" <comment>0 4 * * * php bin/console sentinelle:purge</comment>",
""
]
}
@@ -1,9 +0,0 @@
# Read the documentation: https://github.com/acseo/TypesenseBundle/blob/master/README.md
acseo_typesense:
typesense:
url: '%typesense_url%'
key: '%typesense_key%'
# Optional : add prefix to all collection names in Typesense
#collection_prefix: 'app_'
# Collection settings
collections: null
-16
View File
@@ -1,16 +0,0 @@
{
"bundles": {
"ACSEO\\TypesenseBundle\\ACSEOTypesenseBundle": ["all"]
},
"container": {
"typesense_url": "%env(TYPESENSE_URL)%",
"typesense_key": "%env(TYPESENSE_KEY)%"
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"TYPESENSE_URL": "http://localhost:8108",
"TYPESENSE_KEY": "123"
}
}
@@ -1,2 +0,0 @@
ihsan_ratchet:
web_socket_port: "%env(WEB_SOCKET_PORT)%"
-12
View File
@@ -1,12 +0,0 @@
{
"bundles": {
"Ihsan\\RatchetBundle\\IhsanRatchetBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"WEB_SOCKET_PORT": "7777"
}
}
@@ -1,2 +0,0 @@
adback_api_client:
access_token: "%env(ADBACK_API_CLIENT_ACCESS_TOKEN)%"
@@ -1,11 +0,0 @@
{
"bundles": {
"Adback\\ApiClientBundle\\AdbackApiClientBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"ADBACK_API_CLIENT_ACCESS_TOKEN": "adback-access-token"
}
}
@@ -1,4 +0,0 @@
adlarge_fixtures_documentation:
title: 'Fixtures documentation'
reloadCommands:
- php bin/console doctrine:fixtures:load
@@ -1,2 +0,0 @@
AdlargeFixturesDocumentation:
resource: '@AdlargeFixturesDocumentationBundle/Resources/config/routing.yml'
@@ -1,8 +0,0 @@
{
"bundles": {
"Adlarge\\FixturesDocumentationBundle\\AdlargeFixturesDocumentationBundle": ["dev"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,5 +0,0 @@
when@dev:
hexagonal_maker:
application_path: 'Application'
domain_path: 'Domain'
infrastructure_path: 'Infrastructure'
@@ -1,14 +0,0 @@
{
"bundles": {
"AdrienLbt\\HexagonalMakerBundle\\HexagonalMakerBundle": ["dev"]
},
"composer-scripts": {
"make:hexagonal:autoload": "symfony-cmd"
},
"post-install-output": [
"🎉 Le bundle Hexagonal Maker has been installed."
],
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,12 +0,0 @@
captcha_bundle:
width: 120
height: 40
length: 6
lines: 8
characters: 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789'
case_sensitive: true
# Uncomment to render the twig block for captcha
#twig:
# form_themes:
# - '@AgilelabFrCaptcha/form/agilelab_fr_captcha.html.twig'
@@ -1,2 +0,0 @@
agilelab_fr_captcha_bundle.routes:
resource: '@AgilelabFrCaptchaBundle/config/routes.yaml'
@@ -1,8 +0,0 @@
{
"bundles": {
"AgilelabFr\\CaptchaBundle\\AgilelabFrCaptchaBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,151 +0,0 @@
# Doctrine Doctor - Runtime Analysis for Doctrine ORM
# Full documentation: https://github.com/ahmed-bhs/doctrine-doctor/blob/main/docs/CONFIGURATION.md
doctrine_doctor:
# Enable Doctrine Doctor (automatically enabled in dev/test environments)
enabled: '%kernel.debug%'
# # Web Profiler integration
# profiler:
# show_in_toolbar: true
# show_debug_info: false
#
# # Performance Analyzers (all enabled by default with production-ready thresholds)
# analyzers:
# # Detect N+1 query problems (most common performance issue)
# n_plus_one:
# enabled: true
# threshold: 5 # Trigger when 5+ similar queries are detected
#
# # Detect slow queries
# slow_query:
# enabled: true
# threshold: 100 # milliseconds
#
# # Detect missing database indexes
# missing_index:
# enabled: true
# slow_query_threshold: 50 # Only EXPLAIN queries slower than 50ms
# explain_queries: true
# min_rows_scanned: 1000 # Suggest index when 1000+ rows scanned
#
# # Analyze hydration performance
# hydration:
# enabled: true
# row_threshold: 99 # Warning when hydrating 100+ objects
# critical_threshold: 999 # Critical when hydrating 1000+ objects
#
# # Detect excessive JOINs
# eager_loading:
# enabled: true
# join_threshold: 4 # Warning with 4+ JOINs
# critical_join_threshold: 7 # Critical with 7+ JOINs
#
# # Detect findAll() without limits
# find_all:
# enabled: true
# threshold: 99 # Warning when findAll() returns 100+ rows
#
# # Detect batch operations without EntityManager::clear()
# entity_manager_clear:
# enabled: true
# batch_size_threshold: 20 # Suggest clear() after 20+ operations
#
# # Suggest getReference() for simple ID lookups
# get_reference:
# enabled: true
# threshold: 2 # Suggest after 2+ simple SELECT by ID
#
# # Detect flush() in loops (anti-pattern)
# flush_in_loop:
# enabled: true
# flush_count_threshold: 5 # Trigger after 5+ flush calls
# time_window_ms: 1000 # Within 1 second window
#
# # Detect lazy loading in loops
# lazy_loading:
# enabled: true
# threshold: 10 # Trigger with 10+ lazy load queries
#
# # Suggest bulk operations for mass updates/deletes
# bulk_operation:
# enabled: true
# threshold: 20 # Suggest DQL UPDATE/DELETE for 20+ operations
#
# # Optimize JOIN usage
# join_optimization:
# enabled: true
# max_joins_recommended: 5 # Warning threshold
# max_joins_critical: 8 # Critical threshold
#
# # Suggest partial objects when loading full entities unnecessarily
# partial_object:
# enabled: true
# threshold: 5 # Trigger after 5+ queries
#
# # Suggest DTO hydration for aggregation queries
# dto_hydration:
# enabled: true
#
# # Security Analyzers
# dql_injection:
# enabled: true # Detect DQL/SQL injection vulnerabilities
#
# sql_injection_raw_queries:
# enabled: true # Detect SQL injection in raw queries
#
# sensitive_data_exposure:
# enabled: true # Detect sensitive data in serialization
#
# insecure_random:
# enabled: true # Detect insecure random generators
#
# # Code Quality Analyzers
# collection_initialization:
# enabled: true # Detect uninitialized collections
#
# cascade_configuration:
# enabled: true # Analyze cascade configurations
#
# cascade_all:
# enabled: true # Detect dangerous cascade="all"
#
# cascade_persist_independent:
# enabled: true # Detect cascade="persist" risks
#
# missing_orphan_removal:
# enabled: true # Detect missing orphanRemoval
#
# cascade_remove_independent:
# enabled: true # Detect cascade="remove" risks
#
# bidirectional_consistency:
# enabled: true # Check bidirectional associations
#
# orphan_removal_no_cascade:
# enabled: true # Detect orphanRemoval without cascade
#
# ondelete_mismatch:
# enabled: true # Check ORM vs DB cascade consistency
#
# foreign_key_mapping:
# enabled: true # Detect FKs as primitives instead of relations
#
# # Configuration Analyzers
# strict_mode:
# enabled: true # Check MySQL/MariaDB strict mode
#
# charset:
# enabled: true # Check database charset (utf8mb4 recommended)
#
# innodb_engine:
# enabled: true # Check if InnoDB is used
#
# connection_pooling:
# enabled: true # Analyze connection pool config
#
# doctrine_cache:
# enabled: true # Detect ArrayCache in production
#
# naming_convention:
# enabled: true # Check snake_case naming
@@ -1,8 +0,0 @@
{
"bundles": {
"AhmedBhs\\DoctrineDoctor\\DoctrineDoctorBundle": ["dev", "test"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,14 +0,0 @@
<fg=blue;options=bold>Doctrine Doctor</> has been successfully installed!
Runtime analysis for Doctrine ORM - integrated into the Symfony Web Profiler.
<options=bold>Next steps:</>
1. Browse your application to trigger database queries
2. Open the Web Profiler and click the <comment>Doctrine Doctor</> panel
Customize analyzer thresholds in <comment>%CONFIG_DIR%/packages/doctrine_doctor.yaml</>
Documentation: https://github.com/ahmed-bhs/doctrine-doctor
Happy debugging! 🚀
@@ -1,4 +0,0 @@
ajardin_blizzard_sdk:
blizzard:
client_id: '%env(BLIZZARD_CLIENT_ID)%'
client_secret: '%env(BLIZZARD_CLIENT_SECRET)%'
@@ -1,14 +0,0 @@
{
"bundles": {
"Ajardin\\BlizzardSdkBundle\\AjardinBlizzardSdkBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#1": "Generate your own API credentials through the Blizzard Developer Portal.",
"#2": "https://develop.battle.net/access/clients",
"BLIZZARD_CLIENT_ID": "",
"BLIZZARD_CLIENT_SECRET": ""
}
}
@@ -1,55 +0,0 @@
#!/usr/bin/env php
<?php
require __DIR__ . '/../vendor/autoload.php';
use Symfony\Component\Filesystem\Filesystem;
const SOURCE_DIRECTORY = 'vendor/ajardin/docker-symfony';
const TARGET_DIRECTORY = 'docker';
$filesystem = new Filesystem();
/**
* Create the Docker directory at the project root
*/
if ($filesystem->exists(TARGET_DIRECTORY) === false) {
$filesystem->mkdir(TARGET_DIRECTORY);
}
/**
* Mirror the vendor directory with the directory created at the project root
*/
if ($filesystem->exists(SOURCE_DIRECTORY) === true) {
$filesystem->mirror(SOURCE_DIRECTORY, TARGET_DIRECTORY, null, ['override' => true]);
}
/**
* Define the default environment variables
*/
if ($filesystem->exists(TARGET_DIRECTORY . '/.env') === false) {
$filesystem->copy(
TARGET_DIRECTORY . '/.env.dist',
TARGET_DIRECTORY . '/.env'
);
}
/**
* Define the default Nginx configuration
*/
if ($filesystem->exists(TARGET_DIRECTORY . '/nginx/conf.d/custom.conf') === false) {
$filesystem->copy(
TARGET_DIRECTORY . '/nginx/conf.d/symfony.conf.dist',
TARGET_DIRECTORY . '/nginx/conf.d/custom.conf'
);
}
/**
* Copy the default Makefile at the project root
*/
if ($filesystem->exists('Makefile') === false) {
$filesystem->copy(
TARGET_DIRECTORY . '/Makefile.sample',
'Makefile'
);
}
-12
View File
@@ -1,12 +0,0 @@
{
"composer-scripts": {
"bin/docker-upgrade": "php-script"
},
"copy-from-recipe": {
"bin/": "%BIN_DIR%/"
},
"gitignore": [
"/%BIN_DIR%/docker-upgrade",
"/docker/"
]
}
@@ -1,11 +0,0 @@
* Edit the <fg=green>docker/.env</> file to configure your own settings.
* Edit the <fg=green>docker/nginx/conf.d/custom.conf</> file to configure your own virtual host.
* To manage the Docker environment from the project directory:
- If you already have a Makefile in your project, copy the content of the <fg=green>docker/Makefile.sample</> file at the top of it.
- If you do not already have a Makefile, the <fg=green>docker/Makefile.sample</> file will be installed in your project.
* Run <fg=green>make</> to display the list of available commands.
Documentation: https://github.com/ajardin/docker-symfony/wiki
@@ -1,3 +0,0 @@
ajgarlag_openid_connect_provider:
resource: '@AjgarlagOpenIDConnectProviderBundle/config/routes.php'
type: php
@@ -1,8 +0,0 @@
{
"bundles": {
"Ajgarlag\\Bundle\\OpenIDConnectProviderBundle\\AjgarlagOpenIDConnectProviderBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,5 +0,0 @@
{
"bundles": {
"Ajgl\\Twig\\Extension\\SymfonyBundle\\AjglBreakpointTwigExtensionBundle": ["dev"]
}
}
@@ -1,7 +0,0 @@
consul:
service:
name: '%env(resolve:CONSUL_SERVICE_NAME)%'
host: '%env(resolve:CONSUL_SERVICE_HOST)%'
port: '%env(resolve:CONSUL_SERVICE_PORT)%'
client:
base_uri: '%env(resolve:CONSUL_CLIENT_BASE_URI)%'
@@ -1,2 +0,0 @@
consul_bundle:
resource: "@ConsulBundle/Resources/config/routing.yml"
@@ -1,14 +0,0 @@
{
"bundles": {
"Akondas\\ConsulBundle\\ConsulBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"CONSUL_SERVICE_NAME": "symfony-app",
"CONSUL_SERVICE_HOST": "localhost",
"CONSUL_SERVICE_PORT": "8000",
"CONSUL_CLIENT_BASE_URI": "http://127.0.0.1:8500"
}
}
@@ -1,25 +0,0 @@
alengo_webspace_settings:
type_select:
- 'blocks'
- 'category'
- 'categories'
- 'collection'
- 'collections'
- 'contact'
- 'contacts'
- 'date'
- 'dateTime'
- 'event'
- 'media'
- 'medias'
- 'account'
- 'accounts'
- 'page'
- 'pages'
- 'snippet'
- 'snippets'
- 'string' # default type
- 'tags'
- 'time'
- 'textArea'
- 'textEditor'
@@ -1,45 +0,0 @@
<?xml version="1.0" ?>
<properties xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.0.xsd">
<block name="dataBlocks">
<types>
<type name="singleMediaSelection">
<meta>
<title>alengo_webspace_settings.media</title>
</meta>
<properties>
<property name="singleMediaSelection" type="single_media_selection">
<tag name="sulu.block_preview" priority="512"/>
</property>
</properties>
</type>
<type name="mediaSelection">
<meta>
<title>alengo_webspace_settings.medias</title>
</meta>
<properties>
<property name="mediaSelection" type="media_selection">
<tag name="sulu.block_preview" priority="512"/>
</property>
</properties>
</type>
<type name="textEditor">
<meta>
<title>alengo_webspace_settings.textEditor</title>
</meta>
<properties>
<property name="textEditor" type="text_editor">
<tag name="sulu.block_preview" priority="1024"/>
</property>
</properties>
</type>
</types>
</block>
</properties>
@@ -1,8 +0,0 @@
{
"bundles": {
"Alengo\\Bundle\\AlengoWebspaceSettingsBundle\\AlengoWebspaceSettingsBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,5 +0,0 @@
* The <fg=green>AlengoWebspaceSettingsBundle</> for Sulu CMS is almost ready:
1. Configure your types in config/packages/alengo_webspace_settings.yaml
2. Configure your blocks if needed in config/templates/settings/webspace_settings_blocks.xml.
* <fg=blue>Read</> the documentation at <comment>https://github.com/alengodev/alengoWebspaceSettingsBundle/blob/main/README.md</>
@@ -1,26 +0,0 @@
alengo_webspace_settings:
type_select:
- 'blocks'
- 'category'
- 'categories'
- 'checkbox'
- 'collection'
- 'collections'
- 'contact'
- 'contacts'
- 'date'
- 'dateTime'
- 'event'
- 'media'
- 'medias'
- 'account'
- 'accounts'
- 'page'
- 'pages'
- 'snippet'
- 'snippets'
- 'string' # default type
- 'tags'
- 'time'
- 'textArea'
- 'textEditor'
@@ -1,45 +0,0 @@
<?xml version="1.0" ?>
<properties xmlns="http://schemas.sulu.io/template/template"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xi="http://www.w3.org/2001/XInclude"
xsi:schemaLocation="http://schemas.sulu.io/template/template http://schemas.sulu.io/template/template-1.0.xsd">
<block name="dataBlocks">
<types>
<type name="singleMediaSelection">
<meta>
<title>alengo_webspace_settings.media</title>
</meta>
<properties>
<property name="singleMediaSelection" type="single_media_selection">
<tag name="sulu.block_preview" priority="512"/>
</property>
</properties>
</type>
<type name="mediaSelection">
<meta>
<title>alengo_webspace_settings.medias</title>
</meta>
<properties>
<property name="mediaSelection" type="media_selection">
<tag name="sulu.block_preview" priority="512"/>
</property>
</properties>
</type>
<type name="textEditor">
<meta>
<title>alengo_webspace_settings.textEditor</title>
</meta>
<properties>
<property name="textEditor" type="text_editor">
<tag name="sulu.block_preview" priority="1024"/>
</property>
</properties>
</type>
</types>
</block>
</properties>
@@ -1,8 +0,0 @@
{
"bundles": {
"Alengo\\Bundle\\AlengoWebspaceSettingsBundle\\AlengoWebspaceSettingsBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,5 +0,0 @@
* The <fg=green>AlengoWebspaceSettingsBundle</> for Sulu CMS is almost ready:
1. Configure your types in config/packages/alengo_webspace_settings.yaml
2. Configure your blocks if needed in config/templates/settings/webspace_settings_blocks.xml.
* <fg=blue>Read</> the documentation at <comment>https://github.com/alengodev/alengoWebspaceSettingsBundle/blob/main/README.md</>
@@ -1,4 +0,0 @@
alexandre_evc:
api_id: '%env(EVC_API)%'
username: '%env(EVC_USERNAME)%'
password: '%env(EVC_PASSWORD)%'
-13
View File
@@ -1,13 +0,0 @@
{
"bundles": {
"Alexandre\\EvcBundle\\AlexandreEvcBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"EVC_API": "Enter the api version provided by evc.de support",
"EVC_USERNAME": "Enter your reseller account number",
"EVC_PASSWORD": "Enter your api password, not the password to connect on evc.de website"
}
}
@@ -1,19 +0,0 @@
alex_geno_phone_verification:
storage:
driver: redis # redis || mongodb
redis:
connection: default
mongodb:
connection: default
sender:
transport: vonage
manager:
otp:
length: '%env(int:PHONE_VERIFICATION_OTP_LENGTH)%'
rate_limits:
initiate: #for every 'to' no more than 'count' initiations over 'period_secs' seconds
period_secs: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_INITIATE_PERIOD_SECS)%'
count: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_INITIATE_COUNT)%'
complete: #for every 'to' no more than 'count' failed completions over 'period_secs' seconds
period_secs: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_PERIOD_SECS)%' # this is also the expiration period for OTP
count: '%env(int:PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_COUNT)%'
@@ -1,8 +0,0 @@
phone_verification_initiate:
path: /phone-verification/initiate/{to}
controller: AlexGeno\PhoneVerificationBundle\Controller\PhoneVerificationController::initiate
methods: POST
phone_verification_complete:
path: /phone-verification/complete/{to}/{otp}
controller: AlexGeno\PhoneVerificationBundle\Controller\PhoneVerificationController::complete
methods: POST
@@ -1,27 +0,0 @@
{
"bundles": {
"AlexGeno\\PhoneVerificationBundle\\AlexGenoPhoneVerificationBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#0": "1000..9999",
"PHONE_VERIFICATION_OTP_LENGTH": "4",
"#1": "for every 'to' no more than 10 initiations over 24 hours",
"PHONE_VERIFICATION_RATE_LIMIT_INITIATE_PERIOD_SECS": "86400",
"PHONE_VERIFICATION_RATE_LIMIT_INITIATE_COUNT": "10",
"#2": "for every 'to' no more than 5 failed completions over 5 minutes",
"PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_PERIOD_SECS": "300",
"PHONE_VERIFICATION_RATE_LIMIT_COMPLETE_COUNT": "5"
},
"add-lines": [
{
"file": "config/packages/snc_redis.yaml",
"position": "after_target",
"warn_if_missing": true,
"target": " clients:",
"content": " default:\n type: predis\n alias: default\n dsn: \"%env(REDIS_URL)%\""
}
]
}
@@ -1,18 +0,0 @@
# RussianTextBundle configuration
# See https://github.com/alexivanou/russian-text-bundle for documentation
russian_text:
# All services are enabled by default.
# Set any to false to disable unused functionality.
enable_pluralizer: true
enable_number_speller: true
enable_money_speller: true
enable_name_inflector: true
enable_noun_decliner: true
enable_adjective_decliner: true
enable_geo_inflector: true
enable_time_speller: true
enable_twig_plural: true
enable_twig_numeral: true
enable_twig_name: true
enable_twig_declension: true
enable_twig_time: true
@@ -1,8 +0,0 @@
{
"bundles": {
"AlexIvanou\\RussianTextBundle\\AlexIvanouRussianTextBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,6 +0,0 @@
RussianTextBundle installed!
Available Twig filters: pluralize, cardinal, ordinal, spell_money, inflect_name, noun_case, noun_plural, adj_case, geo_case, time_ago, distance_of_time
Available Twig functions: name_cases, detect_gender
See README for usage examples.
@@ -1,3 +0,0 @@
algolia:
application_id: "%env(ALGOLIA_APP_ID)%"
api_key: "%env(ALGOLIA_API_KEY)%"
@@ -1,12 +0,0 @@
{
"bundles": {
"Algolia\\AlgoliaSearchBundle\\AlgoliaAlgoliaSearchBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"ALGOLIA_APP_ID": "...",
"ALGOLIA_API_KEY": "..."
}
}
@@ -1,4 +0,0 @@
# All available configuration can be found here:
# https://www.algolia.com/doc/api-client/symfony/configuration/
algolia_search:
prefix: '%env(APP_ENV)%_'
-14
View File
@@ -1,14 +0,0 @@
{
"bundles": {
"Algolia\\SearchBundle\\AlgoliaSearchBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"#1": "Create a free account on www.algolia.com",
"#2": "and get your credentials from the API Keys tab.",
"ALGOLIA_APP_ID": "...",
"ALGOLIA_API_KEY": "..."
}
}
@@ -1,8 +0,0 @@
* The Algolia/SearchBundle uses Algolia by default. Create a free
account on http://www.algolia.com and modify your ALGOLIA_APP_ID
and ALGOLIA_API_KEY config in <fg=green>.env</>
* Edit the configuration in <fg=green>config/packages/algolia_search.yaml</>
to start indexing your data.
Documentation: https://www.algolia.com/doc/api-client/symfony/
@@ -1,34 +0,0 @@
cycle:
dbal:
databases:
default:
connection: default_connection
connections:
default_connection:
driver: mysql
host: '%env(resolve:DB_HOST)%'
port: '%env(int:DB_PORT)%'
dbname: '%env(resolve:DB_NAME)%'
user: '%env(resolve:DB_USER)%'
password: '%env(resolve:DB_PASSWORD)%'
charset: utf8
orm:
schema:
type: attribute
dir: "%kernel.project_dir%/src/Entity"
cache_dir: "%kernel.cache_dir%/cycle"
relation:
fk_create: false
index_create: false
migration:
directory: "%kernel.project_dir%/migrations"
when@test:
cycle:
dbal:
connections:
default_connection:
dbname: 'test_%env(resolve:DB_NAME)%'
-23
View File
@@ -1,23 +0,0 @@
{
"bundles": {
"Alms\\Bundle\\CycleBundle\\CycleBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"src/": "%SRC_DIR%/",
"migrations/": "migrations/"
},
"env": {
"DB_DRIVER": "mysql",
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_NAME": "app",
"DB_USER": "root",
"DB_PASSWORD": "secret"
},
"post-install-output": [
" * Modify your database config in <fg=green>.env</>"
]
}
@@ -1,2 +0,0 @@
alteis_hagreed:
token: '%env(HAGREED_TOKEN)%'
-13
View File
@@ -1,13 +0,0 @@
{
"bundles": {
"Alteis\\HagreedBundle\\AlteisHagreedBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"HAGREED_TOKEN": ""
}
}
@@ -1,18 +0,0 @@
services:
AmbientLink\SDK\SmartMonkeyConnection:
arguments: ['@amnient.link_connection_settings', '%env(AMBIENT_LINK_USERNAME)%', '%env(AMBIENT_LINK_PASSWORD)%']
amnient.link_connection_settings:
class: PhpMqtt\Client\ConnectionSettings
PhpMqtt\Client\Contracts\MQTTClient: '@PhpMqtt\Client\MQTTClient'
PhpMqtt\Client\MQTTClient:
arguments:
- '%env(AMBIENT_LINK_HOST)%'
- '%env(AMBIENT_LINK_PORT)%'
- '%env(AMBIENT_LINK_MONKEY_ID)%'
AmbientLink\SDK\Mqtt\MqttAdapter:
arguments:
$username: '%env(AMBIENT_LINK_USERNAME)%'
$password: '%env(AMBIENT_LINK_PASSWORD)%'
@@ -1,12 +0,0 @@
{
"env": {
"AMBIENT_LINK_HOST": "",
"AMBIENT_LINK_PORT": "1883",
"AMBIENT_LINK_USERNAME": "",
"AMBIENT_LINK_PASSWORD": "",
"AMBIENT_LINK_MONKEY_ID": ""
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,22 +0,0 @@
* Your ability is almost ready:
1. Edit <comment>src/AbilityEventSubscriber</comment> and <info>implement</info> your logic:
public static function getSubscribedEvents(): array
{
return [
// can be found in AmbientLink\SDK\Event\
EnterRoomEvent::NAME => 'onEnterRoom',
];
}
public function onEnterRoom(EnterRoomEvent $event): void
{
$roomName = $event->roomName();
$this->logger->debug(sprintf('Some person enters room "%s".', $roomName));
// @todo implement logic here
}
* You can found Events in AmbientLink\SDK\Event\
* Using Ability Command? Try <info>php bin/console ability:debug --dummy</info>
@@ -1,42 +0,0 @@
# Pickle Panther — YAML-driven E2E testing on top of Symfony Panther.
#
# Loaded in the "test" environment only: the bundle is registered for "test" in
# config/bundles.php, so a root-level config/packages/ file would also load in
# prod (where the bundle is absent) and Symfony would fail to boot.
#
# Every key below is OPTIONAL and shown with its default value — edit in place,
# or delete what you keep at the default. Full reference & docs:
# https://github.com/Amoifr/PicklePantherBundle
pickle_panther:
locale: fr # default DSL language (fr|en) — matching is bilingual anyway
debug: false # true => a screenshot after every step (= E2E_DEBUG=1)
scenarios_dir: '%kernel.project_dir%/tests/E2E/Scenario'
report:
enabled: true
output_dir: '%kernel.project_dir%/var/pickle-panther'
browser:
headless: true
chrome_args: [] # extra Chrome args appended to the defaults
desktop:
width: 1920
height: 1080
user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
mobile:
width: 375
height: 812
pixel_ratio: 3.0
user_agent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1'
# Optional built-in form-login authenticator. Uncomment to enable it; leave
# commented if your app has a custom login flow (define your own service
# aliased to Amoifr\PicklePantherBundle\Auth\AuthenticatorInterface instead).
# Keep credentials out of the repository — read them from environment variables.
#auth:
# login_path: /login
# logout_path: /logout
# form_selector: 'form'
# email_field: '_username'
# password_field: '_password'
# roles: # map a scenario role name to its credentials
# admin: { email: '%env(E2E_ADMIN_EMAIL)%', password: '%env(E2E_ADMIN_PASSWORD)%' }
# user: { email: '%env(E2E_USER_EMAIL)%', password: '%env(E2E_USER_PASSWORD)%' }
@@ -1,18 +0,0 @@
{
"bundles": {
"Amoifr\\PicklePantherBundle\\PicklePantherBundle": ["test"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"post-install-output": [
" * The bundle is enabled in the <comment>test</> environment only.",
" Tune <comment>config/packages/test/pickle_panther.yaml</> as needed (every key is optional).",
"",
" * <comment>To actually run E2E scenarios you need a chromedriver</>",
" (<comment>composer require --dev dbrekelmans/bdi && vendor/bin/bdi detect drivers</>)",
" <comment>or a browser provided via Docker.</>",
"",
" * Docs: <href=https://github.com/Amoifr/PicklePantherBundle>https://github.com/Amoifr/PicklePantherBundle</>"
]
}
@@ -1,3 +0,0 @@
amzs_random:
auto_connect: true
default_connection: mysql
@@ -1,3 +0,0 @@
_admin_amzs_random_bundle:
resource: "@AmzsRandomBundle/Resources/config/routing.yaml"
prefix: admin/menu
-8
View File
@@ -1,8 +0,0 @@
{
"bundles": {
"Amzs\\RandomBundle\\AmzsRandomBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,10 +0,0 @@
omnipay:
success_url: '/profile/history_orders'
fail_url: '/'
return_url: '/omnipay_return'
notify_url: '/omnipay_notify'
cancel_url: '/omnipay_cancel'
data_keys:
paymentId: ['orderNumber']
customerEmail: ['customerNumber']
gateways: null
@@ -1,3 +0,0 @@
omnipay:
resource: "@OmnipayBundle/Resources/config/routing.yml"
prefix: /
-8
View File
@@ -1,8 +0,0 @@
{
"bundles": {
"Andchir\\OmnipayBundle\\OmnipayBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,3 +0,0 @@
comments:
comment_class: App\MainBundle\Document\Comment
status_default: pending
@@ -1,3 +0,0 @@
comments:
resource: '@CommentsBundle'
type: annotation
@@ -1,8 +0,0 @@
{
"bundles": {
"Andchir\\CommentsBundle\\CommentsBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,72 +0,0 @@
# -----------------------------------------------------------------------------
# AndrewGos Telegram Bot Bundle - Default Configuration
# -----------------------------------------------------------------------------
# This file was generated by the AndrewGos Telegram Bot Bundle recipe.
# It provides a solid foundation for your first Telegram bot.
#
# ❗️ YOUR NEXT STEPS:
# 1. Set your bot's token in the .env file:
# TELEGRAM_BOT_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
#
# 2. Create the handler and checker classes referenced below, for example:
# src/Telegram/Handler/StartHandler.php
# src/Telegram/Checker/CommandChecker.php
# src/Telegram/Handler/DefaultMessageHandler.php
# -----------------------------------------------------------------------------
andrew_gos_telegram_bot:
bots:
# 🤖 This is the unique name for your bot.
# You'll use this name in console commands, e.g., `php bin/console andrew-gos:telegram-bot:listen default_bot`
# default_bot:
# 🏭 The factory defines how the Telegram API client is created.
# factory:
# 'getUpdates' is a shortcut for the long-polling factory. It's perfect for
# getting started quickly with the `listen` command.
# For production, you will likely switch to webhooks using the 'default' factory.
# method: 'getUpdates'
# arguments:
# ✅ Best Practice: Never hardcode secrets!
# This reads the token from your .env file.
# $token: '%env(string:TELEGRAM_BOT_TOKEN)%'
# 🔌 Plugins are services that run on EVERY update before handlers.
# They are great for logging, analytics, or session management.
# Uncomment this section to enable a request logger.
# plugins:
# - class: App\Telegram\Plugin\RequestLoggerPlugin
# arguments:
# # This injects the default Symfony logger for the 'telegram' channel.
# $logger: '@monolog.logger.telegram'
# 🔄 Handlers contain the core logic of your bot.
# They are checked in order of priority (higher numbers first).
# The first handler whose 'checker' passes will be executed.
# handlers:
# Handler for the '/start' command. It has a high priority.
# -
# The checker decides if the handler should run for the current update.
# checker:
# class: App\Telegram\Checker\CommandChecker
# arguments:
# $command: '/start'
# The handler contains the actual logic to execute.
# handler: App.Telegram.Handler.StartHandler
# Middlewares run after the checker but before the handler.
# Useful for authentication, rate limiting, etc.
# middlewares:
# - App\Telegram\Middleware\UserRateLimiterMiddleware
# Higher priority means this handler is checked before others.
# priority: 10
# A fallback handler for any message not caught by the handlers above.
# When a 'checker' is not specified, it defaults to `AnyChecker`,
# -
# which always passes. This makes it a perfect "catch-all".
# handler: App\Telegram\Handler\DefaultMessageHandler
# A negative priority ensures this runs last.
# priority: -10
@@ -1,8 +0,0 @@
{
"bundles": {
"AndrewGos\\TelegramBotBundle\\AndrewGosTelegramBotBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
}
}
@@ -1,8 +0,0 @@
services:
anezi_twig.locale_extension:
class: Anezi\Locale\Twig\Extension\LocaleExtension
public: false
arguments:
$locales: ['fr', 'en'] # Edit here for your needs.
tags:
- { name: twig.extension }

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