Add symfony config files

pull/2487/head
jmontoyaa 8 years ago
parent 427f7d7c1d
commit 63081ef8e3
  1. 45
      config/bundles.php
  2. 11
      config/packages/cmf_routing_bundle.yaml
  3. 7
      config/packages/dev/jms_serializer.yaml
  4. 19
      config/packages/dev/monolog.yaml
  5. 3
      config/packages/dev/routing.yaml
  6. 8
      config/packages/dev/security_checker.yaml
  7. 4
      config/packages/dev/swiftmailer.yaml
  8. 6
      config/packages/dev/web_profiler.yaml
  9. 51
      config/packages/doctrine.yaml
  10. 5
      config/packages/doctrine_migrations.yaml
  11. 31
      config/packages/fm_elfinder.yaml
  12. 12
      config/packages/fos_rest.yaml
  13. 17
      config/packages/fos_user.yaml
  14. 27
      config/packages/framework.yaml
  15. 2
      config/packages/framework_extra.yaml
  16. 9
      config/packages/ivory_ck_editor.yaml
  17. 13
      config/packages/jms_serializer.yaml
  18. 31
      config/packages/prod/doctrine.yaml
  19. 6
      config/packages/prod/jms_serializer.yaml
  20. 17
      config/packages/prod/monolog.yaml
  21. 3
      config/packages/routing.yaml
  22. 85
      config/packages/security.yaml
  23. 210
      config/packages/sonata_admin.yaml
  24. 80
      config/packages/sonata_block.yaml
  25. 33
      config/packages/sonata_cache.yaml
  26. 15
      config/packages/sonata_classification.yaml
  27. 28
      config/packages/sonata_core.yaml
  28. 35
      config/packages/sonata_formatter.yaml
  29. 12
      config/packages/sonata_intl.yaml
  30. 186
      config/packages/sonata_media.yaml
  31. 187
      config/packages/sonata_page.yaml
  32. 46
      config/packages/sonata_seo.yaml
  33. 7
      config/packages/sonata_timeline.yaml
  34. 50
      config/packages/sonata_user.yaml
  35. 19
      config/packages/spy_timeline.yaml
  36. 9
      config/packages/stof_doctrine_extensions.yaml
  37. 3
      config/packages/swiftmailer.yaml
  38. 5
      config/packages/test/framework.yaml
  39. 7
      config/packages/test/monolog.yaml
  40. 2
      config/packages/test/swiftmailer.yaml
  41. 6
      config/packages/test/web_profiler.yaml
  42. 7
      config/packages/translation.yaml
  43. 28
      config/packages/twig.yaml
  44. 10
      config/packages/twig_extensions.yaml
  45. 3
      config/packages/web_profiler.yaml
  46. 3
      config/routes.yaml
  47. 3
      config/routes/annotations.yaml
  48. 3
      config/routes/dev/twig.yaml
  49. 7
      config/routes/dev/web_profiler.yaml
  50. 2
      config/routes/fos_js_routing.yaml
  51. 40
      config/services.yaml
  52. 9
      config/services_test.yaml

@ -0,0 +1,45 @@
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle::class => ['all' => true],
Sonata\EasyExtendsBundle\SonataEasyExtendsBundle::class => ['all' => true],
Sonata\DatagridBundle\SonataDatagridBundle::class => ['all' => true],
Sonata\CoreBundle\SonataCoreBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Sonata\BlockBundle\SonataBlockBundle::class => ['all' => true],
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
Sonata\AdminBundle\SonataAdminBundle::class => ['all' => true],
FOS\UserBundle\FOSUserBundle::class => ['all' => true],
Sonata\UserBundle\SonataUserBundle::class => ['all' => true],
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
Symfony\Cmf\Bundle\RoutingBundle\CmfRoutingBundle::class => ['all' => true],
Sonata\SeoBundle\SonataSeoBundle::class => ['all' => true],
Sonata\NotificationBundle\SonataNotificationBundle::class => ['all' => true],
Sonata\CacheBundle\SonataCacheBundle::class => ['all' => true],
Sonata\PageBundle\SonataPageBundle::class => ['all' => true],
Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle::class => ['all' => true],
Sonata\ClassificationBundle\SonataClassificationBundle::class => ['all' => true],
Spy\TimelineBundle\SpyTimelineBundle::class => ['all' => true],
Sonata\IntlBundle\SonataIntlBundle::class => ['all' => true],
Sonata\TimelineBundle\SonataTimelineBundle::class => ['all' => true],
Knp\Bundle\MarkdownBundle\KnpMarkdownBundle::class => ['all' => true],
Ivory\CKEditorBundle\IvoryCKEditorBundle::class => ['all' => true],
Sonata\FormatterBundle\SonataFormatterBundle::class => ['all' => true],
JMS\SerializerBundle\JMSSerializerBundle::class => ['all' => true],
Sonata\MediaBundle\SonataMediaBundle::class => ['all' => true],
FOS\JsRoutingBundle\FOSJsRoutingBundle::class => ['all' => true],
FM\ElfinderBundle\FMElfinderBundle::class => ['all' => true],
Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle::class => ['all' => true],
FOS\RestBundle\FOSRestBundle::class => ['all' => true],
];

@ -0,0 +1,11 @@
# Read the documentation: https://symfony.com/doc/master/cmf/bundles/routing/configuration.html
# Install phpcr stack before using this configuration
#cmf_routing:
# chain:
# routers_by_id:
# cmf_routing.dynamic_router: 200
# router.default: 100
# dynamic:
# persistence:
# phpcr:
# enabled: true

@ -0,0 +1,7 @@
jms_serializer:
visitors:
json:
options:
- JSON_PRETTY_PRINT
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION

@ -0,0 +1,19 @@
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine", "!console"]

@ -0,0 +1,3 @@
framework:
router:
strict_requirements: true

@ -0,0 +1,8 @@
services:
SensioLabs\Security\SecurityChecker:
public: false
SensioLabs\Security\Command\SecurityCheckerCommand:
arguments: ['@SensioLabs\Security\SecurityChecker']
tags:
- { name: console.command }

@ -0,0 +1,4 @@
# See https://symfony.com/doc/current/email/dev_environment.html
swiftmailer:
# send all emails to a specific address
#delivery_addresses: ['me@example.com']

@ -0,0 +1,6 @@
web_profiler:
toolbar: true
intercept_redirects: false
framework:
profiler: { only_exceptions: false }

@ -0,0 +1,51 @@
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
# With Symfony 3.3, remove the `resolve:` prefix
url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
gedmo_translatable:
type: annotation
prefix: Gedmo\Translatable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
alias: GedmoTranslatable # (optional) it will default to the name set for the mapping
is_bundle: false
gedmo_translator:
type: annotation
prefix: Gedmo\Translator\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translator/Entity"
alias: GedmoTranslator # (optional) it will default to the name set for the mapping
is_bundle: false
gedmo_loggable:
type: annotation
prefix: Gedmo\Loggable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity"
alias: GedmoLoggable # (optional) it will default to the name set for the mappingmapping
is_bundle: false
gedmo_tree:
type: annotation
prefix: Gedmo\Tree\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"
alias: GedmoTree # (optional) it will default to the name set for the mapping
is_bundle: false

@ -0,0 +1,5 @@
doctrine_migrations:
dir_name: '%kernel.project_dir%/src/Migrations'
# namespace is arbitrary but should be different from App\Migrations
# as migrations classes should NOT be autoloaded
namespace: DoctrineMigrations

@ -0,0 +1,31 @@
fm_elfinder:
assets_path: /chamilo_master/public/assets
instances:
default:
locale: '%locale%' # defaults to current request locale
editor: ckeditor # other options are tinymce, tinymce4, form, custom and simple
fullscreen: true # defaults true, applies to simple and ckeditor editors
theme: smoothness # jquery theme
include_assets: true # disable if you want to handle loading of the javascript and css assets yourself
connector:
debug: false # defaults to false
roots: # at least one root must be defined
# uploads:
# show_hidden: false # defaults to false
# driver: LocalFileSystem
# path: uploads
# upload_allow: ['image/png', 'image/jpg', 'image/jpeg']
# upload_deny: ['all']
# upload_max_size: 2M
local:
driver: Flysystem
path: uploads
flysystem:
type: local
options:
local:
path: '%kernel.root_dir%/../public/uploads/media/'
upload_allow: ['all']
#upload_allow: ['image/png', 'image/jpg', 'image/jpeg']
#upload_deny: ['all']
upload_max_size: 2M

@ -0,0 +1,12 @@
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
body_converter:
enabled: false
validate: true
exception:
messages:
'Symfony\Component\HttpKernel\Exception\NotFoundHttpException': true

@ -0,0 +1,17 @@
fos_user:
db_driver: orm # can be orm or odm
firewall_name: secured_area
# if you change the class configuration, please also alter the sonata_user.yml file
user_class: Chamilo\UserBundle\Entity\User
group:
group_class: Chamilo\UserBundle\Entity\Group
group_manager: sonata.user.orm.group_manager
service:
user_manager: sonata.user.orm.user_manager
from_email:
address: 'test@example.com'
sender_name: 'test@example.com'

@ -0,0 +1,27 @@
framework:
secret: '%env(APP_SECRET)%'
#default_locale: en
#csrf_protection: ~
#http_method_override: true
# uncomment this entire section to enable sessions
#session:
# # With this config, PHP's native session handling is used
# handler_id: ~
#esi: ~
#fragments: ~
php_errors:
log: true
templating:
engines: ['twig', 'php']
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
name: ch_sid
fragments: ~
http_method_override: true
assets: ~
annotations: true
translator: ~

@ -0,0 +1,2 @@
framework:
annotations: true

@ -0,0 +1,9 @@
ivory_ck_editor:
default_config: simple_toolbar
configs:
simple_toolbar:
toolbar:
- ['Bold', 'Italic', 'Strike', 'Link']
- ['BulletedList', 'NumberedList', '-', 'Outdent', 'Indent']
- ['Copy', 'Paste', 'PasteFromWord', '-', 'Undo', 'Redo']
- ['Source']

@ -0,0 +1,13 @@
jms_serializer:
visitors:
xml:
format_output: '%kernel.debug%'
# metadata:
# auto_detection: false
# directories:
# any-name:
# namespace_prefix: "My\\FooBundle"
# path: "@MyFooBundle/Resources/config/serializer"
# another-name:
# namespace_prefix: "My\\BarBundle"
# path: "@MyBarBundle/Resources/config/serializer"

@ -0,0 +1,31 @@
doctrine:
orm:
metadata_cache_driver:
type: service
id: doctrine.system_cache_provider
query_cache_driver:
type: service
id: doctrine.system_cache_provider
result_cache_driver:
type: service
id: doctrine.result_cache_provider
services:
doctrine.result_cache_provider:
class: Symfony\Component\Cache\DoctrineProvider
public: false
arguments:
- '@doctrine.result_cache_pool'
doctrine.system_cache_provider:
class: Symfony\Component\Cache\DoctrineProvider
public: false
arguments:
- '@doctrine.system_cache_pool'
framework:
cache:
pools:
doctrine.result_cache_pool:
adapter: cache.app
doctrine.system_cache_pool:
adapter: cache.system

@ -0,0 +1,6 @@
jms_serializer:
visitors:
json:
options:
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION

@ -0,0 +1,17 @@
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_404s:
# regex: exclude all 404 errors from the logs
- ^/
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine"]

@ -0,0 +1,3 @@
framework:
router:
strict_requirements: ~

@ -0,0 +1,85 @@
# To get started with security, check out the documentation:
# http://symfony.com/doc/current/book/security.html
security:
access_control:
- { path: ^/administrator, role: ROLE_ADMIN }
- { path: ^/efconnect, role: ROLE_USER }
- { path: ^/elfinder, role: ROLE_USER }
encoders:
FOS\UserBundle\Model\UserInterface:
id: chamilo_user.security.encoder
role_hierarchy:
ROLE_SONATA_ADMIN: ROLE_USER
ROLE_ADMIN:
- ROLE_SONATA_ADMIN
- ROLE_QUESTION_MANAGER
- ROLE_SESSION_MANAGER
- ROLE_TEACHER
- ROLE_DIRECTOR
- ROLE_JURY_PRESIDENT
- ROLE_CURRENT_COURSE_TEACHER
- SONATA
ROLE_SUPER_ADMIN: [ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
ROLE_GLOBAL_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
ROLE_RRHH: [ROLE_TEACHER]
ROLE_TEACHER: [ROLE_STUDENT]
ROLE_QUESTION_MANAGER: [ROLE_STUDENT, ROLE_QUESTION_MANAGER]
ROLE_SESSION_MANAGER: [ROLE_STUDENT, ROLE_SESSION_MANAGER, ROLE_ALLOWED_TO_SWITCH]
ROLE_STUDENT: [ROLE_STUDENT]
ROLE_CURRENT_TEACHER: []
ROLE_CURRENT_COURSE_STUDENT: [ROLE_CURRENT_COURSE_STUDENT]
ROLE_CURRENT_COURSE_TEACHER: [ROLE_CURRENT_COURSE_TEACHER, ROLE_CURRENT_COURSE_STUDENT]
SONATA:
- ROLE_SONATA_PAGE_ADMIN_PAGE_EDIT # if you are not using acl then this line must be uncommented
- ROLE_SONATA_PAGE_ADMIN_BLOCK_EDIT
ROLE_ANONYMOUS: [ROLE_ANONYMOUS]
access_decision_manager:
# strategy can be: affirmative, unanimous or consensus
strategy: unanimous
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
pattern: .*
context: user
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
login_path: /administration/login
use_forward: false
check_path: /administration/login_check
success_handler: chamilo_core.listener.login_success_handler
failure_path: null
remember_me:
secret: '%secret%'
lifetime: 604800 # 1 week in seconds
path: /
logout:
path: /administration/logout
target: /
anonymous: true
oauth:
resource_owners:
facebook: "/administration/login/check-facebook"
google: "/administration/login/check-google"
github: "/administration/login/check-github"
login_path: /administration/login
check_path: /administration/login_check
failure_path: /administration/connect
use_forward: false
oauth_user_provider:
service: chamilo_user_provider

@ -0,0 +1,210 @@
sonata_notification:
class:
message: Chamilo\NotificationBundle\Entity\Message
sonata_admin:
# default value, change it to sonata.admin.security.handler.acl to use ACL
security:
handler: sonata.admin.security.handler.role
title: Chamilo #%sonata_admin.title%
title_logo: css/themes/chamilo/images/header-logo.png #%sonata_admin.logo_title%
options:
html5_validate: false # does not use html5 validation
pager_links: 5 # pager max links to display
templates:
# default global templates
# the layout template include javascript/stylesheet to the formatter bundle,
# if you don't need it use the default one: SonataAdminBundle::standard_layout.html.
layout: ChamiloAdminBundle::layout.html.twig
# layout: ApplicationSonataAdminBundle::standard_layout.html.twig
#layout: ApplicationSonataAdminBundle::demo_layout.html.twig
# layout: SonataAdminBundle::standard_layout.html.twig
ajax: SonataAdminBundle::ajax_layout.html.twig
# default value if done set, actions templates, should extends a global templates
list: SonataAdminBundle:CRUD:list.html.twig
show: SonataAdminBundle:CRUD:show.html.twig
edit: SonataAdminBundle:CRUD:edit.html.twig
# user_block: ChamiloCoreBundle:Admin:admin_topnav.html.twig
extensions:
# cmf_core.admin_extension.translatable:
# implements:
# - Symfony\Cmf\Bundle\CoreBundle\Translatable\TranslatableInterface
#
# cmf_core.admin_extension.publish_workflow.publishable:
# implements:
# - Symfony\Cmf\Bundle\CoreBundle\PublishWorkflow\PublishableInterface
# cmf_core.admin_extension.publish_workflow.time_period:
# implements:
# - Symfony\Cmf\Bundle\CoreBundle\PublishWorkflow\PublishTimePeriodInterface
dashboard:
blocks:
- { position: left, type: sonata.admin.block.admin_list }
# - { position: right, type: sonata.timeline.block.timeline, settings: { context: SONATA_ADMIN, max_per_page: 25, template: 'ChamiloTimelineBundle:Block:timeline.html.twig',}}
# - { position: right, type: sonata.admin_doctrine_orm.block.audit}
# - { position: center, type: sonata.block.service.text, settings: { content: "<h2>Welcome!</h2> You can customize this dashboard by editing the sonata_admin.yml file. The current dashboard presents the recent items from the NewsBundle and a timeline with the latest action"} }
#- { position: center, type: sonata.news.block.recent_posts, settings: { title: Recent Posts, number: 7, mode: admin }}
# - { position: left, type: sonata.block.service.text, settings: { content: "<div class='panel panel-default'><div class='panel-heading'><h3 class='panel-title'>Welcome!</h3></div><div class='panel-body'>You can customize this dashboard by editing the <code>sonata_admin.yml</code> file. The current dashboard presents the recent items from the NewsBundle and a non-statistical e-commerce information.</div></div>"} }
# - { position: center, type: sonata.news.block.recent_comments, settings: { title: Recent Comments, number: 7, mode: admin }}
#- { position: right, type: sonata.order.block.recent_orders, settings: { title: Recent Orders, number: 5, mode: admin }}
#- { position: right, type: sonata.customer.block.recent_customers, settings: { title: Recent Customers, number: 5, mode: admin }}
#- { position: right, type: sonata.block.service.rss, settings: { title: Sonata Project's Feeds, url: http://sonata-project.org/blog/archive.rss }}
groups:
sonata.admin.group.content:
label: Content
label_catalogue: SonataDemoBundle
#icon: '<i class="fa fa-th"></i>'
items:
- sonata.page.admin.page
# - sonata.news.admin.comment
# - sonata.news.admin.post
- sonata.media.admin.media
- sonata.media.admin.gallery
# - sonata.comment.admin.thread
sonata.admin.group.site_builder:
label: Site Builder
label_catalogue: SonataDemoBundle
#icon: '<i class="fa fa-puzzle-piece"></i>'
items:
- sonata.page.admin.page
- sonata.page.admin.site
- sonata.admin.contact_category
sonata.admin.group.faq:
label: FAQ
label_catalogue: Faq
#icon: '<i class="fa fa-puzzle-piece"></i>'
items:
- sonata.admin.faq_category
- sonata.admin.faq_question
sonata.admin.group.classification:
label: sonata_classification
label_catalogue: SonataClassificationBundle
#icon: '<i class="fa fa-sitemap"></i>'
items:
- sonata.classification.admin.category
- sonata.classification.admin.tag
- sonata.classification.admin.collection
sonata.admin.group.administration:
label: sonata_administration
label_catalogue: SonataAdminBundle
#icon: '<i class="fa fa-cogs"></i>'
items:
# - sonata.notification.admin.message
# - sonata.admin.settings_current
# - sonata.admin.tool
sonata.admin.group.user:
label: Users
#icon: '<i class="fa fa-play-circle"></i>'
label_catalogue: SonataAdminBundle
items:
- sonata.user.admin.user
- sonata.user.admin.group
# - sonata.admin.user_group
# - sonata.admin.user_field
# - sonata.admin.user_field_values
# sonata.admin.group.course:
# label: Courses
# #icon: '<i class="fa fa-play-circle"></i>'
# label_catalogue: SonataAdminBundle
# items:
## - sonata.admin.course
# - sonata.admin.course_category
# - sonata.admin.course_request
# - sonata.admin.c_group_info
## - sonata.admin.notebook
# sonata.admin.group.session:
# label: Sessions
# #icon: '<i class="fa fa-play-circle"></i>'
# label_catalogue: SonataAdminBundle
# items:
# - sonata.admin.session
# - sonata.admin.session_category
# - sonata.admin.career
# - sonata.admin.promotion
# sonata.admin.group.url:
# label: URLs
# #icon: '<i class="fa fa-play-circle"></i>'
# label_catalogue: SonataAdminBundle
# items:
# - sonata.admin.access_url
assets:
stylesheets:
# The sandbox includes default pre-optimized version of some css and js
# So you can either use them, and add your custom assets here
# ~ or ~
# tweak the assetic.yml and the following lines
- assetic/sonata_admin_css.css
- assetic/sonata_formatter_css.css
- assetic/sonata_jqueryui_css.css
- bundles/sonataadmin/vendor/admin-lte/dist/css/skins/skin-black.min.css
# Default admin assets
# - bundles/sonatacore/vendor/bootstrap/dist/css/bootstrap.min.css
# - bundles/sonatacore/vendor/components-font-awesome/css/font-awesome.min.css
# - bundles/sonatacore/vendor/ionicons/css/ionicons.min.css
# - bundles/sonataadmin/vendor/admin-lte/dist/css/AdminLTE.min.css
# - bundles/sonataadmin/vendor/iCheck/skins/flat/blue.css
# - bundles/sonatacore/vendor/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css
# - bundles/sonataadmin/vendor/jqueryui/themes/base/jquery-ui.css
# - bundles/sonatacore/vendor/select2/select2.css
# - bundles/sonatacore/vendor/select2-bootstrap-css/select2-bootstrap.min.css
# - bundles/sonataadmin/vendor/x-editable/dist/bootstrap3-editable/css/bootstrap-editable.css
# - bundles/sonataadmin/css/styles.css
# - bundles/sonataadmin/css/layout.css
# - bundles/sonataadmin/css/tree.css
# Formatter assets
# - bundles/sonataformatter/markitup/skins/sonata/style.css
# - bundles/sonataformatter/markitup/sets/markdown/style.css
# - bundles/sonataformatter/markitup/sets/html/style.css
# - bundles/sonataformatter/markitup/sets/textile/style.css
# Page assets
# - bundles/sonatapage/sonata-page.back.min.css
javascripts:
- assetic/sonata_admin_js.js
# - bundles/sonataadmin/Admin.js
# - bundles/sonataadmin/treeview.js
- assetic/sonata_jqueryui_js.js
- assetic/sonata_formatter_js.js
- bundles/sonataformatter/vendor/ckeditor/ckeditor.js
# Default admin assets
# - bundles/sonatacore/vendor/jquery/dist/jquery.min.js
# - bundles/sonataadmin/vendor/jquery.scrollTo/jquery.scrollTo.min.js
# - bundles/sonatacore/vendor/moment/min/moment.min.js
# - bundles/sonatacore/vendor/bootstrap/dist/js/bootstrap.min.js
# - bundles/sonatacore/vendor/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js
# - bundles/sonataadmin/vendor/jqueryui/ui/minified/jquery-ui.min.js
# - bundles/sonataadmin/vendor/jqueryui/ui/minified/i18n/jquery-ui-i18n.min.js
# - bundles/sonataadmin/jquery/jquery.form.js
# - bundles/sonataadmin/jquery/jquery.confirmExit.js
# - bundles/sonataadmin/vendor/x-editable/dist/bootstrap3-editable/js/bootstrap-editable.min.js
# - bundles/sonatacore/vendor/select2/select2.min.js
# - bundles/sonataadmin/vendor/admin-lte/dist/js/app.min.js
# - bundles/sonataadmin/vendor/iCheck/icheck.min.js
# - bundles/sonataadmin/vendor/slimScroll/jquery.slimscroll.min.js
# - bundles/sonataadmin/Admin.js
# - bundles/sonataadmin/treeview.js
# Formatter assets
# - bundles/sonataformatter/vendor/markitup-markitup/markitup/jquery.markitup.js
# - bundles/sonataformatter/markitup/sets/markdown/set.js
# - bundles/sonataformatter/markitup/sets/html/set.js
# - bundles/sonataformatter/markitup/sets/textile/set.js
# Page assets
# - bundles/sonatapage/sonata-page.back.js

@ -0,0 +1,80 @@
sonata_block:
context_manager: sonata.page.block.context_manager
default_contexts: [sonata_page_bundle]
http_cache:
listener: true
# menus:
# "ChamiloCoreBundle:MainMenuBuilder:mainMenu": "Main Menu"
# #"SonataDemoBundle:Builder:mainMenu": "Main Menu"
blocks:
# Chamilo blocks
chamilo_core.block.breadcrumb: ~
chamilo_core.block.course: ~
chamilo_core.block.skill: ~
sonata.admin.block.stats:
contexts: [admin]
sonata.admin.block.admin_list:
contexts: [admin]
sonata.admin.block.search_result:
contexts: [admin]
sonata.admin_doctrine_orm.block.audit:
contexts: [admin]
# Builtin Block
sonata.block.service.text:
sonata.block.service.container:
sonata.block.service.rss:
sonata.block.service.menu:
sonata.block.service.template:
# PageBundle's Blocks
sonata.page.block.container:
# cache: sonata.cache.memcached
# cache: sonata.cache.predis
# cache: sonata.page.cache.esi # if you are using the PageBundle
# cache: sonata.block.cache.esi # if you are using the BlockBundle without the PageBundle
sonata.page.block.children_pages:
sonata.page.block.breadcrumb:
# MediaBundle's Blocks
sonata.media.block.media:
sonata.media.block.gallery:
sonata.media.block.feature_media:
# NewsBundle's Blocks
sonata.news.block.recent_comments:
sonata.news.block.recent_posts:
# TimelineBundle's Blocks
sonata.timeline.block.timeline:
contexts: [admin]
# UserBundle's Blocks
sonata.user.block.account:
cache: sonata.page.cache.js_async
#cache: sonata.page.cache.esi
contexts: [user]
sonata.user.block.menu:
contexts: [user]
# SeoBundle's Blocks
sonata.seo.block.social.container:
sonata.seo.block.email.share_button:
sonata.seo.block.facebook.like_box:
sonata.seo.block.facebook.like_button:
sonata.seo.block.facebook.send_button:
sonata.seo.block.facebook.share_button:
sonata.seo.block.pinterest.pin_button:
sonata.seo.block.twitter.share_button:
sonata.seo.block.twitter.follow_button:
sonata.seo.block.twitter.hashtag_button:
sonata.seo.block.twitter.mention_button:
sonata.seo.block.twitter.embed:
# Formatter
sonata.formatter.block.formatter:
sonata.seo.block.breadcrumb.homepage:

@ -0,0 +1,33 @@
#
# more information can be found here http://sonata-project.org/bundles/cache
#
#sonata_cache:
# caches:
# esi:
# servers:
# - varnishadm -T 127.0.0.1:2000 {{ COMMAND }} "{{ EXPRESSION }}"
#
# ssi:
# token: TheToken
#
# mongo:
# database: cache
# collection: cache
# servers:
# - {host: 127.0.0.1, port: 27017, user: username, password: pASS'}
# - {host: 127.0.0.2}
#
# memcached:
# prefix: test # prefix to ensure there is no clash between instances
# servers:
# - {host: 127.0.0.1, port: 11211, weight: 0}
#
# predis:
# servers:
# - {host: 127.0.0.1, port: 11211, database: 6379}
#
# apc:
# token: s3cur3 # token used to clear the related cache
# prefix: test # prefix to ensure there is no clash between instances
# servers:
# - { domain: kooqit.local, ip: 127.0.0.1, port: 80}

@ -0,0 +1,15 @@
sonata_classification:
class:
tag: Chamilo\ClassificationBundle\Entity\Tag
category: Chamilo\ClassificationBundle\Entity\Category
context: Chamilo\ClassificationBundle\Entity\Context
collection: Chamilo\ClassificationBundle\Entity\Collection
media: Chamilo\MediaBundle\Entity\Media
#doctrine:
# orm:
# entity_managers:
# default:
# mappings:
# ChamiloClassificationBundle: ~

@ -0,0 +1,28 @@
sonata_core:
form_type: horizontal
flashmessage:
success:
types:
- { type: my_custom_bundle_success }
- { type: my_other_bundle_success }
warning:
types:
- { type: my_custom_bundle_warning }
- { type: my_other_bundle_warning }
error:
css_class: danger # optionally, a CSS class can be defined
types:
- { type: my_custom_bundle }
confirmation: # You can add custom types too
types:
- { type: custom_bundle_type }
confirm: # You can add custom types too
types:
- { type: custom_bundle_type }
normal:
types:
- { type: custom_bundle_type }
no_layout: # You can add custom types too
types:
- { type: custom_bundle_type }

@ -0,0 +1,35 @@
#
# more information can be found here http://sonata-project.org/bundles/formatter
#
sonata_formatter:
formatters:
markdown:
service: sonata.formatter.text.markdown
extensions:
- sonata.formatter.twig.control_flow
- sonata.formatter.twig.gist
- sonata.media.formatter.twig
text:
service: sonata.formatter.text.text
extensions:
- sonata.formatter.twig.control_flow
- sonata.formatter.twig.gist
- sonata.media.formatter.twig
rawhtml:
service: sonata.formatter.text.raw
extensions:
- sonata.formatter.twig.control_flow
- sonata.formatter.twig.gist
- sonata.media.formatter.twig
richhtml:
service: sonata.formatter.text.raw
extensions:
- sonata.formatter.twig.control_flow
- sonata.formatter.twig.gist
- sonata.media.formatter.twig
ckeditor:
templates:
browser: 'SonataFormatterBundle:Ckeditor:browser.html.twig'
upload: 'SonataFormatterBundle:Ckeditor:upload.html.twig'

@ -0,0 +1,12 @@
#
# more information can be found here http://sonata-project.org/bundles/intl
#
sonata_intl:
locale: ~
timezone:
# if service is left blank, the chain detector will be used with detectors
# defined in the dedicated section
service: ~
detectors:
- sonata.intl.timezone_detector.user # default value if SonataUserBundle is available
- sonata.intl.timezone_detector.locale # default value

@ -0,0 +1,186 @@
sonata_media:
class:
media: Chamilo\MediaBundle\Entity\Media
gallery: Chamilo\MediaBundle\Entity\Gallery
gallery_has_media: Chamilo\MediaBundle\Entity\GalleryHasMedia
category: Chamilo\ClassificationBundle\Entity\Category
db_driver: doctrine_orm # | doctrine_mongodb
default_context: default
contexts:
default: # the default context is mandatory
download:
mode: http # X-Sendfile | http
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file
- sonata.media.provider.vimeo
formats:
small: { width: 100, quality: 100}
big: { width: 970 , quality: 100}
course:
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file
- sonata.media.provider.vimeo
formats:
small: { width: 100, quality: 100}
big: { width: 970 , quality: 100}
news:
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
formats:
abstract: { width: 100, quality: 100}
wide: { width: 820, quality: 100}
sonata_collection:
providers:
- sonata.media.provider.image
formats:
preview: { width: 100, quality: 100}
wide: { width: 820, quality: 100}
sonata_category:
providers:
- sonata.media.provider.image
formats:
preview: { width: 100, quality: 100}
wide: { width: 820, quality: 100}
user:
providers:
- sonata.media.provider.image
formats:
small: { width: 100, quality: 100}
big: { width: 970 , quality: 100}
cdn:
# define the public base url for the uploaded media
server:
path: '%url_append%%sonata_media.cdn.host%'
filesystem:
# define where the uploaded file will be stored
local:
directory: '%kernel.root_dir%/../public/uploads/media'
create: true
providers:
# ...
file:
# the resizer must be set to false, otherwhise this can delete icon files from the fs
resizer: false
image:
thumbnail: sonata.media.thumbnail.format # default value
# thumbnail: sonata.media.thumbnail.consumer.format # can be used to dispatch the resize action to async task
# thumbnail: sonata.media.thumbnail.liip_imagine # use the LiipImagineBundle to resize the image
vimeo:
thumbnail: sonata.media.thumbnail.format # default value
# thumbnail: sonata.media.thumbnail.consumer.format # can be used to dispatch the resize action to async task
# thumbnail: sonata.media.thumbnail.liip_imagine # use the LiipImagineBundle to resize the image
youtube:
thumbnail: sonata.media.thumbnail.format # default value
# thumbnail: sonata.media.thumbnail.consumer.format # can be used to dispatch the resize action to async task
# thumbnail: sonata.media.thumbnail.liip_imagine # use the LiipImagineBundle to resize the image
dailymotion:
thumbnail: sonata.media.thumbnail.format # default value
# thumbnail: sonata.media.thumbnail.consumer.format # can be used to dispatch the resize action to async task
# thumbnail: sonata.media.thumbnail.liip_imagine # use the LiipImagineBundle to resize the image
pixlr:
enabled: true
referrer: App
resizer:
simple:
# mode: outbound
mode: inset
#
# The LiipImagineBundle can be used if you want to convert on demand an image
# to a specific format. (ie a controller render the file)
# more information can be found here : https://github.com/liip/LiipImagineBundle
#
#liip_imagine:
# filter_sets:
#
# # this configuration match the sonata_media configuration format definition
# sonata_product_preview:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [100, 100], mode: outbound }
#
# sonata_product_small:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [200, 100], mode: outbound }
#
# sonata_product_large:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [600, 100], mode: outbound }
#
# news_abstract:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [100, 100], mode: outbound }
#
# news_wide:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [820, 100], mode: outbound }
#
# sonata_collection_preview:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [100, 100], mode: outbound }
#
# sonata_collection_wide:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [820, 100], mode: outbound }
#
# sonata_category_preview:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [100, 100], mode: outbound }
#
# sonata_category_wide:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [820, 100], mode: outbound }
#
# default_small:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [100, 100], mode: outbound }
#
# default_big:
# quality: 75
# controller_action: 'SonataMediaBundle:Media:liipImagineFilter'
# filters:
# thumbnail: { size: [820, 70], mode: outbound }

@ -0,0 +1,187 @@
# more information can be found here http://sonata-project.org/bundles/page
cmf_routing:
chain:
routers_by_id:
# enable the DynamicRouter with high priority to allow overwriting configured routes with content
#symfony_cmf_routing_extra.dynamic_router: 200
# enable the symfony default router with a lower priority
router.default: 150 # First chamilo/symfony2 router
sonata.page.router: 100 # then the page router
sonata_page:
class:
page: Chamilo\PageBundle\Entity\Page
site: Chamilo\PageBundle\Entity\Site
block: Chamilo\PageBundle\Entity\Block
snapshot: Chamilo\PageBundle\Entity\Snapshot
multisite: host_with_path_by_locale # host
use_streamed_response: false # set the value to false in debug mode or if the reverse proxy does not handle streamed response
ignore_uri_patterns:
- ^/administration(.*) # sonata admin
- ^/admin(.*) # chamilo admin
- ^/main(.*)
- ^/plugin(.*)
- /(.*)/(.*)administration(.*)/
- ^/api/(.*)
- ^/login/(.*)
- ^/connect/(.*)
- ^/packages/(.*)
- ^/package/(.*)
- ^install
- ^/install/(.*)
- install.php
- install.php/(.*)
- install.php/packages/(.*)
- install.php/package/(.*)
- install.php/(.*)/(.*)
- ^/bundles/(.*)
- ^/_wdt/(.*)
- ^/_profiler/(.*)
- ^/userportal
- ^/userportal/(.*)
- ^/js/(.*)
- ^/faq/(.*)
- ^/faq
- ^/courses/(.*)
- ^/front/editor
- ^/contact(.*) # sonata admin
- ^/cms/pages/latest
- ^/cms/pages/latest/(.*)
ignore_route_patterns:
- (.*)administration(.*) # ignore admin route, ie route containing 'admin' # sonata admin
- ^_(.*) # ignore symfony routes
- fos_user(.*)
- sylius_flow(.*)
ignore_routes:
- home
- elfinder
- login
- logout
- fos_js_routing_js
- _settings
- main
- sonata_page_cache_esi
- sonata_page_cache_ssi
- sonata_page_js_sync_cache
- sonata_page_js_async_cache
- sonata_cache_esi
- sonata_cache_ssi
- sonata_cache_js_async
- sonata_cache_js_sync
- sonata_cache_apc
- chamilo_installer_flow
- sylius_flow_start
- sylius_flow_display
- sylius_flow_forward
- chamilo_core_user_user_mycourses
- chamilo_page_page_getlatestpages
cache_invalidation:
service: sonata.page.cache.invalidation.simple
recorder: sonata.page.cache.recorder
# classes:
# "Chamilo\PageBundle\Entity\Block": getId
assets:
stylesheets:
- assetic/sonata_front_css.css
javascripts:
- assetic/sonata_front_js.js
default_template: default
templates:
default:
path: 'ChamiloPageBundle::demo_layout.html.twig'
# path: '::layout.html.twig'
name: 'default'
containers:
header:
name: Header
content_top:
name: Top content
content:
name: Main content
content_bottom:
name: Bottom content
footer:
name: Footer
matrix:
layout: |
HHHHHHHH
TTTTTTTT
CCCCCCCC
BBBBBBBB
FFFFFFFF
mapping:
H: header
T: content_top
C: content
B: content_bottom
F: footer
2columns:
path: 'ChamiloPageBundle::demo_2columns_layout.html.twig'
# path: '::layout.html.twig'
name: '2 columns layout'
containers:
header:
name: Header
content_top:
name: Top content
left_col:
name: Left content
rigth_col:
name: Right content
content_bottom:
name: Bottom content
footer:
name: Footer
matrix:
layout: |
HHHHHHHH
TTTTTTTT
LLLLRRRR
BBBBBBBB
FFFFFFFF
mapping:
H: header
T: content_top
L: left_col
R: rigth_col
B: content_bottom
F: footer
page_defaults:
homepage: { decorate: false, enabled: true }
home: { decorate: false, enabled: true }
caches:
esi:
token: add an unique token here # default is a random value
version: 3 # version 3 is the default on debian wheezy ...
servers:
- '%sonata_page.varnish.command%' # you need to adapt this line to work with your configuration
ssi:
token: add an unique token here # default is a random value
catch_exceptions:
not_found: [404] # render 404 page with "not_found" key (name generated: _page_internal_error_{key})
fatal: [500] # so you can use the same page for different http errors or specify specific page for each error
# Enable Doctrine to map the provided entities
doctrine:
orm:
entity_managers:
default:
mappings:
ChamiloPageBundle: ~
SonataPageBundle: ~

@ -0,0 +1,46 @@
sonata_seo:
encoding: UTF-8
page:
default: sonata.seo.page.default
title: Chamilo
metas:
name:
keywords: 'chamilo e-learning'
description: 'chamilo e-learning'
robots: index, follow
viewport: width=device-width,initial-scale=1
apple-mobile-web-app-capable: yes
author: chamilo
Generator: Chamilo 2
property:
# Facebook application settings
#'fb:app_id': XXXXXX
#'fb:admins': admin1, admin2
# Open Graph information
# see http://developers.facebook.com/docs/opengraphprotocol/#types or http://ogp.me/
# 'og:site_name': %sonata_admin.title%
# 'og:description': %sonata_admin.title%
http-equiv:
# 'Content-Type': text/html; charset=utf-8
#'X-Ua-Compatible': IE=EmulateIE7
head:
'xmlns': http://www.w3.org/1999/xhtml
# sitemap:
# services:
# - sonata.product.seo_iterator
# doctrine_orm:
# # media
# - { connection: doctrine.dbal.default_connection, route: sonata_media_view, parameters: {id: null}, query: "SELECT id, updated_at as lastmod, 'weekly' as changefreq, '0.5' as prioriy FROM media__media WHERE enabled = true" }
# # blog post
# - { connection: doctrine.dbal.default_connection, route: sonata_news_view, parameters: {permalink: null}, query: "SELECT CONCAT_WS('/', YEAR(created_at), MONTH(created_at), DAY(created_at), slug) as permalink , updated_at as lastmod, 'weekly' as changefreq, '0.5' as prioriy FROM news__post WHERE enabled = 1 AND (publication_date_start IS NULL OR publication_date_start <= NOW())" }
# # page - works only for one site, please adapt the code if required
# - { connection: doctrine.dbal.default_connection, route: page_slug, parameters: {path: null}, query: "SELECT url as path, updated_at as lastmod, 'weekly' as changefreq, '0.5' as prioriy FROM page__snapshot WHERE route_name = 'page_slug' AND enabled = 1 AND (publication_date_start IS NULL OR publication_date_start <= NOW())" }
# # product categories
# - { connection: doctrine.dbal.default_connection, route: sonata_catalog_category, parameters: {category_id: null, category_slug: null}, query: "SELECT id as category_id, slug as category_slug, updated_at as lastmod, 'weekly' as changefreq, '0.5' as prioriy FROM classification__category WHERE enabled = true" }
# # products
# - { connection: doctrine.dbal.default_connection, route: sonata_product_view, parameters: {productId: null, slug: null}, query: "SELECT id as productId, slug, updated_at as lastmod, 'weekly' as changefreq, '0.5' as prioriy FROM product__product WHERE enabled = true" }

@ -0,0 +1,7 @@
#sonata_timeline:
# manager_type: orm
# class:
# timeline: '%spy_timeline.class.timeline%'
# action: '%spy_timeline.class.action%'
# component: '%spy_timeline.class.component%'
# action_component: '%spy_timeline.class.action_component%'

@ -0,0 +1,50 @@
# if you change the class configuration, please also alter the fos_user.yml file
sonata_user:
admin:
user:
class: Chamilo\UserBundle\Admin\UserAdmin
group:
class: Chamilo\UserBundle\Admin\GroupAdmin
class:
# Entity Classes
user: Chamilo\UserBundle\Entity\User
group: Chamilo\UserBundle\Entity\Group
security_acl: false
table:
user_group: fos_user_user_group
impersonating:
route: page_slug
parameters: { path: / }
# google_authenticator:
# server: %sonata_user.google_authenticator.server%
# enabled: true
manager_type: orm
profile:
# dashboard:
# blocks:
# - { position: left, type: sonata.block.service.text, settings: { content: "<h2>Welcome!</h2> <p>This is a sample user profile dashboard, feel free to override it in the configuration! Want to make this text dynamic? For instance display the user's name? Create a dedicated block and edit the configuration!</p>"} }
#
# menu:
# - { route: 'sonata_user_profile_show', label: 'sonata_profile_title', domain: 'SonataUserBundle'}
# - { route: 'sonata_user_profile_edit', label: 'link_edit_profile', domain: 'SonataUserBundle'}
#
# form:
# type: sonata_user_registration
# handler: sonata.user.profile.form.handler.default
# name: sonata_user_registration_form
# validation_groups:
# - Profile
# register:
# form:
# type: chamilo_sonata_user_registration
# handler: sonata.user.registration.form.handler.default
# name: chamilo_sonata_user_registration
# validation_groups:
# - Registration
# - Default

@ -0,0 +1,19 @@
spy_timeline:
drivers:
orm:
object_manager: doctrine.orm.entity_manager
classes:
query_builder: ~ # Spy\TimelineBundle\Driver\ORM\QueryBuilder\QueryBuilder
timeline: Chamilo\TimelineBundle\Entity\Timeline
action: Chamilo\TimelineBundle\Entity\Action
component: Chamilo\TimelineBundle\Entity\Component
action_component: Chamilo\TimelineBundle\Entity\ActionComponent
filters:
data_hydrator:
priority: 20
service: spy_timeline.filter.data_hydrator
filter_unresolved: false
locators:
- spy_timeline.filter.data_hydrator.locator.doctrine_orm

@ -0,0 +1,9 @@
stof_doctrine_extensions:
default_locale: "%locale%"
translation_fallback: true
orm:
default:
tree: true
timestampable: true
sluggable: true
sortable: true

@ -0,0 +1,3 @@
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }

@ -0,0 +1,5 @@
framework:
test: ~
# Uncomment this section if you're using sessions
#session:
# storage_id: session.storage.mock_file

@ -0,0 +1,7 @@
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]

@ -0,0 +1,2 @@
swiftmailer:
disable_delivery: true

@ -0,0 +1,6 @@
web_profiler:
toolbar: false
intercept_redirects: false
framework:
profiler: { collect: false }

@ -0,0 +1,7 @@
framework:
default_locale: '%locale%'
translator:
paths:
- '%kernel.project_dir%/translations'
fallbacks:
- '%locale%'

@ -0,0 +1,28 @@
twig:
paths: ['%kernel.project_dir%/templates']
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
exception_controller: 'FOS\RestBundle\Controller\ExceptionController::showAction'
globals:
show_toolbar: true
show_footer: true
software_name: Chamilo
version: 2
session_teachers:
teachers:
news_counter:
news_list:
messages_count:
message_link:
is_profile_editable:
administrator_name:
execution_stats:
course_session_block:
show_course_shortcut:
show_course_navigation_menu:
actions:
header:
message:
show_media_element: 1
plugin_header_main:

@ -0,0 +1,10 @@
services:
_defaults:
public: false
autowire: true
autoconfigure: true
#Twig\Extensions\ArrayExtension: ~
#Twig\Extensions\DateExtension: ~
#Twig\Extensions\IntlExtension: ~
#Twig\Extensions\TextExtension: ~

@ -0,0 +1,3 @@
web_profiler:
toolbar: true
intercept_redirects: false

@ -0,0 +1,3 @@
#index:
# path: /
# controller: App\Controller\DefaultController::index

@ -0,0 +1,3 @@
controllers:
resource: ../../src/Controller/
type: annotation

@ -0,0 +1,3 @@
_errors:
resource: '@TwigBundle/Resources/config/routing/errors.xml'
prefix: /_error

@ -0,0 +1,7 @@
web_profiler_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt
web_profiler_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler

@ -0,0 +1,2 @@
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"

@ -0,0 +1,40 @@
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: 'en'
twig:
form:
resources:
- 'GeneratorBundle::fields.html.twig'
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: admin@example.com
mailer_password: null
url_append: ''
course_info_is_not_editable: false
sonata_media.cdn.host: /uploads/media
services:
# default configuration for services in *this* file
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
public: false # Allows optimizing the container by removing unused services; this also means
# fetching services directly from the container via $container->get() won't work.
# The best practice is to be explicit about your dependencies anyway.
# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
Chamilo\:
resource: '../src/*'
exclude: '../src/{Entity,Migrations,Tests}'
# controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
# App\Controller\:
# resource: '../src/Controller'
# tags: ['controller.service_arguments']
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones

@ -0,0 +1,9 @@
services:
_defaults:
public: true
# If you need to access services in a test, create an alias
# and then fetch that alias from the container. As a convention,
# aliases are prefixed with test. For example:
#
# test.App\Service\MyService: '@App\Service\MyService'
Loading…
Cancel
Save