Exceptions
Exceptions 2
Twig\Error\ RuntimeError
Show exception properties
Twig\Error\RuntimeError {#1036 -lineno: 90 -rawMessage: "An exception has been thrown during the rendering of a template ("Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle")." -source: Twig\Source {#1279 -code: """ {% extends 'base.html.twig' %}\r\n {% block body %}\r\n \t<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>\r\n \t<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>\r\n \r\n \t<div\r\n \t\tclass="flex-1 w-full max-w-[1440px] mx-auto px-4 md:px-10 py-6 lg:py-10">\r\n \t\t<!-- Breadcrumbs -->\r\n \t\t<nav class="flex flex-wrap items-center gap-2 mb-8 text-sm">\r\n \t\t\t<a class="text-text-secondary dark:text-gray-400 hover:text-primary font-medium" href="#">Accueil</a>\r\n \t\t\t<span class="text-text-secondary dark:text-gray-500">/</span>\r\n \t\t\t<a class="text-text-secondary dark:text-gray-400 hover:text-primary font-medium" href="#">Acteurs</a>\r\n \t\t</nav>\r\n \t\t<div\r\n \t\t\tid="actor-profile-content" class="grid grid-cols-1 lg:grid-cols-12 gap-8 items-start">\r\n \t\t\t<!-- Left Sidebar (Identity & Contact) -->\r\n \t\t\t<aside\r\n \t\t\t\tclass="lg:col-span-4 flex flex-col gap-6">\r\n \t\t\t\t<!-- Profile Card -->\r\n \t\t\t\t<div class="bg-white dark:bg-[#1a2e22] rounded-xl p-6 shadow-sm border border-[#e5e7eb] dark:border-[#2a4034]">\r\n \t\t\t\t\t<div class="aspect-square w-full rounded-lg bg-gray-100 dark:bg-gray-800 mb-6 relative overflow-hidden group">\r\n \t\t\t\t\t\t<div class="absolute inset-0 bg-center bg-cover transition-transform duration-500 group-hover:scale-105" data-alt="{{ acteur.denomination }}" style="background-image: url('{{ acteur.logo ? asset('uploads/logos/' ~ acteur.logo) : asset('frontend/images/acteur.jpg') }}');"></div>\r\n \t\t\t\t\t\t<div class="absolute top-3 right-3 bg-white dark:bg-background-dark p-1.5 rounded-full shadow-md text-primary" title="Verified Actor">\r\n \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px] block">verified</span>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t</div>\r\n \t\t\t\t\t<h2 class="text-xl font-bold text-text-main dark:text-white mb-1">{{acteur.denomination}}</h2>\r\n \t\t\t\t\t<p class="text-lg text-text-secondary dark:text-gray-300 flex items-start gap-2">\r\n \t\t\t\t\t\t<span class="leading-relaxed">\r\n \t\t\t\t\t\t\t{{acteur.code}}\r\n \t\t\t\t\t\t</span>\r\n \t\t\t\t\t</p>\r\n \t\t\t\t\t<p class="text-text-secondary dark:text-gray-400 text-sm mb-6">\r\n \t\t\t\t\t\t{% if acteur.statutJuridique %}\r\n \r\n \t\t\t\t\t\t\t{{ acteur.statutJuridique.libelle }}\r\n \r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t</p>\r\n \t\t\t\t\t<div class="flex gap-2 mb-6 relative">\r\n \t\t\t\t\t\t<button id="share-btn" class="h-10 w-10 flex items-center justify-center rounded-full bg-[#f0f4f2] dark:bg-[#23362b] text-text-secondary hover:text-primary hover:bg-primary/10 transition-all focus:outline-none" title="Partager">\r\n \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">share</span>\r\n \t\t\t\t\t\t</button>\r\n \t\t\t\t\t\t<button id="copy-link-btn" class="h-10 w-10 flex items-center justify-center rounded-full bg-[#f0f4f2] dark:bg-[#23362b] text-text-secondary hover:text-primary hover:bg-primary/10 transition-all focus:outline-none" title="Copier le lien">\r\n \t\t\t\t\t\t\t<span id="copy-icon" class="material-symbols-outlined text-[20px]">link</span>\r\n \t\t\t\t\t\t</button>\r\n \t\t\t\t\t\t<!-- Toast notification for copy -->\r\n \t\t\t\t\t\t<div id="copy-toast" class="absolute -top-10 left-0 bg-gray-800 text-white text-xs px-3 py-1.5 rounded-lg opacity-0 transition-opacity duration-300 pointer-events-none whitespace-nowrap">\r\n \t\t\t\t\t\t\tLien copié !\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t<a href="{{ path('app_acteur_pdf', {id: acteur.id}) }}" class="flex-1 h-10 rounded-lg bg-primary text-[#111814] font-bold text-sm flex items-center justify-center gap-2 hover:bg-[#0fd660] transition-colors focus:outline-none">\r\n \t\t\t\t\t\t\t<span class="material-symbols-outlined text-[18px]">download</span>\r\n \t\t\t\t\t\t\tProfil PDF\r\n \t\t\t\t\t\t</a>\r\n \t\t\t\t\t</div>\r\n \t\t\t\t\t<!-- Contact Details -->\r\n \t\t\t\t\t<div class="flex flex-col gap-4 border-t border-[#f0f4f2] dark:border-[#2a4034] pt-6">\r\n \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">call</span>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t<div>\r\n \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">Tel\r\n \t\t\t\t\t\t\t\t</p>\r\n \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">{{ acteur.telephone }}</p>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">mail</span>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t<div>\r\n \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">Email\r\n \t\t\t\t\t\t\t\t</p>\r\n \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">{{ acteur.email}}</p>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">language</span>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t<div>\r\n \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">\r\n \t\t\t\t\t\t\t\t\tWebsite</p>\r\n \t\t\t\t\t\t\t\t<a class="text-sm font-medium text-text-main dark:text-white hover:text-primary underline decoration-primary/30 underline-offset-2" href="#">{{ acteur.siteWeb }}</a>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t{% set dep = acteur.departement %}\r\n \t\t\t\t\t\t{% set reg = dep ? dep.region : null %}\r\n \t\t\t\t\t\t{% set dist = reg ? reg.district : null %}\r\n \t\t\t\t\t\t{% set loc_parts = [] %}\r\n \r\n \t\t\t\t\t\t{% if acteur.commune %}\r\n \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([acteur.commune]) %}\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t{% if sousPrefecture is defined and sousPrefecture %}\r\n \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([sousPrefecture.nom]) %}\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t{% if dep %}\r\n \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([dep.nom]) %}\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t{% if reg %}\r\n \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([reg.nom]) %}\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t{% if dist %}\r\n \t\t\t\t\t\t\t{% set loc_parts = loc_parts|merge([dist.nom]) %}\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t<div class="flex items-start gap-3">\r\n \t\t\t\t\t\t\t<div class="mt-0.5 text-primary">\r\n \t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">location_on</span>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t<div>\r\n \t\t\t\t\t\t\t\t<p class="text-xs font-medium text-text-secondary uppercase tracking-wider mb-0.5">\r\n \t\t\t\t\t\t\t\t\tLocalité</p>\r\n \t\t\t\t\t\t\t\t<p class="text-sm font-medium text-text-main dark:text-white">\r\n \t\t\t\t\t\t\t\t\t{% if loc_parts|length > 0 %}\r\n \t\t\t\t\t\t\t\t\t\t{{ loc_parts|join(', ') }}\r\n \t\t\t\t\t\t\t\t\t{% else %}\r\n \t\t\t\t\t\t\t\t\t\tLocalisation non précisée\r\n \t\t\t\t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t\t\t</p>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t</div>\r\n \t\t\t\t\t{#<div class="mt-6 pt-6 border-t border-[#f0f4f2] dark:border-[#2a4034]">\r\n \t\t\t\t\t\t\t\t\t\t\t<button class="w-full flex items-center justify-center rounded-lg h-12 bg-[#111814] dark:bg-white text-white dark:text-[#111814] gap-2 text-sm font-bold shadow-lg hover:shadow-xl transition-all">\r\n \t\t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">chat_bubble</span>\r\n \t\t\t\t\t\t\t\t\t\t\t\t<span>Message Actor</span>\r\n \t\t\t\t\t\t\t\t\t\t\t</button>\r\n \t\t\t\t\t\t\t\t\t\t</div>#}\r\n \t\t\t\t</div>\r\n \t\t\t</aside>\r\n \t\t\t<!-- Main Content Area -->\r\n \t\t\t<section\r\n \t\t\t\tclass="lg:col-span-8 flex flex-col gap-8">\r\n \t\t\t\t<!-- Header Block -->\r\n \t\t\t\t<div class="flex flex-col gap-2">\r\n \t\t\t\t\t<div class="flex flex-col md:flex-row md:items-center justify-between gap-4">\r\n \t\t\t\t\t\t<h1 class="text-3xl md:text-4xl font-bold text-text-main dark:text-white tracking-tight">\r\n \t\t\t\t\t\t\t{{acteur.denomination}}\r\n \t\t\t\t\t\t</h1>\r\n \t\t\t\t\t\t{% set score = acteur.score|upper %}\r\n \t\t\t\t\t\t{% set stars = 0 %}\r\n \t\t\t\t\t\t{% if score == 'A' %}\r\n \t\t\t\t\t\t\t{% set stars = 5 %}\r\n \t\t\t\t\t\t{% elseif score == 'B' %}\r\n \t\t\t\t\t\t\t{% set stars = 4 %}\r\n \t\t\t\t\t\t{% elseif score == 'C' %}\r\n \t\t\t\t\t\t\t{% set stars = 3 %}\r\n \t\t\t\t\t\t{% elseif score == 'D' %}\r\n \t\t\t\t\t\t\t{% set stars = 2 %}\r\n \t\t\t\t\t\t{% elseif score == 'E' %}\r\n \t\t\t\t\t\t\t{% set stars = 1 %}\r\n \t\t\t\t\t\t{% endif %}\r\n \r\n \t\t\t\t\t\t{% if stars > 0 %}\r\n \t\t\t\t\t\t\t<div class="inline-flex flex-col items-center justify-center px-4 py-1.5 rounded-xl bg-primary/20 text-green-800 dark:text-green-100 w-fit" title="Score : {{ score }}">\r\n \t\t\t\t\t\t\t\t<span class="text-[10px] font-bold uppercase tracking-widest mb-0.5">Score</span>\r\n \t\t\t\t\t\t\t\t<div class="flex items-center gap-0.5">\r\n \t\t\t\t\t\t\t\t\t{% for i in 1..5 %}\r\n \t\t\t\t\t\t\t\t\t\t{% if i <= stars %}\r\n \t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[16px]" style="font-variation-settings: 'FILL' 1;">star</span>\r\n \t\t\t\t\t\t\t\t\t\t{% else %}\r\n \t\t\t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[16px] opacity-30" style="font-variation-settings: 'FILL' 1;">star</span>\r\n \t\t\t\t\t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t\t\t\t{% endfor %}\r\n \t\t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t</div>\r\n \r\n \t\t\t\t\t<p class="text-lg text-text-secondary dark:text-gray-300 flex items-start gap-2">\r\n \t\t\t\t\t\t<span class="material-symbols-outlined text-[20px] mt-1 shrink-0">location_on</span>\r\n \t\t\t\t\t\t<span class="leading-relaxed">\r\n \t\t\t\t\t\t\t{% if loc_parts|length > 0 %}\r\n \t\t\t\t\t\t\t\t{{ loc_parts|join(', ') }}\r\n \t\t\t\t\t\t\t{% else %}\r\n \t\t\t\t\t\t\t\tLocalisation non précisée\r\n \t\t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t</span>\r\n \r\n \r\n \t\t\t\t\t</p>\r\n \r\n \t\t\t\t</div>\r\n \t\t\t\t<!-- About Section -->\r\n \t\t\t\t<div class="bg-white dark:bg-[#1a2e22] p-6 md:p-8 rounded-xl border border-[#e5e7eb] dark:border-[#2a4034]">\r\n \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4 flex items-center gap-2">\r\n \t\t\t\t\t\t<span class="material-symbols-outlined text-primary">info</span>\r\n \t\t\t\t\t\tDescription\r\n \t\t\t\t\t</h3>\r\n \t\t\t\t\t<div class="prose prose-sm md:prose-base dark:prose-invert max-w-none text-text-secondary dark:text-gray-300">\r\n \t\t\t\t\t\t<p class="mb-4">\r\n \t\t\t\t\t\t\t{{acteur.description}}\r\n \t\t\t\t\t\t</p>\r\n \t\t\t\t\t</div>\r\n \t\t\t\t</div>\r\n \t\t\t\t<!-- Activities & Expertise -->\r\n \t\t\t\t<div>\r\n \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Type acteur</h3>\r\n \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n \t\t\t\t\t\t{% if acteur.typeActeur %}\r\n \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n \t\t\t\t\t\t\t\t{{ acteur.typeActeur.libelle }}\r\n \t\t\t\t\t\t\t</span>\r\n \t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t</div>\r\n \t\t\t\t</div>\r\n \r\n \t\t\t\t<!-- Filieres -->\r\n \t\t\t\t<div>\r\n \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Filieres</h3>\r\n \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n \t\t\t\t\t\t{% for filiere in acteur.filieres %}\r\n \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n \t\t\t\t\t\t\t\t{{ filiere.libelle }}\r\n \t\t\t\t\t\t\t</span>\r\n \t\t\t\t\t\t{% endfor %}\r\n \t\t\t\t\t</div>\r\n \t\t\t\t</div>\r\n \r\n \t\t\t\t<!-- Role principal -->\r\n \t\t\t\t<div>\r\n \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white mb-4">Role principal</h3>\r\n \t\t\t\t\t<div class="flex flex-wrap gap-3">\r\n \t\t\t\t\t\t{% for role in acteur.rolesPrincipaux %}\r\n \t\t\t\t\t\t\t<span class="inline-flex items-center px-4 py-2 rounded-full bg-white dark:bg-[#23362b] border border-[#e5e7eb] dark:border-[#2a4034] text-text-main dark:text-white text-sm font-medium hover:border-primary transition-colors cursor-default">\r\n \t\t\t\t\t\t\t\t{{ role.libelle }}\r\n \t\t\t\t\t\t{% endfor %}\r\n \t\t\t\t\t</div>\r\n \t\t\t\t</div>\r\n \r\n \t\t\t\t<!-- Galerie -->\r\n \t\t\t\t<div>\r\n \t\t\t\t\t<div class="flex items-center justify-between mb-4">\r\n \t\t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white">Galerie</h3>\r\n \t\t\t\t\t</div>\r\n \t\t\t\t\t{% if acteur.images|length > 0 %}\r\n \t\t\t\t\t\t<div class="grid grid-cols-2 md:grid-cols-4 gap-4" id="gallery-container">\r\n \t\t\t\t\t\t\t{% for image in acteur.images %}\r\n \t\t\t\t\t\t\t\t<div class="gallery-item aspect-[4/3] rounded-lg bg-gray-200 dark:bg-gray-800 bg-cover bg-center hover:opacity-90 transition-opacity cursor-pointer shadow-sm" data-alt="Image galerie {{ acteur.denomination }}" data-src="{{ asset('uploads/galeries/' ~ image.imageName) }}" style="background-image: url('{{ asset('uploads/galeries/' ~ image.imageName) }}');"></div>\r\n \t\t\t\t\t\t\t{% endfor %}\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t{% else %}\r\n \t\t\t\t\t\t<p class="text-sm text-gray-500 italic">Aucune image dans la galerie.</p>\r\n \t\t\t\t\t{% endif %}\r\n \t\t\t\t</div>\r\n \t\t\t\t<!-- Localization Map -->\r\n \t\t\t\t<div class="flex flex-col gap-4">\r\n \t\t\t\t\t<h3 class="text-lg font-bold text-text-main dark:text-white">Localisation</h3>\r\n \t\t\t\t\t<div\r\n \t\t\t\t\t\tclass="relative w-full h-[300px] md:h-[400px] rounded-xl overflow-hidden shadow-md border border-[#e5e7eb] dark:border-[#2a4034]">\r\n \t\t\t\t\t\t<!-- Leaflet Map Container -->\r\n \t\t\t\t\t\t<div id="map" class="absolute inset-0 z-0"></div>\r\n \r\n \t\t\t\t\t\t<!-- Map Overlay Gradient -->\r\n \t\t\t\t\t\t<div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent pointer-events-none z-10"></div>\r\n \r\n \t\t\t\t\t\t<!-- Address Overlay Card -->\r\n \t\t\t\t\t\t<div class="absolute bottom-4 left-4 right-4 md:left-auto md:right-4 md:w-80 bg-white dark:bg-[#1a2e22] p-4 rounded-lg shadow-lg border border-[#f0f4f2] dark:border-[#2a4034] z-20">\r\n \t\t\t\t\t\t\t<div class="flex justify-between items-start mb-2">\r\n \t\t\t\t\t\t\t\t<h4 class="font-bold text-text-main dark:text-white text-sm">Headquarters</h4>\r\n \t\t\t\t\t\t\t\t<a class="text-primary hover:text-[#0fd660]" href="https://www.google.com/maps/search/?api=1&query={{ acteur.latitude|default('5.3364') }},{{ acteur.longitude|default('-4.0267') }}" target="_blank">\r\n \t\t\t\t\t\t\t\t\t<span class="material-symbols-outlined text-[20px]">directions</span>\r\n \t\t\t\t\t\t\t\t</a>\r\n \t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t<p class="text-xs text-text-secondary dark:text-gray-400 mb-3">\r\n \t\t\t\t\t\t\t\t{% if acteur.commune %}\r\n \t\t\t\t\t\t\t\t\t{{ acteur.commune }}<br/>Côte d'Ivoire\r\n \t\t\t\t\t\t\t\t{% else %}\r\n \t\t\t\t\t\t\t\t\tRue des Jardins, Riviera 2<br/>\r\n \t\t\t\t\t\t\t\t\tCocody, Abidjan\r\n \t\t\t\t\t\t\t\t{% endif %}\r\n \t\t\t\t\t\t\t</p>\r\n \t\t\t\t\t\t\t<a href="https://www.google.com/maps/search/?api=1&query={{ acteur.latitude|default('5.3364') }},{{ acteur.longitude|default('-4.0267') }}" target="_blank" class="flex items-center justify-center w-full h-8 rounded bg-[#f0f4f2] dark:bg-[#23362b] text-text-main dark:text-white text-xs font-bold hover:bg-primary/20 hover:text-primary transition-colors">\r\n \t\t\t\t\t\t\t\tView on Google Maps\r\n \t\t\t\t\t\t\t</a>\r\n \t\t\t\t\t\t</div>\r\n \t\t\t\t\t</div>\r\n \r\n \t\t\t\t\t<script>\r\n \t\t\t\t\t\tdocument.addEventListener('DOMContentLoaded', function () {\r\n {% if acteur.latitude and acteur.longitude %}\r\n var lat = {{ acteur.latitude }};\r\n var lng = {{ acteur.longitude }};\r\n var zoom = 14;\r\n {% else %}\r\n var lat = 5.3364; // Default to Abidjan\r\n var lng = -4.0267;\r\n var zoom = 12;{% endif %}var map = L.map('map', {zoomControl: false}).setView([\r\n lat, lng\r\n ], zoom);\r\n \r\n L.control.zoom({position: 'topleft'}).addTo(map);\r\n \r\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);\r\n \r\n var customIcon = L.divIcon({\r\n className: 'custom-pin',\r\n html: `<div class="relative flex items-center justify-center w-8 h-8">\r\n \t\t\t\t\t\t\t\t\t\t\t<div class="absolute inset-0 bg-primary/30 rounded-full animate-ping"></div>\r\n \t\t\t\t\t\t\t\t\t\t\t<div class="relative flex items-center justify-center w-6 h-6 bg-white/90 border-[3px] border-primary rounded-full shadow-md">\r\n \t\t\t\t\t\t\t\t\t\t\t\t<div class="w-2.5 h-2.5 bg-primary rounded-full"></div>\r\n \t\t\t\t\t\t\t\t\t\t\t</div>\r\n \t\t\t\t\t\t\t\t\t </div>`,\r\n iconSize: [\r\n 32, 32\r\n ],\r\n iconAnchor: [\r\n 16, 16\r\n ],\r\n popupAnchor: [0, -16]\r\n });\r\n \r\n var marker = L.marker([\r\n lat, lng\r\n ], {icon: customIcon}).addTo(map);\r\n });\r\n \t\t\t\t\t</script>\r\n \t\t\t\t</div>\r\n \t\t\t</section>\r\n \t\t</div>\r\n \t</div>\r\n \r\n \t<!-- Lightbox Overlay -->\r\n \t<div id="lightbox" class="fixed inset-0 z-[100] hidden bg-black/90 backdrop-blur-sm flex items-center justify-center transition-opacity opacity-0">\r\n \t\t<button id="lightbox-close" class="absolute top-6 right-6 text-white hover:text-primary transition-colors bg-black/50 p-2 rounded-full">\r\n \t\t\t<span class="material-symbols-outlined text-3xl">close</span>\r\n \t\t</button>\r\n \r\n \t\t<button id="lightbox-prev" class="absolute left-4 md:left-10 text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full hidden md:block">\r\n \t\t\t<span class="material-symbols-outlined text-4xl">chevron_left</span>\r\n \t\t</button>\r\n \r\n \t\t<div class="max-w-[90vw] max-h-[90vh] relative flex items-center justify-center">\r\n \t\t\t<img id="lightbox-img" src="" alt="Gallery Image" class="max-w-full max-h-[85vh] object-contain rounded-lg shadow-2xl transition-transform duration-300 transform scale-95"/>\r\n \t\t\t<div id="lightbox-caption" class="absolute -bottom-10 left-0 right-0 text-center text-white text-sm"></div>\r\n \t\t</div>\r\n \r\n \t\t<button id="lightbox-next" class="absolute right-4 md:right-10 text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full hidden md:block">\r\n \t\t\t<span class="material-symbols-outlined text-4xl">chevron_right</span>\r\n \t\t</button>\r\n \r\n \t\t<!-- Mobile controls (bottom) -->\r\n \t\t<div class="absolute bottom-6 left-0 right-0 flex justify-center gap-8 md:hidden">\r\n \t\t\t<button id="lightbox-prev-mobile" class="text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full">\r\n \t\t\t\t<span class="material-symbols-outlined text-3xl">chevron_left</span>\r\n \t\t\t</button>\r\n \t\t\t<button id="lightbox-next-mobile" class="text-white hover:text-primary transition-colors bg-black/50 p-3 rounded-full">\r\n \t\t\t\t<span class="material-symbols-outlined text-3xl">chevron_right</span>\r\n \t\t\t</button>\r\n \t\t</div>\r\n \t</div>\r\n \r\n \t<script>\r\n \t\tdocument.addEventListener('DOMContentLoaded', function () {\r\n const galleryItems = document.querySelectorAll('.gallery-item');\r\n const lightbox = document.getElementById('lightbox');\r\n const lightboxImg = document.getElementById('lightbox-img');\r\n const lightboxCaption = document.getElementById('lightbox-caption');\r\n const closeBtn = document.getElementById('lightbox-close');\r\n const prevBtns = [document.getElementById('lightbox-prev'), document.getElementById('lightbox-prev-mobile')];\r\n const nextBtns = [document.getElementById('lightbox-next'), document.getElementById('lightbox-next-mobile')];\r\n \r\n let currentIndex = 0;\r\n let images = [];\r\n \r\n // Collect images\r\n galleryItems.forEach((item, index) => {\r\n images.push({\r\n src: item.getAttribute('data-src'),\r\n alt: item.getAttribute('data-alt') || ''\r\n });\r\n \r\n // Add click listener\r\n item.addEventListener('click', () => {\r\n openLightbox(index);\r\n });\r\n });\r\n \r\n function openLightbox(index) {\r\n if (images.length === 0) \r\n return;\r\n \r\n currentIndex = index;\r\n updateLightbox();\r\n \r\n // Show lightbox\r\n lightbox.classList.remove('hidden');\r\n // Small delay to allow CSS transition\r\n setTimeout(() => {\r\n lightbox.classList.remove('opacity-0');\r\n lightboxImg.classList.remove('scale-95');\r\n lightboxImg.classList.add('scale-100');\r\n }, 10);\r\n \r\n document.body.style.overflow = 'hidden'; // Prevent scrolling\r\n }\r\n \r\n function closeLightbox() {\r\n lightbox.classList.add('opacity-0');\r\n lightboxImg.classList.remove('scale-100');\r\n lightboxImg.classList.add('scale-95');\r\n \r\n setTimeout(() => {\r\n lightbox.classList.add('hidden');\r\n document.body.style.overflow = '';\r\n }, 300); // Wait for transition\r\n }\r\n \r\n function updateLightbox() {\r\n const img = images[currentIndex];\r\n lightboxImg.src = img.src;\r\n lightboxImg.alt = img.alt;\r\n lightboxCaption.textContent = `${\r\n currentIndex + 1\r\n } / ${\r\n images.length\r\n }`;\r\n }\r\n \r\n function showNext() {\r\n currentIndex = (currentIndex + 1) % images.length;\r\n updateLightbox();\r\n }\r\n \r\n function showPrev() {\r\n currentIndex = (currentIndex - 1 + images.length) % images.length;\r\n updateLightbox();\r\n }\r\n \r\n // Event listeners\r\n closeBtn.addEventListener('click', closeLightbox);\r\n \r\n nextBtns.forEach(btn => btn.addEventListener('click', (e) => {\r\n e.stopPropagation();\r\n showNext();\r\n }));\r\n \r\n prevBtns.forEach(btn => btn.addEventListener('click', (e) => {\r\n e.stopPropagation();\r\n showPrev();\r\n }));\r\n \r\n lightbox.addEventListener('click', (e) => {\r\n if (e.target === lightbox || e.target.closest('.max-w-\\[90vw\\]') === null && e.target.tagName !== 'BUTTON') {\r\n closeLightbox();\r\n }\r\n });\r\n \r\n document.addEventListener('keydown', (e) => {\r\n if (lightbox.classList.contains('hidden')) \r\n return;\r\n \r\n \r\n if (e.key === 'Escape') \r\n closeLightbox();\r\n \r\n if (e.key === 'ArrowRight') \r\n showNext();\r\n \r\n if (e.key === 'ArrowLeft') \r\n showPrev();\r\n \r\n });\r\n // Share and Copy functionality\r\n const shareBtn = document.getElementById('share-btn');\r\n const copyLinkBtn = document.getElementById('copy-link-btn');\r\n const copyIcon = document.getElementById('copy-icon');\r\n const copyToast = document.getElementById('copy-toast');\r\n const pageTitle = "{{ acteur.denomination|escape('js') }}- Cartographie de l'économie circulaire";\r\n const pageUrl = window.location.href;\r\n \r\n if (shareBtn) {\r\n shareBtn.addEventListener('click', async () => {\r\n if (navigator.share) {\r\n try {\r\n await navigator.share({title: pageTitle, url: pageUrl});\r\n } catch (err) {\r\n if (err.name !== 'AbortError') {\r\n console.error('Erreur lors du partage:', err.message);\r\n }\r\n }\r\n } else { // Fallback: copy link\r\n try {\r\n await navigator.clipboard.writeText(pageUrl);\r\n copyToast.textContent = 'Lien copié (Partage natif non supporté)';\r\n copyToast.classList.remove('opacity-0');\r\n copyToast.classList.add('opacity-100');\r\n \r\n setTimeout(() => {\r\n copyToast.classList.remove('opacity-100');\r\n copyToast.classList.add('opacity-0');\r\n setTimeout(() => copyToast.textContent = 'Lien copié !', 300); // reset text\r\n }, 2500);\r\n } catch (err) {\r\n console.error('Erreur de copie:', err);\r\n }\r\n }\r\n });\r\n }\r\n \r\n if (copyLinkBtn) {\r\n copyLinkBtn.addEventListener('click', async () => {\r\n try {\r\n await navigator.clipboard.writeText(pageUrl);\r\n \r\n // Show success feedback\r\n copyIcon.textContent = 'check';\r\n copyToast.classList.remove('opacity-0');\r\n copyToast.classList.add('opacity-100');\r\n \r\n setTimeout(() => {\r\n copyIcon.textContent = 'link';\r\n copyToast.classList.remove('opacity-100');\r\n copyToast.classList.add('opacity-0');\r\n }, 2000);\r\n } catch (err) {\r\n console.error('Erreur lors de la copie du lien:', err);\r\n }\r\n });\r\n }\r\n });\r\n \t</script>\r\n \t<style>\r\n \t\t@keyframes spin {\r\n \t\t\tfrom {\r\n \t\t\t\ttransform: rotate(0deg);\r\n \t\t\t}\r\n \t\t\tto {\r\n \t\t\t\ttransform: rotate(360deg);\r\n \t\t\t}\r\n \t\t}\r\n \t</style>\r\n {% endblock body %}\n """ -name: "frontend/acteur/detail.html.twig" -path: "/home/develor/circulaire/templates/frontend/acteur/detail.html.twig" } -phpFile: "/home/develor/circulaire/vendor/twig/twig/src/Template.php" -phpLine: 460 }
in
templates/frontend/acteur/detail.html.twig
(line 90)
<a class="text-sm font-medium text-text-main dark:text-white hover:text-primary underline decoration-primary/30 underline-offset-2" href="#">{{ acteur.siteWeb }}</a></div></div>{% set dep = acteur.departement %}{% set reg = dep ? dep.region : null %}{% set dist = reg ? reg.district : null %}{% set loc_parts = [] %}{% if acteur.commune %}{% set loc_parts = loc_parts|merge([acteur.commune]) %}{% endif %}
in
var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php
->
yieldBlock
(line 105)
\t\t";// line 47yield from $this->unwrap()->yieldBlock('menuTop', $context, $blocks);// line 50yield "\t\t";yield from $this->unwrap()->yieldBlock('body', $context, $blocks);// line 51yield "\t\t<!-- Footer -->\t\t";// line 52yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php
->
yield
(line 53)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "frontend/acteur/detail.html.twig"));$this->parent = $this->load("base.html.twig", 1);yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;}public function display(array $context, array $blocks = []): void{foreach ($this->yield($context, $blocks) as $data) {echo $data;}}public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();} else {ob_start(function () { return ''; });}try {$this->display($context);} catch (\Throwable $e) {while (ob_get_level() > $level) {ob_end_clean();}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);}public function render(array $context = []): string{return $this->template->render($context);}/*** @return void*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation* @throws RuntimeError When an error occurred during rendering*/public function render($name, array $context = []): string{return $this->load($name)->render($context);}/*** Displays a template.*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 459)
if (null !== $block) {return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);}return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 464)
return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);$response ??= new Response();if (200 === $response->getStatusCode()) {foreach ($parameters as $v) {if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 278)
* If an invalid form is found in the list of parameters, a 422 status code is returned.* Forms found in parameters are auto-cast to form views.*/protected function render(string $view, array $parameters = [], ?Response $response = null): Response{return $this->doRender($view, null, $parameters, $response, __FUNCTION__);}/*** Renders a block in a view.*
AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
in
src/Controller/FrontendController.php
(line 285)
$sousPrefecture = null;if ($acteur->getSousPrefecture()) {$sousPrefecture = $this->entityManager->getRepository(\App\Entity\SousPrefecture::class)->find($acteur->getSousPrefecture());}return $this->render('frontend/acteur/detail.html.twig', ['acteur' => $acteur,'sousPrefecture' => $sousPrefecture]);}
in
vendor/symfony/http-kernel/HttpKernel.php
->
detail
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);$controller = $event->getController();$arguments = $event->getArguments();// call controller$response = $controller(...$arguments);// viewif (!$response instanceof Response) {$event = new ViewEvent($this, $request, $type, $response, $event);$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 182)
$this->boot();++$this->requestStackSize;$this->resetServices = true;try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {}public function run(): int{$response = $this->kernel->handle($this->request);if (Kernel::VERSION_ID >= 60400) {$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 29)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
ErrorException
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
(line 417)
case self::AUTOGENERATE_ALWAYS:$this->generateProxyClass($class, $fileName, $proxyClassName);break;}require $fileName;return $proxyClassName;}private function generateProxyClass(ClassMetadata $class, string|null $fileName, string $proxyClassName): void
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
require
(line 417)
case self::AUTOGENERATE_ALWAYS:$this->generateProxyClass($class, $fileName, $proxyClassName);break;}require $fileName;return $proxyClassName;}private function generateProxyClass(ClassMetadata $class, string|null $fileName, string $proxyClassName): void
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
->
loadProxyClass
(line 358)
}$className = $class->getName(); // aliases and case sensitivity$entityPersister = $this->uow->getEntityPersister($className);$initializer = $this->createLazyInitializer($class, $entityPersister, $this->identifierFlattener);$proxyClassName = $this->loadProxyClass($class);$identifierFields = [];foreach (array_keys($identifiers) as $identifier) {$identifierFields[$identifier] = $class->getPropertyAccessor($identifier);}
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
->
getProxyFactory
(line 233)
}return $proxy;}$proxyFactory = $this->proxyFactories[$className] ?? $this->getProxyFactory($className);return $proxyFactory($identifier);}/**
in
vendor/doctrine/orm/src/UnitOfWork.php
->
getProxy
(line 2539)
$normalizedAssociatedId = $this->normalizeIdentifier($targetClass, $associatedId);switch (true) {// We are negating the condition here. Other cases will assume it is valid!case $hints['fetchMode'][$class->name][$field] !== ClassMetadata::FETCH_EAGER:$newValue = $this->em->getProxyFactory()->getProxy($assoc->targetEntity, $normalizedAssociatedId);$this->registerManaged($newValue, $associatedId, []);break;// Deferred eager load only works for single identifier classescase isset($hints[self::HINT_DEFEREAGERLOAD]) &&
in
vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php
->
createEntity
(line 176)
if (isset($this->hints[Query::HINT_REFRESH_ENTITY])) {$this->registerManaged($this->class, $this->hints[Query::HINT_REFRESH_ENTITY], $data);}$uow = $this->em->getUnitOfWork();$entity = $uow->createEntity($entityName, $data, $this->hints);$result[] = $entity;if (isset($this->hints[Query::HINT_INTERNAL_ITERATION]) && $this->hints[Query::HINT_INTERNAL_ITERATION]) {$this->uow->hydrationComplete();
in
vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php
->
hydrateRowData
(line 60)
protected function hydrateAllData(): array{$result = [];while ($row = $this->statement()->fetchAssociative()) {$this->hydrateRowData($row, $result);}$this->em->getUnitOfWork()->triggerEagerLoads();return $result;
in
vendor/doctrine/orm/src/Internal/Hydration/AbstractHydrator.php
->
hydrateAllData
(line 171)
$this->em->getEventManager()->addEventListener([Events::onClear], $this);$this->prepare();try {$result = $this->hydrateAllData();} finally {$this->cleanup();}return $result;
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
hydrateAll
(line 748)
$hints[Query::HINT_REFRESH] = true;$hints[Query::HINT_REFRESH_ENTITY] = $entity;}$hydrator = $this->em->newHydrator($this->currentPersisterContext->selectJoinSql ? Query::HYDRATE_OBJECT : Query::HYDRATE_SIMPLEOBJECT);$entities = $hydrator->hydrateAll($stmt, $this->currentPersisterContext->rsm, $hints);return $entities ? $entities[0] : null;}/**
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
load
(line 758)
/*** {@inheritDoc}*/public function loadById(array $identifier, object|null $entity = null): object|null{return $this->load($identifier, $entity);}/*** {@inheritDoc}*/
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
->
loadById
(line 289)
* @throws EntityNotFoundException*/private function createLazyInitializer(ClassMetadata $classMetadata, EntityPersister $entityPersister, IdentifierFlattener $identifierFlattener): Closure{return static function (InternalProxy $proxy, array $identifier) use ($entityPersister, $classMetadata, $identifierFlattener): void {$original = $entityPersister->loadById($identifier);if ($original === null) {throw EntityNotFoundException::fromClassNameAndIdentifier($classMetadata->getName(),$identifierFlattener->flattenIdentifier($classMetadata, $identifier),
in
vendor/doctrine/orm/src/Proxy/ProxyFactory.php
::
Doctrine\ORM\Proxy\{closure}
(line 367)
$identifierFields[$identifier] = $class->getPropertyAccessor($identifier);}$proxyFactory = Closure::bind(static function (array $identifier) use ($initializer, $skippedProperties, $identifierFields, $className): InternalProxy {$proxy = self::createLazyGhost(static function (InternalProxy $object) use ($initializer, $identifier): void {$initializer($object, $identifier);}, $skippedProperties);foreach ($identifierFields as $idField => $reflector) {if (! isset($identifier[$idField])) {throw ORMInvalidArgumentException::missingPrimaryKeyValue($className, $idField);
in
vendor/symfony/var-exporter/Internal/LazyObjectState.php
::
Doctrine\ORM\Proxy\{closure}
(line 60)
try {if ($defaultProperties = array_diff_key(LazyObjectRegistry::$defaultProperties[$instance::class], $this->skippedProperties)) {PublicHydrator::hydrate($instance, $defaultProperties);}($this->initializer)($instance);} catch (\Throwable $e) {$this->status = self::STATUS_UNINITIALIZED_FULL;$this->reset($instance);throw $e;
in
vendor/symfony/var-exporter/LazyGhostTrait.php
->
initialize
(line 153)
}if (\PHP_VERSION_ID >= 80400 && !$notByRef && ($access >> 2) & \ReflectionProperty::IS_PRIVATE_SET) {$scope ??= $writeScope;}if ($property?->isInitialized($this) ?? LazyObjectState::STATUS_UNINITIALIZED_PARTIAL !== $state->initialize($this, $name, $writeScope ?? $scope)) {goto get_in_scope;}}}
return $this;}public function getDistrict(): ?District{return $this->district;}public function setDistrict(?District $district): static{$this->district = $district;
in
vendor/twig/twig/src/Extension/CoreExtension.php
->
getDistrict
(line 1909)
}// Some objects throw exceptions when they have __call, and the method we try// to call is not supported. If ignoreStrictCheck is true, we should return null.try {$ret = $object->$method(...$arguments);} catch (\BadMethodCallException $e) {if ($call && ($ignoreStrictCheck || !$env->isStrictVariables())) {return;}throw $e;
in
var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php
::
getAttribute
(line 200)
// line 89yield "\t\t\t\t\t\t";$context["reg"] = (((($tmp = (isset($context["dep"]) || array_key_exists("dep", $context) ? $context["dep"] : (function () { throw new RuntimeError('Variable "dep" does not exist.', 89, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["dep"]) || array_key_exists("dep", $context) ? $context["dep"] : (function () { throw new RuntimeError('Variable "dep" does not exist.', 89, $this->source); })()), "region", [], "any", false, false, false, 89)) : (null));// line 90yield "\t\t\t\t\t\t";$context["dist"] = (((($tmp = (isset($context["reg"]) || array_key_exists("reg", $context) ? $context["reg"] : (function () { throw new RuntimeError('Variable "reg" does not exist.', 90, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) ? (CoreExtension::getAttribute($this->env, $this->source, (isset($context["reg"]) || array_key_exists("reg", $context) ? $context["reg"] : (function () { throw new RuntimeError('Variable "reg" does not exist.', 90, $this->source); })()), "district", [], "any", false, false, false, 90)) : (null));// line 91yield "\t\t\t\t\t\t";$context["loc_parts"] = [];// line 92yield "
in
vendor/twig/twig/src/Template.php
->
block_body
(line 446)
throw new \LogicException('A block must be a method on a \Twig\Template instance.');}if (null !== $template) {try {yield from $template->$block($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($template->getSourceContext());}
in
var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php
->
yieldBlock
(line 105)
\t\t";// line 47yield from $this->unwrap()->yieldBlock('menuTop', $context, $blocks);// line 50yield "\t\t";yield from $this->unwrap()->yieldBlock('body', $context, $blocks);// line 51yield "\t\t<!-- Footer -->\t\t";// line 52yield from $this->unwrap()->yieldBlock('footer', $context, $blocks);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php
->
yield
(line 53)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "frontend/acteur/detail.html.twig"));$this->parent = $this->load("base.html.twig", 1);yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;}public function display(array $context, array $blocks = []): void{foreach ($this->yield($context, $blocks) as $data) {echo $data;}}public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();} else {ob_start(function () { return ''; });}try {$this->display($context);} catch (\Throwable $e) {while (ob_get_level() > $level) {ob_end_clean();}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);}public function render(array $context = []): string{return $this->template->render($context);}/*** @return void*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation* @throws RuntimeError When an error occurred during rendering*/public function render($name, array $context = []): string{return $this->load($name)->render($context);}/*** Displays a template.*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 459)
if (null !== $block) {return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);}return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 464)
return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);$response ??= new Response();if (200 === $response->getStatusCode()) {foreach ($parameters as $v) {if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 278)
* If an invalid form is found in the list of parameters, a 422 status code is returned.* Forms found in parameters are auto-cast to form views.*/protected function render(string $view, array $parameters = [], ?Response $response = null): Response{return $this->doRender($view, null, $parameters, $response, __FUNCTION__);}/*** Renders a block in a view.*
AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
in
src/Controller/FrontendController.php
(line 285)
$sousPrefecture = null;if ($acteur->getSousPrefecture()) {$sousPrefecture = $this->entityManager->getRepository(\App\Entity\SousPrefecture::class)->find($acteur->getSousPrefecture());}return $this->render('frontend/acteur/detail.html.twig', ['acteur' => $acteur,'sousPrefecture' => $sousPrefecture]);}
in
vendor/symfony/http-kernel/HttpKernel.php
->
detail
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);$controller = $event->getController();$arguments = $event->getArguments();// call controller$response = $controller(...$arguments);// viewif (!$response instanceof Response) {$event = new ViewEvent($this, $request, $type, $response, $event);$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 182)
$this->boot();++$this->requestStackSize;$this->resetServices = true;try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {}public function run(): int{$response = $this->kernel->handle($this->request);if (Kernel::VERSION_ID >= 60400) {$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 29)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Logs
| Level | Channel | Message |
|---|---|---|
| DEBUG 14:16:33 | php |
Warning: Zend OPcache API is restricted by "restrict_api" configuration directive {
"exception": {
"severity": 2,
"file": "/home/develor/circulaire/vendor/symfony/error-handler/DebugClassLoader.php",
"line": 302,
"trace": [
{
"file": "/home/develor/circulaire/vendor/doctrine/doctrine-bundle/src/DoctrineBundle.php",
"line": 134,
"function": "loadClass",
"class": "Symfony\\Component\\ErrorHandler\\DebugClassLoader",
"type": "->"
}
],
"count": 42
}
}
|
| INFO 14:16:33 | request |
Matched route "_profiler". {
"route": "_profiler",
"route_parameters": {
"_route": "_profiler",
"_controller": "web_profiler.controller.profiler::panelAction",
"token": "eb8988"
},
"request_uri": "https://circulaire.developpe.net/_profiler/eb8988?panel=exception&type=request",
"method": "GET"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke". {
"event": "kernel.request",
"listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator". {
"event": "kernel.request",
"listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". {
"event": "kernel.controller",
"listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". {
"event": "kernel.controller",
"listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller_arguments" to listener "ContainerJWRfa9f\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "ContainerJWRfa9f\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
|
| DEBUG 14:16:33 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}
|
Stack Traces 2
|
[2/2]
RuntimeError
|
|---|
Twig\Error\RuntimeError:
An exception has been thrown during the rendering of a template ("Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle") in "frontend/acteur/detail.html.twig" at line 90.
at templates/frontend/acteur/detail.html.twig:90
at Twig\Template->yieldBlock('body', array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php:105)
at __TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:53)
at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
(vendor/twig/twig/src/Template.php:358)
at Twig\Template->display(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/Template.php:373)
at Twig\Template->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/TemplateWrapper.php:51)
at Twig\TemplateWrapper->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/Environment.php:333)
at Twig\Environment->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), 'render')
(vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), null, 'render')
(vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
(src/Controller/FrontendController.php:285)
at App\Controller\FrontendController->detail(object(Request))
(vendor/symfony/http-kernel/HttpKernel.php:183)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:76)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:182)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:29)
at require_once('/home/develor/circulaire/vendor/autoload_runtime.php')
(public/index.php:5)
|
|
[1/2]
ErrorException
|
|---|
ErrorException:
Notice: require(): Read of 1511 bytes failed with errno=116 Stale file handle
at vendor/doctrine/orm/src/Proxy/ProxyFactory.php:417
at require()
(vendor/doctrine/orm/src/Proxy/ProxyFactory.php:417)
at Doctrine\ORM\Proxy\ProxyFactory->loadProxyClass(object(ClassMetadata))
(vendor/doctrine/orm/src/Proxy/ProxyFactory.php:358)
at Doctrine\ORM\Proxy\ProxyFactory->getProxyFactory('App\\Entity\\District')
(vendor/doctrine/orm/src/Proxy/ProxyFactory.php:233)
at Doctrine\ORM\Proxy\ProxyFactory->getProxy('App\\Entity\\District', array('id' => 13))
(vendor/doctrine/orm/src/UnitOfWork.php:2539)
at Doctrine\ORM\UnitOfWork->createEntity('App\\Entity\\Region', array('id' => 32, 'nom' => 'Abidjan', 'slug' => 'abidjan', 'cheflieu' => 'Abidjan', 'superficie' => '2 119 km²', 'population' => '5,6 millions', 'nbredepartement' => '', 'presentation' => null, 'message' => null, 'dateadd' => object(DateTime), 'district_id' => 13, 'user_id' => null), array('fetchMode' => array('App\Entity\Region' => array('district' => 2))))
(vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php:176)
at Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateRowData(array('id_1' => 32, 'nom_2' => 'Abidjan', 'slug_3' => 'abidjan', 'cheflieu_4' => 'Abidjan', 'superficie_5' => '2 119 km²', 'population_6' => '5,6 millions', 'nbredepartement_7' => '', 'presentation_8' => null, 'message_9' => null, 'dateadd_10' => '2026-06-13 22:07:04', 'district_id_11' => 13, 'user_id_12' => null), array())
(vendor/doctrine/orm/src/Internal/Hydration/SimpleObjectHydrator.php:60)
at Doctrine\ORM\Internal\Hydration\SimpleObjectHydrator->hydrateAllData()
(vendor/doctrine/orm/src/Internal/Hydration/AbstractHydrator.php:171)
at Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(object(Result), object(ResultSetMapping), array())
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:748)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->load(array('id' => 32), null)
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:758)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->loadById(array('id' => 32))
(vendor/doctrine/orm/src/Proxy/ProxyFactory.php:289)
at Doctrine\ORM\Proxy\ProxyFactory::Doctrine\ORM\Proxy\{closure}(object(Region), array('id' => 32))
(vendor/doctrine/orm/src/Proxy/ProxyFactory.php:367)
at Proxies\__CG__\App\Entity\Region::Doctrine\ORM\Proxy\{closure}(object(Region))
(vendor/symfony/var-exporter/Internal/LazyObjectState.php:60)
at Symfony\Component\VarExporter\Internal\LazyObjectState->initialize(object(Region), 'district', 'App\\Entity\\Region')
(vendor/symfony/var-exporter/LazyGhostTrait.php:153)
at Proxies\__CG__\App\Entity\Region->__get('district')
(src/Entity/Region.php:176)
at App\Entity\Region->getDistrict()
(vendor/twig/twig/src/Extension/CoreExtension.php:1909)
at Twig\Extension\CoreExtension::getAttribute(object(Environment), object(Source), object(Region), 'district', array(), 'any', false, false, false, 90)
(var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:200)
at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->block_body(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable), 'dep' => object(Departement), 'reg' => object(Region)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(vendor/twig/twig/src/Template.php:446)
at Twig\Template->yieldBlock('body', array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(var/cache/dev/twig/dd/dd62a238e2f4db64ee333cd2f4da81c7.php:105)
at __TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('menuTop' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_menuTop'), 'body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body'), 'footer' => array(object(__TwigTemplate_9e0672a34dfbdb40fc09d326162a9b1f), 'block_footer')))
(var/cache/dev/twig/dd/dd182fc42c250f7fdb6669319afbb7a5.php:53)
at __TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9->doDisplay(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield(array('acteur' => object(Acteur), 'sousPrefecture' => null, 'app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_ddffd04d28f580b5a52a2aedd65ca0b9), 'block_body')))
(vendor/twig/twig/src/Template.php:358)
at Twig\Template->display(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/Template.php:373)
at Twig\Template->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/TemplateWrapper.php:51)
at Twig\TemplateWrapper->render(array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/twig/twig/src/Environment.php:333)
at Twig\Environment->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
(vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), 'render')
(vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('frontend/acteur/detail.html.twig', null, array('acteur' => object(Acteur), 'sousPrefecture' => null), null, 'render')
(vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('frontend/acteur/detail.html.twig', array('acteur' => object(Acteur), 'sousPrefecture' => null))
(src/Controller/FrontendController.php:285)
at App\Controller\FrontendController->detail(object(Request))
(vendor/symfony/http-kernel/HttpKernel.php:183)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:76)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:182)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:29)
at require_once('/home/develor/circulaire/vendor/autoload_runtime.php')
(public/index.php:5)
|