Twig \ Error \ RuntimeError
An exception has been thrown during the rendering of a template ("429 Too Many Requests /agents_%2A/_search") in "@Page:/var/app/current/user/pages/02.nos-conseillers/fiche" at line 5.
Previous exceptions
  • 429 Too Many Requests /agents_%2A/_search (429)
Twig\Error\RuntimeError thrown with message "An exception has been thrown during the rendering of a template ("429 Too Many Requests /agents_%2A/_search") in "@Page:/var/app/current/user/pages/02.nos-conseillers/fiche" at line 5." Stacktrace: #76 Twig\Error\RuntimeError in /var/app/current/vendor/twig/twig/src/Template.php:457 #75 Elasticsearch\Common\Exceptions\BadRequest400Exception in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:641 #74 Elasticsearch\Connections\Connection:process4xxError in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:328 #73 Elasticsearch\Connections\Connection:Elasticsearch\Connections\{closure} in /var/app/current/user/plugins/seofactory/vendor/react/promise/src/FulfilledPromise.php:28 #72 React\Promise\FulfilledPromise:then in /var/app/current/user/plugins/seofactory/vendor/ezimuel/ringphp/src/Future/CompletedFutureValue.php:55 #71 GuzzleHttp\Ring\Future\CompletedFutureValue:then in /var/app/current/user/plugins/seofactory/vendor/ezimuel/ringphp/src/Core.php:341 #70 GuzzleHttp\Ring\Core:proxy in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:340 #69 Elasticsearch\Connections\Connection:Elasticsearch\Connections\{closure} in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:236 #68 Elasticsearch\Connections\Connection:performRequest in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php:115 #67 Elasticsearch\Transport:performRequest in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php:1637 #66 Elasticsearch\Client:performRequest in /var/app/current/user/plugins/seofactory/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php:1220 #65 Elasticsearch\Client:search in /var/app/current/user/plugins/seofactory/classes/Adapter/ElasticsearchClient.php:83 #64 Grav\Plugin\SEOFactory\Adapter\ElasticsearchClient:search in /var/app/current/user/plugins/seofactory/classes/Searches/AgentSearch.php:64 #63 Grav\Plugin\SEOFactory\Searches\AgentSearch:findAll in /var/app/current/user/plugins/seofactory/classes/Searches/AbstractSearch.php:45 #62 Grav\Plugin\SEOFactory\Searches\AbstractSearch:findOne in /var/app/current/user/plugins/seofactory/classes/SeoFunctions.php:813 #61 Grav\Plugin\SEOFactory\SeoFunctions:getAgentSEO in /var/app/current/cache/twig/02/024c14e8e30ddd6025cb584a8d97ef504485ad10df6d48577bfcfe8f95c7dbed.php:40 #60 __TwigTemplate_412ef6ad2d95482bd96d4cb16ee414cf8c189fa516bb610e4d16726458a68cc7:doDisplay in /var/app/current/vendor/twig/twig/src/Template.php:443 #59 Twig\Template:displayWithErrorHandling in /var/app/current/vendor/twig/twig/src/Template.php:414 #58 Twig\Template:display in /var/app/current/vendor/twig/twig/src/Template.php:422 #57 Twig\Template:render in /var/app/current/vendor/twig/twig/src/TemplateWrapper.php:47 #56 Twig\TemplateWrapper:render in /var/app/current/vendor/twig/twig/src/Environment.php:384 #55 Twig\Environment:render in /var/app/current/system/src/Grav/Common/Twig/Twig.php:288 #54 Grav\Common\Twig\Twig:processPage in /var/app/current/system/src/Grav/Common/Page/Page.php:851 #53 Grav\Common\Page\Page:processTwig in /var/app/current/system/src/Grav/Common/Page/Page.php:704 #52 Grav\Common\Page\Page:content in /var/app/current/system/src/Grav/Common/Twig/Twig.php:366 #51 Grav\Common\Twig\Twig:processSite in /var/app/current/system/src/Grav/Common/Service/OutputServiceProvider.php:28 #50 Grav\Common\Service\OutputServiceProvider:Grav\Common\Service\{closure} in /var/app/current/vendor/pimple/pimple/src/Pimple/Container.php:118 #49 Pimple\Container:offsetGet in /var/app/current/system/src/Grav/Common/Processors/RenderProcessor.php:28 #48 Grav\Common\Processors\RenderProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #47 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #46 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php:28 #45 Grav\Common\Processors\DebuggerAssetsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #44 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #43 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/PagesProcessor.php:69 #42 Grav\Common\Processors\PagesProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #41 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #40 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/TwigProcessor.php:27 #39 Grav\Common\Processors\TwigProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #38 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #37 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/AssetsProcessor.php:28 #36 Grav\Common\Processors\AssetsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #35 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #34 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/SchedulerProcessor.php:29 #33 Grav\Common\Processors\SchedulerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #32 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #31 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/BackupsProcessor.php:28 #30 Grav\Common\Processors\BackupsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #29 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #28 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/TasksProcessor.php:59 #27 Grav\Common\Processors\TasksProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #26 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #25 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/RequestProcessor.php:52 #24 Grav\Common\Processors\RequestProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #23 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #22 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ThemesProcessor.php:27 #21 Grav\Common\Processors\ThemesProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #20 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #19 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/PluginsProcessor.php:30 #18 Grav\Common\Processors\PluginsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #17 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #16 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/InitializeProcessor.php:78 #15 Grav\Common\Processors\InitializeProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #14 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #13 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/DebuggerProcessor.php:27 #12 Grav\Common\Processors\DebuggerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #11 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #10 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ErrorsProcessor.php:27 #9 Grav\Common\Processors\ErrorsProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #8 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #7 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/LoggerProcessor.php:48 #6 Grav\Common\Processors\LoggerProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #5 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #4 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Processors/ConfigurationProcessor.php:28 #3 Grav\Common\Processors\ConfigurationProcessor:process in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:45 #2 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Framework/RequestHandler/Traits/RequestHandlerTrait.php:57 #1 Grav\Framework\RequestHandler\RequestHandler:handle in /var/app/current/system/src/Grav/Common/Grav.php:249 #0 Grav\Common\Grav:process in /var/app/current/index.php:53
Stack frames (77)
76
Twig
\
Error
\
RuntimeError
/
vendor
/
twig
/
twig
/
src
/
Template.php
457
75
Elasticsearch
\
Common
\
Exceptions
\
BadRequest400Exception
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
641
74
Elasticsearch
\
Connections
\
Connection
process4xxError
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
328
73
Elasticsearch
\
Connections
\
Connection
Elasticsearch
\
Connections
\
{closure}
/
user
/
plugins
/
seofactory
/
vendor
/
react
/
promise
/
src
/
FulfilledPromise.php
28
72
React
\
Promise
\
FulfilledPromise
then
/
user
/
plugins
/
seofactory
/
vendor
/
ezimuel
/
ringphp
/
src
/
Future
/
CompletedFutureValue.php
55
71
GuzzleHttp
\
Ring
\
Future
\
CompletedFutureValue
then
/
user
/
plugins
/
seofactory
/
vendor
/
ezimuel
/
ringphp
/
src
/
Core.php
341
70
GuzzleHttp
\
Ring
\
Core
proxy
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
340
69
Elasticsearch
\
Connections
\
Connection
Elasticsearch
\
Connections
\
{closure}
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
236
68
Elasticsearch
\
Connections
\
Connection
performRequest
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Transport.php
115
67
Elasticsearch
\
Transport
performRequest
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Client.php
1637
66
Elasticsearch
\
Client
performRequest
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Client.php
1220
65
Elasticsearch
\
Client
search
/
user
/
plugins
/
seofactory
/
classes
/
Adapter
/
ElasticsearchClient.php
83
64
Grav
\
Plugin
\
SEOFactory
\
Adapter
\
ElasticsearchClient
search
/
user
/
plugins
/
seofactory
/
classes
/
Searches
/
AgentSearch.php
64
63
Grav
\
Plugin
\
SEOFactory
\
Searches
\
AgentSearch
findAll
/
user
/
plugins
/
seofactory
/
classes
/
Searches
/
AbstractSearch.php
45
62
Grav
\
Plugin
\
SEOFactory
\
Searches
\
AbstractSearch
findOne
/
user
/
plugins
/
seofactory
/
classes
/
SeoFunctions.php
813
61
Grav
\
Plugin
\
SEOFactory
\
SeoFunctions
getAgentSEO
/
cache
/
twig
/
02
/
024c14e8e30ddd6025cb584a8d97ef504485ad10df6d48577bfcfe8f95c7dbed.php
40
60
__TwigTemplate_412ef6ad2d95482bd96d4cb16ee414cf8c189fa516bb610e4d16726458a68cc7
doDisplay
/
vendor
/
twig
/
twig
/
src
/
Template.php
443
59
Twig
\
Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
src
/
Template.php
414
58
Twig
\
Template
display
/
vendor
/
twig
/
twig
/
src
/
Template.php
422
57
Twig
\
Template
render
/
vendor
/
twig
/
twig
/
src
/
TemplateWrapper.php
47
56
Twig
\
TemplateWrapper
render
/
vendor
/
twig
/
twig
/
src
/
Environment.php
384
55
Twig
\
Environment
render
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
288
54
Grav
\
Common
\
Twig
\
Twig
processPage
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
851
53
Grav
\
Common
\
Page
\
Page
processTwig
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
704
52
Grav
\
Common
\
Page
\
Page
content
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
366
51
Grav
\
Common
\
Twig
\
Twig
processSite
/
system
/
src
/
Grav
/
Common
/
Service
/
OutputServiceProvider.php
28
50
Grav
\
Common
\
Service
\
OutputServiceProvider
Grav
\
Common
\
Service
\
{closure}
/
vendor
/
pimple
/
pimple
/
src
/
Pimple
/
Container.php
118
49
Pimple
\
Container
offsetGet
/
system
/
src
/
Grav
/
Common
/
Processors
/
RenderProcessor.php
28
48
Grav
\
Common
\
Processors
\
RenderProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
47
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
46
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerAssetsProcessor.php
28
45
Grav
\
Common
\
Processors
\
DebuggerAssetsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
44
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
43
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
69
42
Grav
\
Common
\
Processors
\
PagesProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
41
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
40
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
TwigProcessor.php
27
39
Grav
\
Common
\
Processors
\
TwigProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
38
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
37
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
AssetsProcessor.php
28
36
Grav
\
Common
\
Processors
\
AssetsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
35
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
34
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
SchedulerProcessor.php
29
33
Grav
\
Common
\
Processors
\
SchedulerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
32
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
31
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
BackupsProcessor.php
28
30
Grav
\
Common
\
Processors
\
BackupsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
29
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
28
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
TasksProcessor.php
59
27
Grav
\
Common
\
Processors
\
TasksProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
26
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
25
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
RequestProcessor.php
52
24
Grav
\
Common
\
Processors
\
RequestProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
23
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
22
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ThemesProcessor.php
27
21
Grav
\
Common
\
Processors
\
ThemesProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
20
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
19
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
PluginsProcessor.php
30
18
Grav
\
Common
\
Processors
\
PluginsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
17
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
16
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
InitializeProcessor.php
78
15
Grav
\
Common
\
Processors
\
InitializeProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
14
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
13
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerProcessor.php
27
12
Grav
\
Common
\
Processors
\
DebuggerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
11
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
10
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ErrorsProcessor.php
27
9
Grav
\
Common
\
Processors
\
ErrorsProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
8
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
7
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
LoggerProcessor.php
48
6
Grav
\
Common
\
Processors
\
LoggerProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
5
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
4
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Processors
/
ConfigurationProcessor.php
28
3
Grav
\
Common
\
Processors
\
ConfigurationProcessor
process
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
45
2
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
57
1
Grav
\
Framework
\
RequestHandler
\
RequestHandler
handle
/
system
/
src
/
Grav
/
Common
/
Grav.php
249
0
Grav
\
Common
\
Grav
process
/
index.php
53
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
    /**
     * Auto-generated method to display the template with the given context.
     *
     * @param array $context An array of parameters to pass to the template
     * @param array $blocks  An array of blocks to pass to the template
     */
    abstract protected function doDisplay(array $context, array $blocks = []);
 
    /**
     * Returns a variable from the context.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
Arguments
  1. "An exception has been thrown during the rendering of a template ("429 Too Many Requests /agents_%2A/_search") in "@Page:/var/app/current/user/pages/02.nos-conseillers/fiche" at line 5."
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
 
        if (array_search($response['status'], $ignore) !== false) {
            return null;
        }
        
        $responseBody = $this->convertBodyToString($response['body'], $statusCode, $exception);
        if ($statusCode === 401) {
            $exception = new Unauthorized401Exception($responseBody, $statusCode);
        } elseif ($statusCode === 403) {
            $exception = new Forbidden403Exception($responseBody, $statusCode);
        } elseif ($statusCode === 404) {
            $exception = new Missing404Exception($responseBody, $statusCode);
        } elseif ($statusCode === 409) {
            $exception = new Conflict409Exception($responseBody, $statusCode);
        } elseif ($statusCode === 400 && strpos($responseBody, 'script_lang not supported') !== false) {
            $exception = new ScriptLangNotSupportedException($responseBody. $statusCode);
        } elseif ($statusCode === 408) {
            $exception = new RequestTimeout408Exception($responseBody, $statusCode);
        } else {
            $exception = new BadRequest400Exception($responseBody, $statusCode);
        }
 
        $this->logRequestFail($request, $response, $exception);
 
        throw $exception;
    }
 
    private function process5xxError(array $request, array $response, array $ignore): ?ElasticsearchException
    {
        $statusCode = (int) $response['status'];
        $responseBody = $response['body'];
 
        /**
 * @var \Exception $exception
*/
        $exception = $this->tryDeserialize500Error($response);
 
        $exceptionText = "[$statusCode Server Exception] ".$exception->getMessage();
        $this->log->error($exceptionText);
        $this->log->error($exception->getTraceAsString());
Arguments
  1. "429 Too Many Requests /agents_%2A/_search"
    
Exception message: 429 Too Many Requests /agents_%2A/_search
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
                        }
                    } else {
                        $connection->markAlive();
 
                        if (isset($response['headers']['Warning'])) {
                            $this->logWarning($request, $response);
                        }
                        if (isset($response['body']) === true) {
                            $response['body'] = stream_get_contents($response['body']);
                            $this->lastRequest['response']['body'] = $response['body'];
                        }
 
                        if ($response['status'] >= 400 && $response['status'] < 500) {
                            $ignore = $request['client']['ignore'] ?? [];
                            // Skip 404 if succeeded true in the body (e.g. clear_scroll)
                            $body = $response['body'] ?? '';
                            if (strpos($body, '"succeeded":true') !== false) {
                                 $ignore[] = 404;
                            }
                            $this->process4xxError($request, $response, $ignore);
                        } elseif ($response['status'] >= 500) {
                            $ignore = $request['client']['ignore'] ?? [];
                            $this->process5xxError($request, $response, $ignore);
                        }
 
                        // No error, deserialize
                        $response['body'] = $this->serializer->deserialize($response['body'], $response['transfer_stats']);
                    }
                    $this->logRequestSuccess($request, $response);
 
                    return isset($request['client']['verbose']) && $request['client']['verbose'] === true ? $response : $response['body'];
                }
            );
 
            return $response;
        };
    }
 
    private function getURI(string $uri, ?array $params): string
    {
Arguments
  1. array:6 [
      "http_method" => "POST"
      "scheme" => "https"
      "uri" => "/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
      "body" => "{"query":{"bool":{"must":[{"match":{"active":true}},{"match":{"bu":"OPTIMHOME"}},{"bool":{"must_not":{"terms":{"source.id":[400,2662,3292,720,1,5167,177,7907,4999,979,5538,7908,38,7957,8084,8078,8158,9299,9368,540,7905,12370,10481]}}}},{"bool":{"should":[{"match":{"source.name":"tremplin"}},{"match":{"source.name":"intranet"}}],"minimum_should_match":1}},{"match_phrase":{"source.slug":{"query":"peudevin"}}},{"exists":{"field":"geolocation.city"}}]}}}"
      "headers" => array:4 [
        "Host" => array:1 [
          0 => "search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com"
        ]
        "Content-Type" => array:1 [
          0 => "application/json"
        ]
        "Accept" => array:1 [
          0 => "application/json"
        ]
        "User-Agent" => array:1 [
          0 => "elasticsearch-php/7.10.0 (Linux 4.14.275-142.503.amzn1.x86_64; PHP 7.2.34)"
        ]
      ]
      "client" => array:2 [
        "port_in_header" => false
        "curl" => array:1 [
          3 => 443
        ]
      ]
    ]
    
  2. array:8 [
      "transfer_stats" => array:28 [
        "url" => "https://search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
        "content_type" => "text/plain;charset=ISO-8859-1"
        "http_code" => 429
        "header_size" => 160
        "request_size" => 1016
        "filetime" => -1
        "ssl_verify_result" => 0
        "redirect_count" => 0
        "total_time" => 0.012689
        "namelookup_time" => 0.000515
        "connect_time" => 0.001514
        "pretransfer_time" => 0.010994
        "size_upload" => 454.0
        "size_download" => 41.0
        "speed_download" => 3416.0
        "speed_upload" => 37833.0
        "download_content_length" => 41.0
        "upload_content_length" => 454.0
        "starttransfer_time" => 0.012651
        "redirect_time" => 0.0
        "redirect_url" => ""
        "primary_ip" => "54.154.70.106"
        "certinfo" => []
        "primary_port" => 443
        "local_ip" => "10.20.5.169"
        "local_port" => 52584
        "error" => ""
        "errno" => 0
      ]
      "curl" => array:2 [
        "error" => ""
        "errno" => 0
      ]
      "effective_url" => "https://search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
      "headers" => array:4 [
        "Date" => array:1 [
          0 => "Thu, 28 Mar 2024 23:45:32 GMT"
        ]
        "Content-Type" => array:1 [
          0 => "text/plain;charset=ISO-8859-1"
        ]
        "Content-Length" => array:1 [
          0 => "41"
        ]
        "Connection" => array:1 [
          0 => "keep-alive"
        ]
      ]
      "version" => "1.1"
      "status" => 429
      "reason" => "Too Many Requests"
      "body" => "429 Too Many Requests /agents_%2A/_search"
    ]
    
  3. []
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
react
/
promise
/
src
/
FulfilledPromise.php
{
    private $value;
 
    public function __construct($value = null)
    {
        if ($value instanceof PromiseInterface) {
            throw new \InvalidArgumentException('You cannot create React\Promise\FulfilledPromise with a promise. Use React\Promise\resolve($promiseOrValue) instead.');
        }
 
        $this->value = $value;
    }
 
    public function then(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
    {
        if (null === $onFulfilled) {
            return $this;
        }
 
        try {
            return resolve($onFulfilled($this->value));
        } catch (\Throwable $exception) {
            return new RejectedPromise($exception);
        } catch (\Exception $exception) {
            return new RejectedPromise($exception);
        }
    }
 
    public function done(callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null)
    {
        if (null === $onFulfilled) {
            return;
        }
 
        $result = $onFulfilled($this->value);
 
        if ($result instanceof ExtendedPromiseInterface) {
            $result->done();
        }
    }
 
Arguments
  1. array:8 [
      "transfer_stats" => array:28 [
        "url" => "https://search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
        "content_type" => "text/plain;charset=ISO-8859-1"
        "http_code" => 429
        "header_size" => 160
        "request_size" => 1016
        "filetime" => -1
        "ssl_verify_result" => 0
        "redirect_count" => 0
        "total_time" => 0.012689
        "namelookup_time" => 0.000515
        "connect_time" => 0.001514
        "pretransfer_time" => 0.010994
        "size_upload" => 454.0
        "size_download" => 41.0
        "speed_download" => 3416.0
        "speed_upload" => 37833.0
        "download_content_length" => 41.0
        "upload_content_length" => 454.0
        "starttransfer_time" => 0.012651
        "redirect_time" => 0.0
        "redirect_url" => ""
        "primary_ip" => "54.154.70.106"
        "certinfo" => []
        "primary_port" => 443
        "local_ip" => "10.20.5.169"
        "local_port" => 52584
        "error" => ""
        "errno" => 0
      ]
      "curl" => array:2 [
        "error" => ""
        "errno" => 0
      ]
      "effective_url" => "https://search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
      "headers" => array:4 [
        "Date" => array:1 [
          0 => "Thu, 28 Mar 2024 23:45:32 GMT"
        ]
        "Content-Type" => array:1 [
          0 => "text/plain;charset=ISO-8859-1"
        ]
        "Content-Length" => array:1 [
          0 => "41"
        ]
        "Connection" => array:1 [
          0 => "keep-alive"
        ]
      ]
      "version" => "1.1"
      "status" => 429
      "reason" => "Too Many Requests"
      "body" => "429 Too Many Requests /agents_%2A/_search"
    ]
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
ezimuel
/
ringphp
/
src
/
Future
/
CompletedFutureValue.php
 
    public function cancel() {}
 
    public function promise()
    {
        if (!$this->cachedPromise) {
            $this->cachedPromise = $this->error
                ? new RejectedPromise($this->error)
                : new FulfilledPromise($this->result);
        }
 
        return $this->cachedPromise;
    }
 
    public function then(
        callable $onFulfilled = null,
        callable $onRejected = null,
        callable $onProgress = null
    ) {
        return $this->promise()->then($onFulfilled, $onRejected, $onProgress);
    }
}
 
Arguments
  1. Closure($response) {#1247 …6}
    
  2. null
    
  3. null
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
ezimuel
/
ringphp
/
src
/
Core.php
 
    /**
     * Returns a proxied future that modifies the dereferenced value of another
     * future using a promise.
     *
     * @param FutureArrayInterface $future      Future to wrap with a new future
     * @param callable    $onFulfilled Invoked when the future fulfilled
     * @param callable    $onRejected  Invoked when the future rejected
     * @param callable    $onProgress  Invoked when the future progresses
     *
     * @return FutureArray
     */
    public static function proxy(
        FutureArrayInterface $future,
        callable $onFulfilled = null,
        callable $onRejected = null,
        callable $onProgress = null
    ) {
        return new FutureArray(
            $future->then($onFulfilled, $onRejected, $onProgress),
            [$future, 'wait'],
            [$future, 'cancel']
        );
    }
 
    /**
     * Returns a debug stream based on the provided variable.
     *
     * @param mixed $value Optional value
     *
     * @return resource
     */
    public static function getDebugResource($value = null)
    {
        if (is_resource($value)) {
            return $value;
        } elseif (defined('STDOUT')) {
            return STDOUT;
        } else {
            return fopen('php://output', 'w');
Arguments
  1. Closure($response) {#1247 …6}
    
  2. null
    
  3. null
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
                        if ($response['status'] >= 400 && $response['status'] < 500) {
                            $ignore = $request['client']['ignore'] ?? [];
                            // Skip 404 if succeeded true in the body (e.g. clear_scroll)
                            $body = $response['body'] ?? '';
                            if (strpos($body, '"succeeded":true') !== false) {
                                 $ignore[] = 404;
                            }
                            $this->process4xxError($request, $response, $ignore);
                        } elseif ($response['status'] >= 500) {
                            $ignore = $request['client']['ignore'] ?? [];
                            $this->process5xxError($request, $response, $ignore);
                        }
 
                        // No error, deserialize
                        $response['body'] = $this->serializer->deserialize($response['body'], $response['transfer_stats']);
                    }
                    $this->logRequestSuccess($request, $response);
 
                    return isset($request['client']['verbose']) && $request['client']['verbose'] === true ? $response : $response['body'];
                }
            );
 
            return $response;
        };
    }
 
    private function getURI(string $uri, ?array $params): string
    {
        if (isset($params) === true && !empty($params)) {
            array_walk(
                $params,
                function (&$value, &$key) {
                    if ($value === true) {
                        $value = 'true';
                    } elseif ($value === false) {
                        $value = 'false';
                    }
                }
            );
 
Arguments
  1. CompletedFutureArray {#1248}
    
  2. Closure($response) {#1247 …6}
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Connections
/
Connection.php
            'scheme'      => $this->transportSchema,
            'uri'         => $this->getURI($uri, $params),
            'body'        => $body,
            'headers'     => array_merge(
                [
                'Host'  => [$host]
                ],
                $headers
            )
        ];
 
        $request = array_replace_recursive($request, $this->connectionParams, $options);
 
        // RingPHP does not like if client is empty
        if (empty($request['client'])) {
            unset($request['client']);
        }
 
        $handler = $this->handler;
        $future = $handler($request, $this, $transport, $options);
 
        return $future;
    }
 
    public function getTransportSchema(): string
    {
        return $this->transportSchema;
    }
 
    public function getLastRequestInfo(): array
    {
        return $this->lastRequest;
    }
 
    private function wrapHandler(callable $handler): callable
    {
        return function (array $request, Connection $connection, Transport $transport = null, $options) use ($handler) {
 
            $this->lastRequest = [];
            $this->lastRequest['request'] = $request;
Arguments
  1. array:6 [
      "http_method" => "POST"
      "scheme" => "https"
      "uri" => "/agents_%2A/_search?track_total_hits=100000&from=0&size=12"
      "body" => "{"query":{"bool":{"must":[{"match":{"active":true}},{"match":{"bu":"OPTIMHOME"}},{"bool":{"must_not":{"terms":{"source.id":[400,2662,3292,720,1,5167,177,7907,4999,979,5538,7908,38,7957,8084,8078,8158,9299,9368,540,7905,12370,10481]}}}},{"bool":{"should":[{"match":{"source.name":"tremplin"}},{"match":{"source.name":"intranet"}}],"minimum_should_match":1}},{"match_phrase":{"source.slug":{"query":"peudevin"}}},{"exists":{"field":"geolocation.city"}}]}}}"
      "headers" => array:4 [
        "Host" => array:1 [
          0 => "search-re-index-prod-aqxtpudiesz7qswsf7hehdomnu.eu-west-1.es.amazonaws.com"
        ]
        "Content-Type" => array:1 [
          0 => "application/json"
        ]
        "Accept" => array:1 [
          0 => "application/json"
        ]
        "User-Agent" => array:1 [
          0 => "elasticsearch-php/7.10.0 (Linux 4.14.275-142.503.amzn1.x86_64; PHP 7.2.34)"
        ]
      ]
      "client" => array:2 [
        "port_in_header" => false
        "curl" => array:1 [
          3 => 443
        ]
      ]
    ]
    
  2. Connection {#1207}
    
  3. Transport {#1210}
    
  4. []
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Transport.php
    public function performRequest(string $method, string $uri, array $params = [], $body = null, array $options = []): FutureArrayInterface
    {
        try {
            $connection  = $this->getConnection();
        } catch (Exceptions\NoNodesAvailableException $exception) {
            $this->log->critical('No alive nodes found in cluster');
            throw $exception;
        }
 
        $response             = [];
        $caughtException      = null;
        $this->lastConnection = $connection;
 
        $future = $connection->performRequest(
            $method,
            $uri,
            $params,
            $body,
            $options,
            $this
        );
        
        $future->promise()->then(
            //onSuccess
            function ($response) {
                $this->retryAttempts = 0;
                // Note, this could be a 4xx or 5xx error
            },
            //onFailure
            function ($response) {
                $code = $response->getCode();
                // Ignore 400 level errors, as that means the server responded just fine
                if ($code < 400 || $code >= 500) {
                    // Otherwise schedule a check
                    $this->connectionPool->scheduleCheck();
                }
            }
        );
 
        return $future;
Arguments
  1. "POST"
    
  2. "/agents_%2A/_search"
    
  3. array:3 [
      "track_total_hits" => 100000
      "from" => 0
      "size" => 12
    ]
    
  4. "{"query":{"bool":{"must":[{"match":{"active":true}},{"match":{"bu":"OPTIMHOME"}},{"bool":{"must_not":{"terms":{"source.id":[400,2662,3292,720,1,5167,177,7907,4999,979,5538,7908,38,7957,8084,8078,8158,9299,9368,540,7905,12370,10481]}}}},{"bool":{"should":[{"match":{"source.name":"tremplin"}},{"match":{"source.name":"intranet"}}],"minimum_should_match":1}},{"match_phrase":{"source.slug":{"query":"peudevin"}}},{"exists":{"field":"geolocation.city"}}]}}}"
    
  5. []
    
  6. Transport {#1210}
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Client.php
                (array) $value :
                $value;
            unset($params[$arg]);
            return $value;
        } else {
            return null;
        }
    }
 
    /**
     * @return callable|array
     */
    private function performRequest(AbstractEndpoint $endpoint)
    {
        $promise =  $this->transport->performRequest(
            $endpoint->getMethod(),
            $endpoint->getURI(),
            $endpoint->getParams(),
            $endpoint->getBody(),
            $endpoint->getOptions()
        );
 
        return $this->transport->resultOrFuture($promise, $endpoint->getOptions());
    }
}
 
Arguments
  1. "POST"
    
  2. "/agents_%2A/_search"
    
  3. array:3 [
      "track_total_hits" => 100000
      "from" => 0
      "size" => 12
    ]
    
  4. array:1 [
      "query" => array:1 [
        "bool" => array:1 [
          "must" => array:6 [
            0 => array:1 [
              "match" => array:1 [
                "active" => true
              ]
            ]
            1 => array:1 [
              "match" => array:1 [
                "bu" => "OPTIMHOME"
              ]
            ]
            2 => array:1 [
              "bool" => array:1 [
                "must_not" => array:1 [
                  "terms" => array:1 [
                    "source.id" => array:23 [
                      0 => 400
                      1 => 2662
                      2 => 3292
                      3 => 720
                      4 => 1
                      5 => 5167
                      6 => 177
                      7 => 7907
                      8 => 4999
                      9 => 979
                      10 => 5538
                      11 => 7908
                      12 => 38
                      13 => 7957
                      14 => 8084
                      15 => 8078
                      16 => 8158
                      17 => 9299
                      18 => 9368
                      19 => 540
                      20 => 7905
                      21 => 12370
                      22 => 10481
                    ]
                  ]
                ]
              ]
            ]
            3 => array:1 [
              "bool" => array:2 [
                "should" => array:2 [
                  0 => array:1 [
                    "match" => array:1 [
                      "source.name" => "tremplin"
                    ]
                  ]
                  1 => array:1 [
                    "match" => array:1 [
                      "source.name" => "intranet"
                    ]
                  ]
                ]
                "minimum_should_match" => 1
              ]
            ]
            4 => array:1 [
              "match_phrase" => array:1 [
                "source.slug" => array:1 [
                  "query" => "peudevin"
                ]
              ]
            ]
            5 => array:1 [
              "exists" => array:1 [
                "field" => "geolocation.city"
              ]
            ]
          ]
        ]
      ]
    ]
    
  5. []
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
vendor
/
elasticsearch
/
elasticsearch
/
src
/
Elasticsearch
/
Client.php
     * $params['body']                          = (array) The search definition using the Query DSL
     *
     * @param array $params Associative array of parameters
     * @return array
     * @see https://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
     */
    public function search(array $params = [])
    {
        $index = $this->extractArgument($params, 'index');
        $type = $this->extractArgument($params, 'type');
        $body = $this->extractArgument($params, 'body');
 
        $endpointBuilder = $this->endpoints;
        $endpoint = $endpointBuilder('Search');
        $endpoint->setParams($params);
        $endpoint->setIndex($index);
        $endpoint->setType($type);
        $endpoint->setBody($body);
 
        return $this->performRequest($endpoint);
    }
    /**
     * $params['index']              = (list) A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
     * $params['preference']         = (string) Specify the node or shard the operation should be performed on (default: random)
     * $params['routing']            = (string) Specific routing value
     * $params['local']              = (boolean) Return local information, do not retrieve the state from master node (default: false)
     * $params['ignore_unavailable'] = (boolean) Whether specified concrete indices should be ignored when unavailable (missing or closed)
     * $params['allow_no_indices']   = (boolean) Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
     * $params['expand_wildcards']   = (enum) Whether to expand wildcard expression to concrete indices that are open, closed or both. (Options = open,closed,hidden,none,all) (Default = open)
     *
     * @param array $params Associative array of parameters
     * @return array
     * @see https://www.elastic.co/guide/en/elasticsearch/reference/master/search-shards.html
     */
    public function searchShards(array $params = [])
    {
        $index = $this->extractArgument($params, 'index');
 
        $endpointBuilder = $this->endpoints;
        $endpoint = $endpointBuilder('SearchShards');
Arguments
  1. Search {#1244}
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
classes
/
Adapter
/
ElasticsearchClient.php
     * Execute the search request on eleasticsearch with the given params
     * @return mixed
     */
    public function search($params) {
 
        $cacheKey = [__METHOD__, $params];
        if ($cachedValue = $this->cache->fetch($cacheKey)) {
            return $cachedValue;
        }
 
        if (isset($params["scroll_id"])) {
            // Scroll search case
            $finalParams = [
                "scroll_id" => $params["scroll_id"],
                "scroll"    => $params["scroll"]
            ];
            $response = $this->client->scroll($finalParams);
        } else {
            // Normal search case
            $response = $this->client->search($params);
        }
        $this->cache->save($cacheKey, $response);
 
        return $response;
    }
}
 
Arguments
  1. array:3 [
      "track_total_hits" => 100000
      "from" => 0
      "size" => 12
    ]
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
classes
/
Searches
/
AgentSearch.php
        $this->initSearchModifiers();
 
        // Offer type modifier to Speciality modifier
        $this->offerTypeToSpeciality();
 
        // Exclude agent ids from the search
        $this->addExcludedIds();
 
        // Pagination
        $pageIndex = $this->setUpPaginationModifiers();
 
        $searchQuery = $this->createQuery();
 
        // echo '<pre>' .  print_r($searchQuery, true) . '</pre>';
 
        // Agents need to have a profile picture
        // $searchQuery["body"]["query"]["bool"]['must'][] = ["nested" => ["path" => "profile_picture", "query" => ["bool" => ["must" => ["exists" => ["field" => "profile_picture.url"]]]]]];
 
        // Execute query
        $results = ElasticsearchClient::instance()->search($searchQuery)['hits'];
 
        // Complete results
        $size = $this->getModifier(ModifierKeys::$size)->getValue();
        $nbPage = $size ? intval(ceil($results['total']['value']/$size)) : 0;
        $nbPage = $nbPage ? $nbPage : 1;
 
        //dump($nbPage);die;
        $results['pagination']  = (new Pagination())->getPagination($pageIndex, $nbPage);
        $results['hits']        = $this->mapHitsToAgents($results['hits']);
        $results['total']       = $results['total']['value'];
 
        return $this->returnResult($results, $resultKey);
    }
 
    /**
     * Format the elasticsearch result to an array of agent objects.
     * @param $hits
     * @param array $extraAgents
     * @return array
     */
Arguments
  1. array:5 [
      "index" => "agents_*"
      "track_total_hits" => 100000
      "from" => 0
      "size" => 12
      "body" => array:1 [
        "query" => array:1 [
          "bool" => array:1 [
            "must" => array:6 [
              0 => array:1 [
                "match" => array:1 [
                  "active" => true
                ]
              ]
              1 => array:1 [
                "match" => array:1 [
                  "bu" => "OPTIMHOME"
                ]
              ]
              2 => array:1 [
                "bool" => array:1 [
                  "must_not" => array:1 [
                    "terms" => array:1 [
                      "source.id" => array:23 [
                        0 => 400
                        1 => 2662
                        2 => 3292
                        3 => 720
                        4 => 1
                        5 => 5167
                        6 => 177
                        7 => 7907
                        8 => 4999
                        9 => 979
                        10 => 5538
                        11 => 7908
                        12 => 38
                        13 => 7957
                        14 => 8084
                        15 => 8078
                        16 => 8158
                        17 => 9299
                        18 => 9368
                        19 => 540
                        20 => 7905
                        21 => 12370
                        22 => 10481
                      ]
                    ]
                  ]
                ]
              ]
              3 => array:1 [
                "bool" => array:2 [
                  "should" => array:2 [
                    0 => array:1 [
                      "match" => array:1 [
                        "source.name" => "tremplin"
                      ]
                    ]
                    1 => array:1 [
                      "match" => array:1 [
                        "source.name" => "intranet"
                      ]
                    ]
                  ]
                  "minimum_should_match" => 1
                ]
              ]
              4 => array:1 [
                "match_phrase" => array:1 [
                  "source.slug" => array:1 [
                    "query" => "peudevin"
                  ]
                ]
              ]
              5 => array:1 [
                "exists" => array:1 [
                  "field" => "geolocation.city"
                ]
              ]
            ]
          ]
        ]
      ]
    ]
    
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
classes
/
Searches
/
AbstractSearch.php
            ?>
            <pre>
            You tried to use a SearchModifier that does not exist.
            Most likely in one of the following file(s):
            <?php dump($candidates); ?>
            Those filters passed succesfully though:
            <?php dump($this->modifiers); ?>
            </pre><?php
            exit;
        }
        $this->modifiers[] = $modifier;
        return $this;
    }
 
    /**
     * @return mixed
     */
    public function findOne()
    {
        if (count($set = $this->findAll()['hits'])) {
            return array_values($set)[0];
        }
        return null;
    }
 
    /**
     * @param string|null $resultKey
     * @return array
     */
    abstract public function findAll(string $resultKey = null): array;
 
    /**
     * @param string $key
     * @return Modifier
     */
    protected function getModifier(string $key): ?Modifier
    {
        if (count($modifiers = $this->getModifiers($key))) {
            $values = array_values($modifiers);
            return end($values);
/
var
/
app
/
current
/
user
/
plugins
/
seofactory
/
classes
/
SeoFunctions.php
     * @throws Searches\UnkownDepartmentCodeException
     * @throws GuzzleException
     */
    public function searchAgentsSEOById( )
    {
 
        $agentId = func_get_args()[1];
        $agentSearch = (new AgentSearch(func_get_args()[0]))->addModifier(new FilterModifier(ModifierKeys::$id, $agentId));
        $agents = $agentSearch->findOne();
 
        return $agents;
 
    }
 
    /**
     * @return object
     */
    public function getAgentSEO()
    {
        return (new AgentSearch(func_get_args()))->findOne();
    }
 
    /**
     * @return array
     * @throws GuzzleException
     */
    public function searchPropertiesSEO(): array
    {
        $modifiers = Search::getParameters(func_get_args());
        $properties = (new PropertySearch($modifiers))->findAll();
 
        [$modifiers, $locationId] = $this->extractLocationIdFromModifiers($modifiers);
        $i = 0;
 
        while (count($properties['hits']) < self::$minResults && !is_null($locationId) && isset(self::$searchRadiuses[$i])) {
            $properties = (new PropertySearch([
                array_merge(
                    $modifiers,
                    [SeoFunctions::whereDistanceFromLocation($locationId, self::$searchRadiuses[$i++])]
                ),
/
var
/
app
/
current
/
cache
/
twig
/
02
/
024c14e8e30ddd6025cb584a8d97ef504485ad10df6d48577bfcfe8f95c7dbed.php
        $this->parent = false;
 
        $this->blocks = [
            'jsonLD' => [$this, 'block_jsonLD'],
        ];
    }
 
    protected function doDisplay(array $context, array $blocks = [])
    {
        // line 1
        $context["criterias"] = [];
        // line 2
        $context["displayBtnBuy"] = false;
        // line 3
        $context["displayBtnRent"] = false;
        // line 4
        echo "
";
        // line 5
        $context["agent"] = call_user_func_array($this->env->getFunction('getAgentSEO')->getCallable(), [[0 => call_user_func_array($this->env->getFunction('whereSlugMatchPhrase')->getCallable(), [$this->getAttribute(($context["uri"] ?? null), "basename", [])])]]);
        // line 6
        echo "
";
        // line 7
        if ( !($context["agent"] ?? null)) {
            // line 8
            $context["agent"] = call_user_func_array($this->env->getFunction('getAgentSEO')->getCallable(), [[0 => call_user_func_array($this->env->getFunction('whereLoginMatchPhrase')->getCallable(), [$this->getAttribute(($context["uri"] ?? null), "basename", [])])]]);
        }
        // line 10
        echo "
";
        // line 11
        $context["businessConfigIsActive"] = false;
        // line 12
        if ($this->getAttribute($this->getAttribute(($context["agent"] ?? null), "source", []), "id", [])) {
            // line 13
            $context["businessConfigIsActive"] = call_user_func_array($this->env->getFunction('getConfigActiveByExternalId')->getCallable(), [$this->getAttribute($this->getAttribute(($context["agent"] ?? null), "source", []), "id", []), "OPTIMHOME"]);
        }
        // line 15
        echo "
Arguments
  1. array:1 [
      0 => MatchPhraseModifier {#1144}
    ]
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
            $this->doDisplay($context, $blocks);
        } catch (Error $e) {
            if (!$e->getSourceContext()) {
                $e->setSourceContext($this->getSourceContext());
            }
 
            // this is mostly useful for \Twig\Error\LoaderError exceptions
            // see \Twig\Error\LoaderError
            if (-1 === $e->getTemplateLine()) {
                $e->guess();
            }
 
            throw $e;
        } catch (\Exception $e) {
            $e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
            $e->guess();
 
            throw $e;
        }
    }
 
Arguments
  1. array:29 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
      "grav" => Grav {#3}
      "criterias" => []
      "displayBtnBuy" => false
      "displayBtnRent" => false
    ]
    
  2. array:1 [
      "jsonLD" => array:2 [
        0 => __TwigTemplate_412ef6ad2d95482bd96d4cb16ee414cf8c189fa516bb610e4d16726458a68cc7 {#924}
        1 => "block_jsonLD"
      ]
    ]
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
    {
        return $this;
    }
 
    /**
     * Returns all blocks.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
Arguments
  1. array:26 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
      "grav" => Grav {#3}
    ]
    
  2. array:1 [
      "jsonLD" => array:2 [
        0 => __TwigTemplate_412ef6ad2d95482bd96d4cb16ee414cf8c189fa516bb610e4d16726458a68cc7 {#924}
        1 => "block_jsonLD"
      ]
    ]
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Template.php
     * directly.
     *
     * @return array An array of blocks
     */
    public function getBlocks()
    {
        return $this->blocks;
    }
 
    public function display(array $context, array $blocks = [])
    {
        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
    }
 
    public function render(array $context)
    {
        $level = ob_get_level();
        ob_start();
        try {
            $this->display($context);
        } catch (\Exception $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $level) {
                ob_end_clean();
            }
 
            throw $e;
        }
 
        return ob_get_clean();
    }
 
    protected function displayWithErrorHandling(array $context, array $blocks = [])
    {
        try {
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
    ]
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
TemplateWrapper.php
     * @internal
     */
    public function __construct(Environment $env, Template $template)
    {
        $this->env = $env;
        $this->template = $template;
    }
 
    /**
     * Renders the template.
     *
     * @param array $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     */
    public function render($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Displays the template.
     *
     * @param array $context An array of parameters to pass to the template
     */
    public function display($context = [])
    {
        // using func_get_args() allows to not expose the blocks argument
        // as it should only be used by internal code
        $this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
    }
 
    /**
     * Checks if a block is defined.
     *
     * @param string $name    The block name
     * @param array  $context An array of parameters to pass to the template
     *
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
    ]
    
  2. []
    
/
var
/
app
/
current
/
vendor
/
twig
/
twig
/
src
/
Environment.php
        @trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
 
        return $this->templateClassPrefix;
    }
 
    /**
     * Renders a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @return string The rendered template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function render($name, array $context = [])
    {
        return $this->load($name)->render($context);
    }
 
    /**
     * Displays a template.
     *
     * @param string|TemplateWrapper $name    The template name
     * @param array                  $context An array of parameters to pass to the template
     *
     * @throws LoaderError  When the template cannot be found
     * @throws SyntaxError  When an error occurred during compilation
     * @throws RuntimeError When an error occurred during rendering
     */
    public function display($name, array $context = [])
    {
        $this->load($name)->display($context);
    }
 
    /**
     * Loads a template.
     *
Arguments
  1. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
    ]
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
        $twig_vars['header'] = $item->header();
 
        $local_twig = clone $this->twig;
 
        $output = '';
        try {
            // Process Modular Twig
            if ($item->modularTwig()) {
                $twig_vars['content'] = $content;
                $extension = $item->templateFormat();
                $extension = $extension ? ".{$extension}.twig" : TEMPLATE_EXT;
                $template = $item->template() . $extension;
                $output = $content = $local_twig->render($template, $twig_vars);
            }
 
            // Process in-page Twig
            if ($item->shouldProcess('twig')) {
                $name = '@Page:' . $item->path();
                $this->setTemplate($name, $content);
                $output = $local_twig->render($name, $twig_vars);
            }
 
        } catch (\Twig_Error_Loader $e) {
            throw new \RuntimeException($e->getRawMessage(), 404, $e);
        }
 
        return $output;
    }
 
    /**
     * Process a Twig template directly by using a template name
     * and optional array of variables
     *
     * @param string $template template to render with
     * @param array  $vars     Optional variables
     *
     * @return string
     */
    public function processTemplate($template, $vars = [])
    {
Arguments
  1. "@Page:/var/app/current/user/pages/02.nos-conseillers/fiche"
    
  2. array:25 [
      "config" => Config {#96}
      "system" => array:30 [
        "absolute_urls" => false
        "timezone" => ""
        "default_locale" => null
        "param_sep" => ":"
        "wrapped_site" => false
        "reverse_proxy_setup" => false
        "force_ssl" => false
        "force_lowercase_urls" => true
        "custom_base_url" => ""
        "username_regex" => "^[a-z0-9_@\.-]{3,50}$"
        "pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
        "intl_enabled" => true
        "languages" => array:9 [
          "supported" => array:2 [
            0 => "fr"
            1 => "de"
          ]
          "default_lang" => null
          "include_default_lang" => false
          "pages_fallback_only" => false
          "translations" => true
          "translations_fallback" => true
          "session_store_active" => false
          "http_accept_language" => false
          "override_locale" => false
        ]
        "home" => array:2 [
          "alias" => "/home"
          "hide_in_urls" => true
        ]
        "pages" => array:26 [
          "theme" => "optimhome"
          "order" => array:2 [
            "by" => "default"
            "dir" => "asc"
          ]
          "list" => array:1 [
            "count" => 20
          ]
          "dateformat" => array:3 [
            "default" => null
            "short" => "jS M Y"
            "long" => "F jS \a\t g:ia"
          ]
          "publish_dates" => true
          "process" => array:2 [
            "markdown" => false
            "twig" => true
          ]
          "twig_first" => false
          "never_cache_twig" => false
          "events" => array:2 [
            "page" => true
            "twig" => true
          ]
          "markdown" => array:5 [
            "extra" => false
            "auto_line_breaks" => false
            "auto_url_links" => false
            "escape_markup" => false
            "special_chars" => array:2 [
              ">" => "gt"
              "<" => "lt"
            ]
          ]
          "types" => array:7 [
            0 => "html"
            1 => "htm"
            2 => "xml"
            3 => "txt"
            4 => "json"
            5 => "rss"
            6 => "atom"
          ]
          "append_url_extension" => ""
          "expires" => 604800
          "cache_control" => null
          "last_modified" => false
          "etag" => false
          "vary_accept_encoding" => false
          "redirect_default_route" => false
          "redirect_default_code" => "301"
          "redirect_trailing_slash" => false
          "ignore_files" => array:1 [
            0 => ".DS_Store"
          ]
          "ignore_folders" => array:2 [
            0 => ".git"
            1 => ".idea"
          ]
          "ignore_hidden" => true
          "hide_empty_folders" => false
          "url_taxonomy_filters" => true
          "frontmatter" => array:2 [
            "process_twig" => true
            "ignore_fields" => array:2 [
              0 => "form"
              1 => "forms"
            ]
          ]
        ]
        "cache" => array:13 [
          "enabled" => true
          "check" => array:1 [
            "method" => "file"
          ]
          "driver" => "file"
          "prefix" => "g"
          "purge_at" => "0 4 * * *"
          "clear_at" => "0 3 * * *"
          "clear_job_type" => "standard"
          "clear_images_by_default" => true
          "cli_compatibility" => false
          "lifetime" => 3600
          "gzip" => false
          "allow_webserver_gzip" => false
          "redis" => array:1 [
            "socket" => false
          ]
        ]
        "twig" => array:7 [
          "cache" => true
          "debug" => true
          "auto_reload" => true
          "autoescape" => false
          "undefined_functions" => true
          "undefined_filters" => true
          "umask_fix" => false
        ]
        "assets" => array:12 [
          "css_pipeline" => false
          "css_pipeline_include_externals" => true
          "css_pipeline_before_excludes" => true
          "css_minify" => true
          "css_minify_windows" => false
          "css_rewrite" => true
          "js_pipeline" => false
          "js_pipeline_include_externals" => true
          "js_pipeline_before_excludes" => true
          "js_minify" => true
          "enable_asset_timestamp" => false
          "collections" => array:1 [
            "jquery" => "system://assets/jquery/jquery-2.x.min.js"
          ]
        ]
        "errors" => array:2 [
          "display" => true
          "log" => true
        ]
        "log" => array:2 [
          "handler" => "file"
          "syslog" => array:1 [
            "facility" => "local6"
          ]
        ]
        "debugger" => array:3 [
          "enabled" => false
          "shutdown" => array:1 [
            "close_connection" => true
          ]
          "twig" => true
        ]
        "images" => array:6 [
          "default_image_quality" => 85
          "cache_all" => false
          "cache_perms" => "0755"
          "debug" => false
          "auto_fix_orientation" => false
          "seofriendly" => false
        ]
        "media" => array:5 [
          "enable_media_timestamp" => false
          "unsupported_inline_types" => []
          "allowed_fallback_types" => []
          "auto_metadata_exif" => false
          "upload_limit" => 15728640
        ]
        "session" => array:9 [
          "enabled" => true
          "initialize" => true
          "timeout" => 1800
          "name" => "grav-site"
          "uniqueness" => "path"
          "secure" => false
          "httponly" => true
          "split" => true
          "path" => null
        ]
        "gpm" => array:5 [
          "releases" => "stable"
          "proxy_url" => null
          "method" => "auto"
          "verify_peer" => true
          "official_gpm_only" => true
        ]
        "accounts" => array:2 [
          "type" => "data"
          "storage" => "file"
        ]
        "strict_mode" => array:2 [
          "yaml_compat" => true
          "twig_compat" => true
        ]
        "gtm_stage_enabled" => false
        "matomo_prod_enabled" => true
        "seo-factory" => array:1 [
          "bu" => "OPTIMHOME"
        ]
      ]
      "theme" => array:2 [
        "streams" => array:1 [
          "schemes" => array:1 [
            "theme" => array:2 [
              "type" => "ReadOnlyStream"
              "prefixes" => array:1 [
                "" => array:2 [
                  0 => "user/themes/optimhome"
                  1 => "user/themes/digit-website"
                ]
              ]
            ]
          ]
        ]
        "marketing-operations" => array:3 [
          "saison-estimation-2019" => array:3 [
            "startDate" => "2019-03-20"
            "endDate" => "2019-04-30"
            "body_class" => "op_estim"
          ]
          "ope-neuf-2019" => array:3 [
            "startDate" => "2019-06-01"
            "endDate" => "2019-06-30"
            "body_class" => "op_neuf"
          ]
          "op-optimust-2019" => array:3 [
            "startDate" => "2019-09-11"
            "endDate" => "2019-11-01"
            "body_class" => "op_optimust"
          ]
        ]
      ]
      "site" => array:28 [
        "title" => "Optimhome Immobilier"
        "default_lang" => "fr"
        "author" => array:2 [
          "name" => "DigitRE"
          "email" => "[email protected]"
        ]
        "taxonomies" => array:2 [
          0 => "category"
          1 => "tag"
        ]
        "metadata" => array:2 [
          "generator" => ""
          "description" => ""
        ]
        "summary" => array:4 [
          "enabled" => true
          "format" => "short"
          "size" => 300
          "delimiter" => "==="
        ]
        "redirects" => array:40 [
          "/combien-pour-mon-bien$" => "/"
          "/annonces$" => "/annonces/achat"
          "/conseillers/market$" => "/maintenance"
          "/verlautbarungen$" => "/annonces/achat"
          "/adverts$" => "/annonces/achat"
          "/anuncios$" => "/annonces/achat"
          "/neuf$" => "/annonces/achat?affichage=grid-view&category[]=isNew"
          "/commerces$" => "/annonces/achat?affichage=grid-view&propertyTypes[]=BUSINESS_CAPITAL"
          "/ville_bien/(.*)_(.*)_(.*)__(.*)/(.*)" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/ville_bien/(.*)_/(.*).html" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/news/(.*)" => "/actualites"
          "/content/6/estimation-immobiliere-en-ligne-1.html" => "/estimer-mon-bien"
          "/content/5/mentions-legales.html?language=fr" => "/mentions-legales"
          "/agence/(.*)" => "/nos-conseillers"
          "/ville_bien/(.*)_(.*)_(.*)__Vente" => "/annonces/achat?affichage=grid-view&adresse=$1"
          "/catalog/estimation.php" => "/estimer-mon-bien"
          "/fiches/(.*)" => "/annonces/achat"
          "(.*)PRODUCT_LIST_(.*)" => "/annonces/achat"
          "(.*)_Vente/vente-(.*)" => "/annonces/achat"
          "/annonces/(.*)____Vente_/vente.html" => "/annonces/achat"
          "/type_bien/(.*)" => "/annonces/achat"
          "/annonces/_____(.*)/immobilier.html" => "/annonces/achat"
          "/annonces/(.*)_____2/.html" => "/annonces/achat"
          "/conseillers/(.*)-recrutement-immobilier" => "/nos-conseillers"
          "/annonces/exclusivites" => "/annonces/achat?affichage=grid-view&exclusif=true"
          "/de-(.*).html" => "/de"
          "/fr-(.*).html" => "/annonces/achat"
          "/es-(.*).html" => "/"
          "/nl-(.*).html" => "/"
          "/pt-(.*).html" => "/pt"
          "/ville_bien/(.*).html" => "/annonces/achat"
          "/catalog/news.php" => "/actualites"
          "/it-(.*).html" => "/en"
          "/en-(.*).html" => "/en"
          "(.*)/(region|bezirk)(?(?=\?)(.+)|)$" => "/[301]"
          "(.*)/(regions|regionen)(?(?=\?)(.+)|)$" => "/[301]"
          "/de/betreuer/steinseufzer-robert" => "/betreuer/robert-steinseufzer"
          "(.*)/estimer/appartement" => "/estimer-appartement"
          "(.*)/estimer/maison" => "/estimer-maison"
          "/conseillers/casseleux" => "/conseillers/aurelie.casseleux"
        ]
        "routes" => array:88 [
          "(.*)/(actualites|neuigkeit|news|noticias)(?(?=\?)(.+)|)$" => "/actualites"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/page:(\d+)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(commerces|shops|neuf)/nos-conseillers(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(new/agents)(?(?=\?)(.+)|)$" => "/nos-conseillers"
          "(.*)/(conseillers|agents|betreuer|agentes|conselheiros)/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche"
          "(.*)/(annonces|commerces)/(fiche|vente|achat|location|reprendre)/([\w-]+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location|reprendre)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(adverts|shops)/(sale|buy|rental|resume)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(verlautbarungen|geschafte|shops)/(verkauf|mieten|einkaufen|verlieh|zusammenfassung)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel|retomar)/(\w+)/(\w+)/([\w-]+)-(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/fiche"
          "(.*)/(annonces|commerces)/(vente|achat|location)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(adverts|shops)/(sale|buy|rental)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(verlautbarungen|geschafte)/(verkauf|mieten|einkaufen|verlieh)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(anuncios|lojas)/(compra|venda|aluguel)/(\w+)-(\w+)(?(?=\?)(.+)|)$" => "/annonces/ville"
          "(.*)/(annonces/villes|verlautbarungen/ortschaften|adverts/cities|anuncios/cidades)(?(?=\?)(.+)|)$" => "/annonces/villes"
          "(.*)/(commerces|shops|lojas)(?(?=\?)(.+)|)$" => "/commerces"
          "(.*)/(immobilier/avis-clients|immobilien/kundenrezensionen|real-estate/customer-reviews|imoveis/opinioes-clientes)(?(?=\?)(.+)|)$" => "/immobilier/avis-clients"
          "(.*)/(immobilien|imobiliaria)/(konzept|o-conceito)(?(?=\?)(.+)|)$" => "/immobilier/concept"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/international(?(?=\?)(.+)|)$" => "/immobilier/international"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(investir-dans-le-neuf|investieren-in-die-neue|invest-in-the-new)(?(?=\?)(.+)|)$" => "/immobilier/investir-dans-le-neuf"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(nos-valeurs|unsere-werte|our-values)(?(?=\?)(.+)|)$" => "/immobilier/nos-valeurs"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imoveis)/(pourquoi|warum|why|por-que)(?(?=\?)(.+)|)$" => "/immobilier/pourquoi-choisir-optimhome"
          "(.*)/(immobilier|immobilien|real-estate|imoveis|imobiliaria)/(qui-sommes-nous|wer-sind-wir|who-we-are|quem-somos-nos)(?(?=\?)(.+)|)$" => "/immobilier/qui-sommes-nous"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/pass-vip(?(?=\?)(.+)|)$" => "/immobilier/pass-vip"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(primo-accession|erstbeitritt|first-accession)(?(?=\?)(.+)|)$" => "/immobilier/immobilier/primo-accession"
          "(.*)/(immobilier/visite-live-a-distance|immobilien/besichtigung-live-a-distance|real-estate/visit-live-a-distance)(?(?=\?)(.+)|)$" => "/immobilier/visite-live-a-distance"
          "(.*)/(immobilier|immobilien|real-estate|imoveis)/(vivre-dans-le-neuf|leben-in-einer-neuen-umgebung|living-in-a-new-environment)(?(?=\?)(.+)|)$" => "/immobilier/vivre-dans-le-neuf"
          "(.*)/(mentions-legales|rechtliche-hinweise|legal-notices|mencao-legal)(?(?=\?)(.+)|)$" => "/mentions-legales"
          "(.*)/(mon-compte|mein-konto|my-account)(?(?=\?)(.+)|)$" => "/mon-compte"
          "(.*)/(mon-compte/home|mein-konto/home|my-account/home)(?(?=\?)(.+)|)$" => "/mon-compte/home"
          "(.*)/(mon-compte/espace-proprietaire|mein-konto/primar-raum|my-account/private-area)(?(?=\?)(.+)|)$" => "/mon-compte/espace-proprietaire"
          "(.*)/(mandat-optimust)(?(?=\?)(.+)|)$" => "/mandat-optimust"
          "(.*)/(neuf|neu|new|novo)(?(?=\?)(.+)|)$" => "/neuf"
          "(.*)/(nous-contacter|kontakt-uns|contact-us|contacte-nos)(?(?=\?)(.+)|)$" => "/nous-contacter"
          "(.*)/(politique-generale-confidentialite|allgemeine-politik-vertraulichkeit|general-policy-confidentiality|politica-geral-privacidade)(?(?=\?)(.+)|)$" => "/politique-generale-confidentialite"
          "(.*)/(rekrutierung)(?(?=\?)(.+)|)$" => "/recrutement"
          "(.*)/(vendre|verkaufen|sell|vender)(?(?=\?)(.+)|)$" => "/vendre"
          "(.*)/(annonces|commerces|neuf)/(vente|achat|louer|fonds)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(adverts|shops)/(sale|buy|rental|business)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(verlautbarungen|shops)/(mieten|einkaufen|verlieh|gewerbe)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(anuncios|comerciais|novo)/(venda|comprar|aluguer|fundos|aluguer)(/\w+)?(?(?=\?)(.+)|)$" => "/annonces/transaction"
          "(.*)/(annonces|verlautbarungen)/(achat|einkaufen|mieten|louer)(/page:\d+)?(\?.*)?$" => "/annonces/transaction"
          "(.*)/region/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/bezirk/(\w+)(?(?=\?)(.+)|)$" => "/annonces/region"
          "(.*)/estimer-mon-bien(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/estimate-my-property(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/schatzen-meine-eigenschaft?(.*)" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/immobilienbewertung?(.*)" => "/estimer-mon-bien"
          "(.*)/apreciar-meu-propriedade(?(?=/)(.+)|)$" => "/estimer-mon-bien"
          "(.*)/conseillers/estimation(?(?=/)(.+)|)$" => "/estimer"
          "(.*)/conseillers/estimation/etapes(?(?=/)(.+)|)$" => "/estimer/etapes"
          "(.*)/conseillers/estimation/etapes/.*/resultat/(.*)" => "/estimer/resultat-agent"
          "(.*)/conseillers/apporteur-affaires/suivi/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/suivi"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)/merci(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes/merci"
          "(.*)/conseillers/apporteur-affaires/([\w\-.]+)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche/apporteur-affaires"
          "(.*)/conseillers/apporteur-affaires/etapes/([\w\-.]+)$" => "/nos-conseillers/fiche/apporteur-affaires/etapes"
          "(.*)/estimer-appartement$" => "/estimer"
          "(.*)/estimer-maison$" => "/estimer"
          "(.*)/estimer-appartement?(.*)$" => "/estimer"
          "(.*)/estimer-maison?(.*)$" => "/estimer"
          "(.*)/estimer-appartement/etapes$" => "/estimer/etapes"
          "(.*)/estimer-maison/etapes$" => "/estimer/etapes"
          "(.*)/estimer-appartement/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-maison/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/combien-pour-mon-bien/resultat/(.*)" => "/combien-pour-mon-bien/resultat"
          "(.*)/combien-pour-mon-bien-estimation/etapes/resultat/(.*)" => "/estimer/resultat"
          "(.*)/estimer-mon-bien/resultat/(.*)" => "/estimer-mon-bien/resultat"
          "/estimate" => "/estimer-mon-bien"
          "/estimate/result" => "/estimer-mon-bien/resultat"
          "(.*)/vendre(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/sell(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/verkaufen(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/vender(?(?=/)(.+)|)$" => "/vendre"
          "(.*)/(favoris|favorites|favoriten|os-meus-favoritos)(?(?=\?)(.+)|)$" => "/favoris"
          "(.*)/(commerces/vendre|shops/sell|shops/verkaufen|vender/lojas)(?(?=/)(.+)|)$" => "/vendre-commerces"
          "(.*)/nos-conseillers/fiche/vendre/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/vendre"
          "(.*)/nos-conseillers/fiche/estimation-rdv/(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv"
          "(.*)/nos-conseillers/fiche/estimation-rdv/merci(.+)(?(?=/)(.+)|)$" => "/nos-conseillers/fiche/estimation-rdv/merci"
          "/annonces/villes(?(?=\?)(.+)|)$" => "/annonces/villes"
          "/annonces/villes/[a-z](?(?=\?)(.+)|)$" => "/annonces/villes-lettre"
          "/annonces/achat/\w+(?(?=\?)(.+)|)$" => "/seo/city"
          "/annonces/achat/\w+/\w+(?(?=\?)(.+)|)$" => "/seo/city-type"
          "/([\w*-._]*)(?(?=\?)(.+)|)$" => "/nos-conseillers/fiche"
        ]
        "blog" => array:1 [
          "route" => "/blog"
        ]
        "env" => "prod"
        "exclude_cafpi_agent" => array:1 [
          0 => "2018"
        ]
        "emails" => array:1 [
          "regex" => "/([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)/"
        ]
        "activityStatus" => "SELLER"
        "partnerId" => "optimhome"
        "domain" => "optimhome"
        "show_login_form" => true
        "mapping_url_subdomain" => array:28 [
          "alsace" => "annonces/achat?adresse=Grand%20Est"
          "auvergne" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "bourgogne" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "bretagne" => "annonces/achat?adresse=Bretagne"
          "centre" => "annonces/achat?adresse=Centre-Val%20de%20Loire"
          "champagne-ardenne" => "annonces/achat?adresse=Grand%20Est"
          "corse" => "annonces/achat?adresse=Corse"
          "franche-comte" => "annonces/achat?adresse=Bourgogne%20Franche-Comté"
          "guadeloupe" => "annonces/achat?affichage=grid-view&adresse=Guadeloupe"
          "guyane" => "annonces/achat?affichage=grid-view&adresse=Guyane%20française"
          "ile-de-france" => "annonces/achat?adresse=Île-de-France"
          "languedoc-roussillon" => "annonces/achat?adresse=Occitanie"
          "limousin" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "lorraine" => "annonces/achat?adresse=Grand%20Est"
          "martinique" => "annonces/achat?affichage=grid-view&adresse=Martinique"
          "midi-pyrenees" => "annonces/achat?adresse=Occitanie"
          "nord-pas-de-calais" => "annonces/achat?adresse=Hauts-de-France"
          "basse-normandie" => "annonces/achat?adresse=Normandie"
          "haute-normandie" => "annonces/achat?adresse=Normandie"
          "pays-de-la-loire" => "annonces/achat?adresse=Pays%20de%20la%20Loire"
          "picardie" => "annonces/achat?adresse=Hauts-de-France"
          "poitou-charentes" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "paca" => "annonces/achat?adresse=PACA"
          "reunion" => "annonces/achat?adresse=La%20Réunion"
          "rhone-alpes" => "annonces/achat?adresse=Auvergne-Rhône-Alpes"
          "exclusif" => "annonces/achat?exclusif=true"
          "medoc" => "annonces/achat?adresse=Nouvelle-Aquitaine"
          "commerce" => "commerces"
        ]
        "background-regions" => array:18 [
          "Hauts-de-France, France" => "bgmoteur_annonces-hautsdefrance.jpg"
          "Normandie, France" => "bgmoteur_annonces-normandie.jpg"
          "Île-de-France, France" => "bgmoteur_annonces-iledefrance.jpg"
          "Bretagne, France" => "bgmoteur_annonces-bretagne.jpg"
          "Auvergne-Rhône-Alpes, France" => "bgmoteur_annonces-auvergnerhonealpes.jpg"
          "Bourgogne Franche-Comté, France" => "bgmoteur_annonces-bourgognefranchecompte.jpg"
          "Centre-Val de Loire, France" => "bgmoteur_annonces-centrevaldeloire.jpg"
          "Pays de la Loire, France" => "bgmoteur_annonces-valdeloire.jpg"
          "Nouvelle-Aquitaine, France" => "bgmoteur_annonces-nouvelleaquitaine.jpg"
          "Occitanie, France" => "bgmoteur_annonces-occitanie.jpg"
          "PACA, France" => "bgmoteur_annonces-paca.jpg"
          "Corse, France" => "bgmoteur_annonces-corse.jpg"
          "Grand Est, France" => "bgmoteur_annonces-grandest.jpg"
          "Guadeloupe" => "bgmoteur_annonces-guadeloupe.jpg"
          "Arrondissement de Cayenne, France" => "bgmoteur_annonces-guyane.jpg"
          "La Réunion" => "bgmoteur_annonces-lareunion.jpg"
          "Martinique" => "bgmoteur_annonces-martinique.jpg"
          "Mayotte" => "bgmoteur_annonces-mayotte.jpg"
        ]
        "site_de" => "https://www.optimhome.com/de"
        "site_pt" => "https://www.optimhome.com/pt"
        "site_en" => "https://www.optimhome.com/en"
        "site_fr" => "https://www.optimhome.com"
        "property_pdf" => array:1 [
          "file_name" => "Fiche_bien_"
        ]
        "reference_length" => array:2 [
          "fr" => 12
          "pt" => 4
        ]
        "geolocation" => array:1 [
          "city" => "Paris"
        ]
        "acxtest" => "TEST"
        "intranet-url" => "https://intranet.digitregroup.io"
        "graphql" => array:2 [
          "endpoint" => "https://intranet.digitregroup.io/graphql/"
          "token" => "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjowLCJlbWFpbCI6ImFkbWluQGRpZ2l0cmVncm91cC5jb20iLCJyb2xlIjpbIkFETUlOIl0sInJ1bGVzIjpbeyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJzdWJqZWN0IjoiYW55In1dfSwiaWF0IjoxNTUyNTgwNDI4fQ.SQdTRJQEUlvHMTn6_3pNwYDCM3aj2Taw-_bNjK3NBhM"
        ]
      ]
      "uri" => Uri {#138}
      "assets" => Assets {#251}
      "taxonomy" => Taxonomy {#423}
      "browser" => Browser {#458}
      "base_dir" => "/var/app/current"
      "home_url" => "/"
      "base_url" => ""
      "base_url_absolute" => "https://www.optimhome.com"
      "base_url_relative" => ""
      "base_url_simple" => ""
      "theme_dir" => "/var/app/current/user/themes/optimhome"
      "theme_url" => "/user/themes/optimhome"
      "html_lang" => "fr"
      "language_codes" => LanguageCodes {#459}
      "breadcrumbs" => Breadcrumbs {#196}
      "form" => Form {#188}
      "form_max_filesize" => 15
      "form_json_response" => []
      "page" => Page {#666}
      "media" => Media {#919}
      "header" => {#667}
    ]
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
        }
 
        // Initialize the preferred variant of Parsedown
        if ($defaults['extra']) {
            $parsedown = new ParsedownExtra($this, $defaults);
        } else {
            $parsedown = new Parsedown($this, $defaults);
        }
 
        $this->content = $parsedown->text($this->content);
    }
 
 
    /**
     * Process the Twig page content.
     */
    private function processTwig()
    {
        $twig = Grav::instance()['twig'];
        $this->content = $twig->processPage($this, $this->content);
    }
 
    /**
     * Fires the onPageContentProcessed event, and caches the page content using a unique ID for the page
     */
    public function cachePageContent()
    {
        $cache = Grav::instance()['cache'];
        $cache_id = md5('page' . $this->id());
        $cache->save($cache_id, ['content' => $this->content, 'content_meta' => $this->content_meta]);
    }
 
    /**
     * Needed by the onPageContentProcessed event to get the raw page content
     *
     * @return string   the current page content
     */
    public function getRawContent()
    {
        return $this->content;
Arguments
  1. Page {#666}
    
  2. """
    {% set criterias = [] %}\n
    {% set displayBtnBuy = false %}\n
    {% set displayBtnRent = false %}\n
    \n
    {% set agent = getAgentSEO([whereSlugMatchPhrase(uri.basename)]) %}\n
    \n
    {% if not agent %}\n
    {% set agent = getAgentSEO([whereLoginMatchPhrase(uri.basename)]) %}\n
    {% endif %}\n
    \n
    {% set businessConfigIsActive = false %}\n
    {% if agent.source.id %}\n
    {% set businessConfigIsActive = getConfigActiveByExternalId(agent.source.id, 'OPTIMHOME') %}\n
    {% endif %}\n
    \n
    {{ redirectToAgentListingIfEmpty(agent.source.id) }}\n
    \n
    {% set criterias = [] %}\n
    \n
    {% set agentProperties = searchPropertiesSEO(\n
            criterias|merge([\n
                setMaxResults(200),\n
                where("published", true),\n
                whereAgentIdMatchPhrase(agent.source.id)\n
        ])\n
    )%}\n
    \n
    {% set agentPropertiesSorted = getAgentPropertiesSorted(agentProperties.hits)%}\n
    \n
    {% set agentPropertiesSold = searchPropertiesPublishedOrNot(\n
            criterias|merge([\n
                setMaxResults(200),\n
                where("published", false),\n
                where("postCompromisePublication", true),\n
                where("sold", true),\n
                sortDesc("dateEffectiveSignature"),\n
                whereAgentIdMatchPhrase(agent.source.id)\n
        ])\n
    )%}\n
    \n
    {% set lastNameAgent = agent.identity.last_name|lower|split(' et ') %}\n
    {% set agentOptimust = agent.optimust %}\n
    {% set propertyTypes = getPropertyTypes(agentProperties.hits) %}\n
    {%- set property_types -%}\n
    {%- include 'js/property_types.js.twig' -%}\n
    {%- endset -%}\n
    {% do assets.addInlineJs(property_types, {'priority': 0, 'group': 'bottom'}) %}\n
    \n
    {% import 'macro/stats-factory.js.twig' as statsFactory %}\n
    {% set statsCallJS = statsFactory.sendStats(agentProperties, grav.config['plugins.housing-factory.stats_factory_key_listing']) %}\n
    {% do assets.addInlineJs(statsCallJS, {'priority': 0, 'group': 'bottom'}) %}\n
    \n
    {% do assets.addJs('theme://js/expand-text.js', {priority: 97, group: 'bottom'}) %}\n
    {% do assets.addJs('https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js', {'priority': 10, 'group': 'bottom'}) %}\n
    {% do assets.addJs('theme://js/conseiller.js', {'priority': 10, 'group': 'bottom'}) %}\n
    {% do assets.addJs('theme://js/conseiller-modal.js', {'priority': 10, 'group': 'bottom'}) %}\n
    \n
    {%- set favorites -%}\n
    {%- include 'js/favorites.js.twig' -%}\n
    {%- endset -%}\n
    {% do assets.addInlineJs(favorites, {'priority': 0, 'group': 'bottom'}) %}\n
    {% set filters = {} %}\n
    {% set pagination = {'limit': 200} %}\n
    {% set orderBy = {'field': 'review_date_timestamp', 'sort': 'DESC'} %}\n
    {% set companyCode = grav.config['plugins.avis-verifies-digit.avis-verifies.client.companyCode'] %}\n
    {% set listingAvis = getReviewsByAgent(companyCode, agent.source.id, filters, pagination, orderBy) %}\n
    {% set averageRates = getAgentStat(companyCode, agent.source.id) %}\n
    {% set averageData = 0 %}\n
    {% if averageRates is not empty and agent.source.id not in config.site['exclude_avis_agent'] %}\n
    {% set averageData = averageRates %}\n
    {% endif %}\n
    \n
    {% set pic_profile = agent.getProfilePicture('maxi') %}\n
    {% if pic_profile == '/user/themes/optimhome/images/conseiller_default.jpg' and agent.identity.title == 'MS' %}\n
    {% set pic_profile = '/user/themes/optimhome/images/conseiller_default_ms.jpg' %}\n
    {% endif %}\n
    {% set phoneNumber = formatPhoneNumber(agent.phone.mobile_number|default(agent.phone.landline_number)) %}\n
    \n
    {%  block jsonLD %}\n
    {% if averageData > 3  %}\n
    \n
    <script type="application/ld+json">\n
    {\n
    "@context": "http://schema.org/",\n
    "@type": "RealEstateAgent",\n
    "aggregateRating": {\n
    "@type": "AggregateRating",\n
    "bestRating":"5",\n
    "ratingValue":"{{averageData.average_rate|round(2, 'floor')}}",\n
    "reviewCount":"{{averageData.nb_reviews}}",\n
    "worstRating":"1"\n
    \n
                },\n
                "image":"{{ agent.profile_picture.0.medium}}",\n
                "name":"{{ agent.identity.first_name }} {{ agent.identity.last_name|upper }}",\n
                "url":"{{ getRoute('conseillers_fiche') }}/{{ getUrlAgent(agent.source.slug) }}",\n
                "address":"{{ agent.work_areas.0.city }} ({{ agent.work_areas.0.postal_code }})",\n
                "telephone":"{{ phoneNumber }}",\n
               "review": [\n
          {% for avis in listingAvis.hits %}\n
            {\n
              "@type": "Review",\n
              "author": "{{ avis.firstname }} {{ avis.lastname|first }}.",\n
              "datePublished": "{{ avis.review_date|date("Y/m/d") }}",\n
              "description": "{{ avis.review|replace({"\n":'', "\r":''}) }}",\n
              "reviewRating": {\n
                "@type": "Rating",\n
                "bestRating": "5",\n
                "ratingValue": "{{avis.rate}}",\n
                "worstRating": "1"\n
              }\n
            }{% if not loop.last %},{% endif %}\n
                {% endfor %}\n
          ]\n
        }\n
        </script>\n
    \n
        {%  endif %}\n
    \n
    {%  endblock %}\n
    \n
    <div class="container-fluid header_conseiller">\n
        <div class="container">\n
            <div class="row align-items-end justify-content-end pt-2 pt-md-5 pb-5">\n
                <div class="col-12 col-lg-3 col-md-4 text-center text-lg-left relative mb-3 mb-md-0 order-2 order-sm-1">\n
                    <div class="photo_conseiller">\n
                        <img src="{{ pic_profile }}"\n
                             class="img-fluid"\n
                             alt="{{ agent.identity.first_name }} {{ agent.identity.last_name}}"\n
                             data-cy="agent-detail_photo_conseiller"\n
                        />\n
                    </div>\n
                    {% set optimustYearFrom = "now"|date("Y") %}\n
                    {% set optimustYearTo = optimustYearFrom - 3 %}\n
                    {% set hasTrophy = false %}\n
                    {% set diplayCurrentYearTrophy = null %}\n
                    {% set lastIndexOptimust = agentOptimust|length - 1 %}\n
                    {% set optimustYear = agentOptimust[lastIndexOptimust] %}\n
                    {% if agentOptimust and agentOptimust[lastIndexOptimust].end_date is null %}\n
                        {% if agentOptimust[lastIndexOptimust].level %}\n
                            {% set hasTrophy = true %}\n
                            {% set diplayCurrentYearTrophy = optimustYear.level %}\n
                        {% endif %}\n
                    {% endif %}\n
                    {% if diplayCurrentYearTrophy == 'Platine' %}\n
                        {% set diplayCurrentYearTrophy = 'diamant' %}\n
                    {% endif %}\n
                    {% if hasTrophy == true %}\n
                        <div class="img-optimust">\n
                            {% if diplayCurrentYearTrophy %}\n
                                <img src="{{ url('theme://images/optimust/logo_optimust_' ~ (diplayCurrentYearTrophy | lower) ~ '.svg') }} " alt="Optimust" class="img-fluid">\n
                            {% endif %}\n
                        </div>\n
                    {% endif %}\n
                </div>\n
                <div class="col-12 col-lg-9 col-md-8 text-left text-md-right text-white mt-5 mt-md-0 order-1 order-sm-2">\n
                    <h1>\n
                        <span class="prenom">{{ agent.identity.first_name }}</span>\n
                        <span class="nom font-weight-bold">{{ lastNameAgent.0|upper }}</span>\n
                    </h1>\n
                    <h2>\n
                        {% if ' et ' in agent.identity.first_name|lower %}\n
                            <span class="d-block">{{ 'CONSEILLER_DETAIL_REAL_ESTATE_CONSULTANT'|t }}</span>\n
                        {% else %}\n
                            <span class="d-block">{{ agent.identity.title is same as('MR') ? 'CONSEILLER_DETAIL_REAL_ESTATE_CONSULTANT_H'|t : 'CONSEILLER_DETAIL_REAL_ESTATE_CONSULTANT_F'|t }}</span>\n
                        {% endif %}\n
                        <div class="ville">{{ 'CONSEILLER_DETAIL_AT'|t }} <span class="font-weight-bold">{{ agent.work_areas.0.city }} ({{ agent.work_areas.0.postal_code }})</span></div>\n
                    </h2>\n
                    <div class="row btn-conseiller justify-content-end pt-3">\n
                        <div class="col-12 col-md-6 col-lg-4 mb-2">\n
                            <a href="{{ getRoute('conseillers_estimer') }}/{{ getUrlAgent(agent.source.slug) }}" class="btn btn-primary btn-block font-weight-normal">\n
                                <img src="{{ url('theme://images/conseillers/icon-calculate.svg') }}" height="20px" class="pr-2 mb-1" />{{ 'CONSEILLER_DETAIL_ESTIMATE_YOU_PROPERTY'|t }}\n
                            </a>\n
                        </div>\n
                        <div class="col-12 col-md-6 col-lg-4 mb-lg-0 mb-3">\n
                            <a href="{{ getRoute('vendre_conseiller') }}/{{ getUrlAgent(agent.source.slug) }}" class="btn btn-success btn-block font-weight-normal">\n
                                <img src="{{ url('theme://images/conseillers/icon-sale.svg') }}" height="20ox"  class="pr-2" /> {{ 'CONSEILLER_DETAIL_SELL_A_PROPERTY'|t }}\n
                            </a>\n
                        </div>\n
                    </div>\n
                </div>\n
            </div>\n
        </div>\n
    </div>\n
    <div class="container mt-2 mt-lg-5 pt-5">\n
        <div class="row align-items-start">\n
            <div class="content_conseiller col-12 col-md-7 col-lg-8 my-2 ">\n
                <div class="row">\n
                    <div class="col-12">\n
                        <h2 class="titre2 mt-2">{{ 'CONSEILLER_DETAIL_PRESENTATION'|t }}</h2>\n
                        <h3 class="titre4 py-2">\n
                            <span class="font-weight-bold">\n
                            {% if agent.identity.title is same as('MR') and ' Et ' not in agent.identity.first_name%}\n
                                {{'CONSEILLER_DETAIL_SPECIALTY'|t}}\n
                            {% endif %}\n
                            {% if ' Et ' in agent.identity.first_name and agent.identity.title is same as('MR')%}\n
                                {{'CONSEILLER_DETAIL_SPECIALTY_DUO'|t}}\n
                            {% endif %}\n
                            {% if ' Et ' in agent.identity.first_name and agent.identity.title is same as('MS')%}\n
                                {{'CONSEILLER_DETAIL_SPECIALTY_DUO_F'|t}}\n
                            {% endif %}\n
                            {% if agent.identity.title is same as('MS') and ' Et ' not in agent.identity.first_name %}\n
                                {{'CONSEILLER_DETAIL_SPECIALTY_F'|t}}\n
                            {% endif %}\n
                             </span>\n
                            {% if agent.specialities|length > 0 %}\n
                                {% for specialite in agent.specialities %}\n
                                    <span class="font-weight-bold">{{ specialite|replace({'Ancien': 'Habitation', 'habilité à gérer des ventes en viager': 'viager'}) }}{% if loop.last != 1 %},{% endif %}</span>\n
                                {% endfor %}\n
                            {% else %}\n
                                <span class="font-weight-bold">{{ 'DEFAULT_AGENT_SPECIALITY'|t }}</span>\n
                            {% endif %}\n
                        </h3>\n
                        {% if agentProperties.hits|length > 0 or agentPropertiesSold.hits|slice(0,30)|length > 0 %}\n
                            <h3 class="font-weight-light number_properties">\n
                                <a href="#biensvente" class="text-white">{{ 'I_HAVE'|t }}  <span class="font-weight-normal">{{ agentProperties.hits|length }} {% if agentProperties.hits|length > 1 %} {{ 'CONSEILLER_DETAIL_OFFERS_AVAILABLE'|t('s') }}{% else %}  {{ 'CONSEILLER_DETAIL_OFFERS_AVAILABLE'|t('','') }}{% endif %}</span></a>\n
                            </h3>\n
                        {% endif %}\n
                        <div>\n
                            <div class="card-header bg_white border-0 p-0">\n
                                {% if agent.bio.0 is not empty %}\n
                                <div class="text_description txt_reg" id="text_bio">\n
                                    {% set BioAgent = agent.bio.0 %}\n
                                     {{ BioAgent }}\n
                                </div>\n
                                    <button class="btn btn-link expand">{{ 'CONSEILLER_DETAIL_VIEW_THE_DETAILED_PRESENTATION'|t }}<i class="pl-2 fal fa-arrow-down"></i></button>\n
                                    <button class="btn btn-link contract hide">{{ 'CONSEILLER_DETAIL_VIEW_THE_DETAILED_PRESENTATION'|t }}<i class="pl-2 fal fa-arrow-up"></i></button>\n
                                <hr>\n
                                <div class="txt_med"><b>{{ 'COMMERCIAL_AGENT'|t }} :</b> {{ agent.office.legalinfo.siret_number }}</div>\n
                                <div class="txt_med"><b>{{ 'CITY_OF_REGISTRY'|t }} :</b> {{ agent.office.legalinfo.registry_city }}</div>\n
                                {% if agent.status is not empty %}<div class="txt_med"><b>{{ 'ENTREPRENEUR_STATUS'|t }} :</b> {{ lastNameAgent.0|upper }} {{ agent.identity.first_name }} {{ agent.status }}</div>{% endif %}\n
                                <p class="mt-3 txt_med">Tous les commerciaux du réseau OPTIMHOME sont des agents commerciaux indépendants immatriculés au\n
                                    registre spécial des agents commerciaux.</p>\n
                                <a href="{{ agent.links.fees_url }}" target="_blank"><i class=" pr-1 fas fa-angle-right"></i>{{ 'CONSEILLER_DETAIL_CONSULT_THE_FEES'|t }}</a>\n
                                {% else %}\n
                                    <p>Consultant Commercial Indépendant en Immobilier en partenariat avec le réseau OptimHome, je suis votre interlocuteur privilégié, qui a une réelle disponibilité avec des horaires flexibles.\n
                                        Les demandes de mon client sont ma priorité pour mieux répondre à ses attentes.\n
                                        Mon rôle principal est d’informer, conseiller et orienter mon client dans ses démarches et jusqu’à la signature chez le notaire.</p>\n
                                    <div class="txt_med"><b>{{ 'COMMERCIAL_AGENT'|t }} :</b> {{ agent.office.legalinfo.siret_number }}</div>\n
                                    <div class="txt_med"><b>{{ 'CITY_OF_REGISTRY'|t }} :</b> {{ agent.office.legalinfo.registry_city }}</div>\n
                                    {% if agent.status is not empty %}<div class="txt_med"><b>{{ 'ENTREPRENEUR_STATUS'|t }} :</b> {{ lastNameAgent.0|upper }} {{ agent.identity.first_name }} {{ agent.status }}</div>{% endif %}\n
                                    <p class="mt-3 txt_med">Tous les commerciaux du réseau OPTIMHOME sont des agents commerciaux indépendants immatriculés au\n
                                        registre spécial des agents commerciaux.</p>\n
                                    <a href="{{ agent.links.fees_url }}" target="_blank"><i class=" pr-1 fas fa-angle-right"></i>{{ 'CONSEILLER_DETAIL_CONSULT_THE_FEES'|t }}</a>\n
                                {% endif %}\n
                            </div>\n
                        </div>\n
                        {% if agent.source.id not in config.site['exclude_apporteur_agent'] and businessConfigIsActive %}\n
                            {% if grav.language.getActive != 'de' %}\n
                                <div class="block_apporteur_affaire py-4 px-3 px-md-5 mt-5">\n
                                    <div class="row">\n
                                        <div class="col-12">\n
                                            <div class="d-md-flex align-items-center">\n
                                                <div class="inner_img mr-md-5 mb-0">\n
                                                    <img class="img-fluid" src="{{ url('theme://images/conseillers/apporteur-affaires/logo-apporteur-affaire-white.svg') }}">\n
                                                </div>\n
                                                <div class="inner_txt_desc">\n
                                                    <p class="titre4 c_white font-weight-bold">Une personne de votre entourage souhaite vendre son bien ?</p>\n
                                                    <p class="mb-3">Mettez-nous en relation et soyez récompensé(e) !</p>\n
                                                    <a class="btn btn-primary-inverse py-2" href="{{ getRoute('conseillers_apporteur_affaires') }}/{{ getUrlAgent(agent.source.slug) }}" title="Recommandez-moi">Mettez-nous en relation</a>\n
                                                </div>\n
                                            </div>\n
                                        </div>\n
                                    </div>\n
                                </div>\n
                            {% endif %}\n
                        {% endif %}\n
                    </div>\n
                </div>\n
            </div>\n
            <aside class="col-12 col-md-5 col-lg-4 d-none d-lg-inline-block bg_gray_clear">\n
                <div class="p-4 p-md-3 p-lg-4 mt-3 form_container">\n
                    <div class="txt_hight">{{ agent.identity.first_name }} <span class="text-uppercase font-weight-bold">{{ lastNameAgent.0|upper }}</span></div>\n
                    <div class="ville">{{ agent.work_areas.0.postal_code }} {{ agent.work_areas.0.city}}</div>\n
                     <ul class="list-social pt-2">\n
                        {% if agent.links.social.facebook_url is not empty and 'https://' in agent.links.social.facebook_url %}\n
                            {% set facebook_url = agent.links.social.facebook_url %}\n
                        <li class="d-inline-block pb-1">\n
                            <a href="{{ facebook_url }}" target="_blank"\n
                                title="{{ 'ACCESS'|t }} Facebook">\n
                                    <span class="fa-stack">\n
                                        <i class="fas fa-circle fa-stack-2x"></i>\n
                                        <i class="fab fa-facebook-f fa-stack-1x fa-inverse"></i>\n
                                    </span>\n
                            </a>\n
                        </li>\n
                        {% endif %}\n
                        {% if agent.links.social.twitter_url is not empty and 'https://' in agent.links.social.twitter_url %}\n
                            {% set twitter_url = agent.links.social.twitter_url %}\n
                        <li class="d-inline-block pb-1">\n
                            <a href="{{ twitter_url }}" target="_blank"\n
                                title="{{ 'ACCESS'|t }} Twitter">\n
                                        <span class="fa-stack">\n
                                            <i class="fas fa-circle fa-stack-2x"></i>\n
                                            <i class="fab fa-twitter fa-stack-1x fa-inverse"></i>\n
                                        </span>\n
                            </a>\n
                        </li>\n
                        {% endif %}\n
                        {% if agent.links.social.linkedin_url is not empty and 'https://' in agent.links.social.linkedin_url %}\n
                            {% set linkedin_url = agent.links.social.linkedin_url %}\n
                        <li class="d-inline-block">\n
                            <a href="{{ linkedin_url }}" target="_blank" title="">\n
                                    <span class="fa-stack">\n
                                        <i class="fas fa-circle fa-stack-2x"></i>\n
                                        <i class="fab fa-linkedin-in fa-stack-1x fa-inverse"></i>\n
                                    </span>\n
                            </a>\n
                        </li>\n
                        {% endif %}\n
                        {% if agent.links.social.google_my_business_url is not empty and 'https://' in agent.links.social.google_my_business_url %}\n
                            <li class="d-inline-block">\n
                                <a href="{{ agent.links.social.google_my_business_url }}"\n
                                    target="_blank" title="">\n
                                    <span class="fa-stack">\n
                                        <i class="fas fa-circle fa-stack-2x"></i>\n
                                        <i class="fab fa-google fa-stack-1x fa-inverse"></i>\n
                                    </span>\n
                                </a>\n
                            </li>\n
                        {% endif %}\n
                        {% if agent.links.social.instagram_url is not empty and 'https://' in agent.links.social.instagram_url %}\n
                            {% set instagram_url = agent.links.social.instagram_url %}\n
                        <li class="d-inline-block pb-1">\n
                            <a href="{{ instagram_url }}" target="_blank"\n
                                title="{{ 'ACCESS'|t }} Instagram">\n
                                        <span class="fa-stack">\n
                                            <i class="fas fa-circle fa-stack-2x"></i>\n
                                            <i class="fab fa-instagram fa-stack-1x fa-inverse"></i>\n
                                        </span>\n
                            </a>\n
                        </li>\n
                        {% endif %}\n
                                                        </ul>\n
                    {% if averageData.average_rate > 2 and agent.source.id not in config.site['exclude_avis_agent'] %}\n
                    <div class="avis_verfie mt-3">\n
                        <div class="row justify-content-center align-items-center">\n
                            <div class="text-center"></div>\n
                                <div>\n
                                    {% include 'inc/rating-stars.html.twig' with {rate: averageData.average_rate} %}\n
                                </div>\n
                                <div class="px-2 w-100">\n
                                    <a href="#agent-rating"> {{ 'SEE_THE_REVIEWS'|t }} ({{ listingAvis.hits|length }})</a>\n
                                </div>\n
                                <div class="w-50 mt-4">\n
                                    <img src="{{ url('theme://images/immodvisor-logo.png') }}" alt="Immodvisor" class="w-100"/>\n
                                </div>\n
                            </div>\n
                    </div>\n
                    {% endif %}\n
                    <div class="flip-container my-4">\n
                        <div class="flipper" onclick="$('#voir-telephone-0').hide(); $('#voir-telephone-1').show(); ">\n
                            <button type="button" id="voir-telephone-0" class="btn btn-green intention_appel front mt-2 mb-2" data-tel="" data-agence="0">\n
                                <i class="fal fa-phone-volume"></i>\n
                                <span class="intention_appel_txt" data-cy="agent-detail_phonenumber_btn_text">{{ 'CONSEILLER_DETAIL_SEE_THE_PHONE'|t }}</span>\n
                            </button>\n
                            {% set phoneNumber = formatPhoneNumber(agent.phone.mobile_number|default(agent.phone.landline_number)) %}\n
                            <div id="voir-telephone-1" class="btn btn-green intention_appel front mt-2 mb-2" style="display: none;" >\n
                                <a href="tel:{{ phoneNumber }}" class="phone-link tel-phone-link">\n
                                    <i class="fal fa-phone-volume"></i>\n
                                    <span class="intention_appel_txt" data-cy="agent-detail_phonenumber_btn_number">{{ phoneNumber }}</span>\n
                                </a>\n
                                <a href="sms:{{ phoneNumber }}" class="phone-link sms-phone-link TRAC_sms-phone-link">\n
                                    <i class="fal fa-sms"></i>\n
                                </a>\n
                            </div>\n
                        </div>\n
                    </div>\n
                     <div id="form-response-contact-agent-"></div>\n
                    {% include "forms/form_contact-agent.html.twig" with { form: forms('agent-contact-form') } %}\n
                    <div class="my-3 text-right">\n
                        {% include 'inc/required_fields.html.twig' %}\n
                    </div>\n
                    <div class="rgpd text-left">\n
                        {% include 'inc/politique-confidentialite.html.twig' %}\n
                    </div>\n
                </div>\n
            </aside>\n
        </div>\n
    </div>\n
    {% if agentProperties.hits is not empty %}\n
    <div class="container-fluid pt-5 bg_gray_transparent" id="biensvente">\n
        <div class="container listing_annonces">\n
            <div class="row">\n
                <div class="col-12 mb-3">\n
                    <h2 class="title2 text-uppercase"> {{ agentProperties.hits|length }} {% if agentProperties.hits|length > 1 %}{{ 'CONSEILLER_DETAIL_REAL_ESTATE_PROPERTY'|t('s','s') }}{% else %}{{ 'CONSEILLER_DETAIL_REAL_ESTATE_PROPERTY'|t('','') }}{% endif %}</h2>\n
                </div>\n
                {% for property in agentPropertiesSorted %}\n
                    <div class="col-12 col-md-6 col-lg-4 propertyType_{{ property.properties.property_type.family_code }} propertyType_{{ property.posting.offer_type }}" id="se-hits">\n
                        <article class="bg-white mb-4">\n
                        {% include 'inc/property-item.html.twig' %}\n
                        </article>\n
                    </div>\n
                {% endfor %}\n
            </div>\n
        </div>\n
    </div>\n
    {% endif %}\n
    {% if agentPropertiesSold.hits|slice(0,30) is not empty %}\n
    <div class="container-fluid py-5" >\n
    <div class="biensvendus container">\n
        <div class="row">\n
            <div class="col-12 pb-3">\n
                <h2 id="soldproperties" class="title2 text-uppercase">{{ 'MY_LAST_PROPERTY_SOLD'|t }} </h2>\n
            </div>\n
                {% for property in agentPropertiesSold.hits|slice(0,30) %}\n
                    <div class="col-12 col-md-6 col-lg-4  "  id="se-hits">\n
                        <article class="bg-white mb-4">\n
                            {% include 'inc/property-item.html.twig' %}\n
                        </article>\n
                    </div>\n
                {% endfor %}\n
        </div>\n
    </div>\n
    </div>\n
    {% endif %}\n
    {% if averageData and listingAvis.hits is not empty and agent.source.id not in config.site['exclude_avis_agent'] %}\n
    <div id="agent-rating" class="container pt-5 pb-5">\n
        <div class="row">\n
            <div class="col-12">\n
                <h2 class="title2 text-uppercase" data-cy="agent-detail_h2_avis_client">{{ 'CONSEILLER_DETAIL_MY_CUSTOMER_REVIEW'|t }}\n
                    <div data-toggle="modal" data-target="#avisverifie"> <small role="button">Avis soumis à un contrôle<i class="fal fa-question-circle ml-2"></i></small></div>\n
                </h2>\n
                <div class="row mt-5">\n
                    {% for avis in listingAvis.hits %}\n
                        {% if avis.rate|number_format > 2 %}\n
                            {% include 'inc/customer-review.html.twig' %}\n
                        {% endif %}\n
                    {% endfor %}\n
                </div>\n
            </div>\n
        </div>\n
    </div>\n
    {% endif %}\n
    \n
    <!-- menu responsive -->\n
    <div class="menu-mobile d-lg-none d-inline-block">\n
        <div class="row no-gutters align-items-center">\n
            <div class="col col-sm-2">\n
                <a class="agent_link"\n
                   href="{{ getRoute('conseillers_fiche') }}/{{ getUrlAgent(agent.source.slug) }}">\n
                    <div class="photo_conseiller photo_no-border ">\n
                        <img src="{{ agent.getProfilePicture('medium') }}"\n
                             class="img-fluid agent_picture_img"\n
                             alt="{{ agent.identity.first_name }} {{ agent.identity.last_name }}"/>\n
                    </div>\n
                </a>\n
            </div>\n
            <div class="col-5 col-xs-6 col-sm-6">\n
            {% if active_language == 'fr' %}\n
                <small class="font-weight-bold"><span class="badge_chat"></span>{{ 'AVAILABLE_TO_DISCUT'|t }}</small>\n
                {% endif %}\n
                <div class="txt_high d-block">\n
                    <span class="prenom">{{ agent.identity.first_name }}</span>\n
                    <span class="nom font-weight-bold text-uppercase">{{ agent.identity.last_name }}</span>\n
                                <div class="mt-1">\n
                                    {% include 'inc/rating-stars.html.twig' with {rate: averageData.average_rate} %}\n
                                </div>\n
                </div>\n
            </div>\n
            <div class="col">\n
                <a href="tel:{{ phoneNumber }}">\n
                    <div class="bg_green cta-mobile">\n
                        <i class="fal fa-phone-volume text-white"></i>\n
                    </div>\n
                </a>\n
            </div>\n
            <div class="col">\n
                <a href="#" data-toggle="modal" data-target="#form-agent-modal" class=" mx-auto" id="form-agent-mobile" >\n
                    <div class="bg_orange cta-mobile">\n
                        <i class="fal fa-envelope text-white"></i>\n
                    </div>\n
                </a>\n
            </div>\n
        </div>\n
    </div>\n
    \n
    <div class="modal fade show" id="avisverifie">\n
      <div class="modal-dialog modal-dialog-centered" role="document">\n
        <div class="modal-content">\n
          <div class="modal-header">\n
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n
              <span aria-hidden="true">&times;</span>\n
            </button>\n
          </div>\n
          <div class="modal-body">\n
                <p>Avis clients authentiques et modérés conformément à la norme NF ISO 20488, délivrée par AFNOR Certification. Pour plus d’informations sur les caractéristiques du contrôle des avis et la possibilité de contacter l’auteur de l’avis, merci de consulter les <a class="ql-link btn-link" href="https://www.immodvisor.com/conditions-generales-utilisation" rel="noopener noreferrer" target="_blank">CGU</a></p>\n
                <p>Aucune contrepartie n’a été fournie en échange des avis.</p>\n
                <p>Les avis sont publiés et conservés pendant une durée de cinq ans.</p>\n
                <p>Si un client souhaite modifier son avis, il doit contacter Immodvisor à\n
                <a class="ql-link btn-link" href="mailto:[email protected]">\n
                [email protected]</a>.<p>\n
            <p>Les avis sont affichés de manière chronologique, du plus récent au plus ancien.</p>\n
          </div>\n
          <div class="modal-footer">\n
            <button type="button" class="btn btn-primary" data-dismiss="modal">Fermer</button>\n
          </div>\n
        </div>\n
      </div>\n
    </div>\n
    \n
    {% include "inc/modal/form-contact-agent.html.twig" with { id: "form-agent",form: forms('form-agent-modal'), title: 'Demande de contact'|t, size: 'lg' } %}\n
    """
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Page
/
Page.php
            // if no cached-content run everything
            if ($never_cache_twig) {
                if ($this->content === false || $cache_enable === false) {
                    $this->content = $this->raw_content;
                    Grav::instance()->fireEvent('onPageContentRaw', new Event(['page' => $this]));
 
                    if ($process_markdown) {
                        $this->processMarkdown();
                    }
 
                    // Content Processed but not cached yet
                    Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                    if ($cache_enable) {
                        $this->cachePageContent();
                    }
                }
 
                if ($process_twig) {
                    $this->processTwig();
                }
 
            } else {
                if ($this->content === false || $cache_enable === false) {
                    $this->content = $this->raw_content;
                    Grav::instance()->fireEvent('onPageContentRaw', new Event(['page' => $this]));
 
                    if ($twig_first) {
                        if ($process_twig) {
                            $this->processTwig();
                        }
                        if ($process_markdown) {
                            $this->processMarkdown();
                        }
 
                        // Content Processed but not cached yet
                        Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
 
                    } else {
                        if ($process_markdown) {
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Twig
/
Twig.php
 
        return $output;
    }
 
    /**
     * Twig process that renders the site layout. This is the main twig process that renders the overall
     * page and handles all the layout for the site display.
     *
     * @param string $format Output format (defaults to HTML).
     *
     * @return string the rendered output
     * @throws \RuntimeException
     */
    public function processSite($format = null, array $vars = [])
    {
        // set the page now its been processed
        $this->grav->fireEvent('onTwigSiteVariables');
        $pages = $this->grav['pages'];
        $page = $this->grav['page'];
        $content = $page->content();
 
        $twig_vars = $this->twig_vars;
 
        $twig_vars['theme'] = $this->grav['config']->get('theme');
        $twig_vars['pages'] = $pages->root();
        $twig_vars['page'] = $page;
        $twig_vars['header'] = $page->header();
        $twig_vars['media'] = $page->media();
        $twig_vars['content'] = $content;
        $ext = '.' . ($format ?: 'html') . TWIG_EXT;
 
        // determine if params are set, if so disable twig cache
        $params = $this->grav['uri']->params(null, true);
        if (!empty($params)) {
            $this->twig->setCache(false);
        }
 
        // Get Twig template layout
        $template = $this->template($page->template() . $ext);
 
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Service
/
OutputServiceProvider.php
 
namespace Grav\Common\Service;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Common\Twig\Twig;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
 
class OutputServiceProvider implements ServiceProviderInterface
{
    public function register(Container $container)
    {
        $container['output'] = function ($c) {
            /** @var Twig $twig */
            $twig = $c['twig'];
 
            /** @var PageInterface $page */
            $page = $c['page'];
 
            return $twig->processSite($page->templateFormat());
        };
    }
}
 
Arguments
  1. "html"
    
/
var
/
app
/
current
/
vendor
/
pimple
/
pimple
/
src
/
Pimple
/
Container.php
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }
 
        if (
            isset($this->raw[$id])
            || !\is_object($this->values[$id])
            || isset($this->protected[$this->values[$id]])
            || !\method_exists($this->values[$id], '__invoke')
        ) {
            return $this->values[$id];
        }
 
        if (isset($this->factories[$this->values[$id]])) {
            return $this->values[$id]($this);
        }
 
        $raw = $this->values[$id];
        $val = $this->values[$id] = $raw($this);
        $this->raw[$id] = $raw;
 
        $this->frozen[$id] = true;
 
        return $val;
    }
 
    /**
     * Checks if a parameter or an object is set.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return bool
     */
    public function offsetExists($id)
    {
        return isset($this->keys[$id]);
    }
 
    /**
Arguments
  1. Grav {#3}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
RenderProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class RenderProcessor extends ProcessorBase
{
    public $id = 'render';
    public $title = 'Render';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
 
        $container = $this->container;
        $output =  $container['output'];
 
        if ($output instanceof ResponseInterface) {
            return $output;
        }
 
        ob_start();
 
        // Use internal Grav output.
        $container->output = $output;
        $container->fireEvent('onOutputGenerated');
 
        echo $container->output;
 
        // remove any output
        $container->output = '';
 
        $this->container->fireEvent('onOutputRendered');
 
        $html = ob_get_clean();
 
Arguments
  1. "output"
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#903}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerAssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerAssetsProcessor extends ProcessorBase
{
    public $id = 'debugger_assets';
    public $title = 'Debugger Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->addAssets();
        $this->stopTimer();
 
        return $handler->handle($request);
 
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#905}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
        } else {
            $this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
 
            $task = $this->container['task'];
            $action = $this->container['action'];
            if ($task) {
                $event = new Event(['task' => $task, 'page' => $page]);
                $this->container->fireEvent('onPageTask', $event);
                $this->container->fireEvent('onPageTask.' . $task, $event);
            } elseif ($action) {
                $event = new Event(['action' => $action, 'page' => $page]);
                $this->container->fireEvent('onPageAction', $event);
                $this->container->fireEvent('onPageAction.' . $action, $event);
            }
        }
 
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#461}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
TwigProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class TwigProcessor extends ProcessorBase
{
    public $id = 'twig';
    public $title = 'Twig';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['twig']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#253}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
AssetsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class AssetsProcessor extends ProcessorBase
{
    public $id = '_assets';
    public $title = 'Assets';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['assets']->init();
        $this->container->fireEvent('onAssetsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#250}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
SchedulerProcessor.php
namespace Grav\Common\Processors;
 
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class SchedulerProcessor extends ProcessorBase
{
    public $id = '_scheduler';
    public $title = 'Scheduler';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $scheduler = $this->container['scheduler'];
        $this->container->fireEvent('onSchedulerInitialized', new Event(['scheduler' => $scheduler]));
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#220}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
BackupsProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class BackupsProcessor extends ProcessorBase
{
    public $id = '_backups';
    public $title = 'Backups';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $backups = $this->container['backups'];
        $backups->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#217}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
TasksProcessor.php
                    }
 
                    $this->stopTimer();
 
                    return $response;
 
                } catch (NotFoundException $e) {
                    // Task not found: Let it pass through.
                }
            }
 
            if ($task) {
                $this->container->fireEvent('onTask.' . $task);
            } elseif ($action) {
                $this->container->fireEvent('onAction.' . $action);
            }
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#215}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
RequestProcessor.php
        $uri = $request->getUri();
        $ext = mb_strtolower(pathinfo($uri->getPath(), PATHINFO_EXTENSION));
 
        $request = $request
            ->withAttribute('grav', $this->container)
            ->withAttribute('time', $_SERVER['REQUEST_TIME_FLOAT'] ?? GRAV_REQUEST_TIME)
            ->withAttribute('route', Uri::getCurrentRoute()->withExtension($ext))
            ->withAttribute('referrer', $this->container['uri']->referrer());
 
        $event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
        /** @var RequestHandlerEvent $event */
        $event = $this->container->fireEvent('onRequestHandlerInit', $event);
        $response = $event->getResponse();
        $this->stopTimer();
 
        if ($response) {
            return $response;
        }
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#210}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#210}
    
  2. RequestHandler {#208}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ThemesProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ThemesProcessor extends ProcessorBase
{
    public $id = 'themes';
    public $title = 'Themes';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['themes']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#200}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
PluginsProcessor.php
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class PluginsProcessor extends ProcessorBase
{
    public $id = 'plugins';
    public $title = 'Plugins';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        // TODO: remove in 2.0.
        $this->container['accounts'];
        $this->container['plugins']->init();
        $this->container->fireEvent('onPluginsInitialized');
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#143}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
InitializeProcessor.php
        }
 
        /** @var Uri $uri */
        $uri = $this->container['uri'];
        $uri->init();
 
        // Redirect pages with trailing slash if configured to do so.
        $path = $uri->path() ?: '/';
        if ($path !== '/'
            && $config->get('system.pages.redirect_trailing_slash', false)
            && Utils::endsWith($path, '/')) {
 
            $redirect = (string) $uri::getCurrentRoute()->toString();
            $this->container->redirect($redirect);
        }
 
        $this->container->setLocale();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#136}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
DebuggerProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class DebuggerProcessor extends ProcessorBase
{
    public $id = '_debugger';
    public $title = 'Init Debugger';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['debugger']->init();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#134}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ErrorsProcessor.php
 */
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ErrorsProcessor extends ProcessorBase
{
    public $id = '_errors';
    public $title = 'Error Handlers Reset';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['errors']->resetHandlers();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#122}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
LoggerProcessor.php
 
        /** @var Config $config */
        $config = $grav['config'];
 
        switch ($config->get('system.log.handler', 'file')) {
            case 'syslog':
                $log = $grav['log'];
                $log->popHandler();
 
                $facility = $config->get('system.log.syslog.facility', 'local6');
                $logHandler = new SyslogHandler('grav', $facility);
                $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
                $logHandler->setFormatter($formatter);
 
                $log->pushHandler($logHandler);
                break;
        }
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#100}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Processors
/
ConfigurationProcessor.php
 
namespace Grav\Common\Processors;
 
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
 
class ConfigurationProcessor extends ProcessorBase
{
    public $id = '_config';
    public $title = 'Configuration';
 
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
    {
        $this->startTimer();
        $this->container['config']->init();
        $this->container['plugins']->setup();
        $this->stopTimer();
 
        return $handler->handle($request);
    }
}
 
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
    private $handler;
 
    /** @var ContainerInterface|null */
    private $container;
 
    /**
     * {@inheritdoc}
     * @throws InvalidArgumentException
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $middleware = array_shift($this->middleware);
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
  2. RequestHandler {#93}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Framework
/
RequestHandler
/
Traits
/
RequestHandlerTrait.php
 
        // Use default callable if there is no middleware.
        if ($middleware === null) {
            return \call_user_func($this->handler, $request);
        }
 
        if ($middleware instanceof MiddlewareInterface) {
            return $middleware->process($request, clone $this);
        }
 
        if (null === $this->container || !$this->container->has($middleware)) {
            throw new InvalidArgumentException(
                sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
                $middleware
            );
        }
 
        array_unshift($this->middleware, $this->container->get($middleware));
 
        return $this->handle($request);
    }
}
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
system
/
src
/
Grav
/
Common
/
Grav.php
                },
                'debuggerAssetsProcessor' => function () {
                    return new DebuggerAssetsProcessor($this);
                },
                'renderProcessor' => function () {
                    return new RenderProcessor($this);
                },
            ]
        );
 
        $default = function (ServerRequestInterface $request) {
            return new Response(404);
        };
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
 
        $collection = new RequestHandler($this->middleware, $default, $container);
 
        $response = $collection->handle($this['request']);
 
        $this->header($response);
        echo $response->getBody();
 
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
 
    /**
     * Set the system locale based on the language and configuration
     */
    public function setLocale()
    {
        // Initialize Locale if set and configured.
        if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
            $language = $this['language']->getLanguage();
            setlocale(LC_ALL, \strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
        } elseif ($this['config']->get('system.default_locale')) {
            setlocale(LC_ALL, $this['config']->get('system.default_locale'));
Arguments
  1. ServerRequest {#68}
    
/
var
/
app
/
current
/
index.php
 
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
 
// Set internal encoding if mbstring loaded
if (!\extension_loaded('mbstring')) {
    die("'mbstring' extension is not loaded.  This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
 
// Get the Grav instance
$grav = Grav::instance(
    array(
        'loader' => $loader
    )
);
 
// Process the page
try {
    $grav->process();
} catch (\Error $e) {
    $grav['log']->error('Error.' . __CLASS__ . ':' . __METHOD__ . ': ' . print_r([
            'msg'   => $e->getMessage(),
            'url'   => $grav['page']->url(),
            'uri'   => $grav['uri']->route(),
            'trace' => $e->getTraceAsString(),
        ], true));
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
} catch (\Exception $e) {
    $grav['log']->error('Exception.' . __CLASS__ . ':' . __METHOD__ . ': ' . print_r([
            'msg'   => $e->getMessage(),
            'url'   => $grav['page']->url(),
            'uri'   => $grav['uri']->route(),
            'trace' => $e->getTraceAsString(),
        ], true));
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
}
 

Environment & details:

empty
empty
empty
empty
Key Value
redirect_after_login
"/nos-conseillers/fiche"
redirect_after_auth
"/mon-compte"
user
User {#900}
Key Value
TEMP
"/tmp"
TMPDIR
"/tmp"
TMP
"/tmp"
HOSTNAME
""
USER
"webapp"
HOME
"/home/webapp"
HTTP_CONNECTION
"keep-alive"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_FOR
"44.206.227.65, 172.71.222.60"
HTTP_USER_AGENT
"claudebot"
HTTP_REFERER
"http://www.optimhome.com/conseillers/peudevin"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_CF_RAY
"86bb7e920eb420a6-IAD"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_CONNECTING_IP
"44.206.227.65"
HTTP_CDN_LOOP
"cloudflare"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"www.optimhome.com"
SCRIPT_FILENAME
"/var/www/html/index.php"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"_"
SERVER_PORT
"80"
SERVER_ADDR
"10.20.5.169"
REMOTE_PORT
"49102"
REMOTE_ADDR
"10.20.12.106"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/conseillers/peudevin"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711669532.5533
REQUEST_TIME
1711669532
Key Value
TEMP
"/tmp"
TMPDIR
"/tmp"
TMP
"/tmp"
HOSTNAME
""
USER
"webapp"
HOME
"/home/webapp"
HTTP_CONNECTION
"keep-alive"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_FOR
"44.206.227.65, 172.71.222.60"
HTTP_USER_AGENT
"claudebot"
HTTP_REFERER
"http://www.optimhome.com/conseillers/peudevin"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_CF_RAY
"86bb7e920eb420a6-IAD"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_CONNECTING_IP
"44.206.227.65"
HTTP_CDN_LOOP
"cloudflare"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"www.optimhome.com"
SCRIPT_FILENAME
"/var/www/html/index.php"
PATH_INFO
""
REDIRECT_STATUS
"200"
SERVER_NAME
"_"
SERVER_PORT
"80"
SERVER_ADDR
"10.20.5.169"
REMOTE_PORT
"49102"
REMOTE_ADDR
"10.20.12.106"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/conseillers/peudevin"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711669532.5533
REQUEST_TIME
1711669532
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler