# 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(.*)
        - /(.*)/(.*)administration(.*)/
        - ^/api/(.*)
        - ^install
        - ^/install/(.*)
        - ^/packages/(.*)
        - ^/package/(.*)
        - 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: ~
