<?php
namespace App\Controller;
use App\ClassTheatre\aside\asidesUrlPagination;
use App\ClassTheatre\asides;
use App\ClassTheatre\TheatreController;
use App\Service\Abonnements\Abonnements;
use App\Service\Functions;
use App\Validator\Relations;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Cache\Adapter\AdapterInterface;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
use TheatreCore\Entity\Bigregions;
use TheatreCore\Entity\Extranetusers;
use TheatreCore\Entity\Persons;
use TheatreCore\Entity\Playlists;
use TheatreCore\Entity\Spectacles;
use TheatreCore\Form\Type\RelationsType;
class BiographiesController extends TheatreController
{
private $spectacles;
private $serviceAbonnements;
private $context_spectacles;
private $title_page;
private ?AdapterInterface $cache;
// {{{ _construct()
public function __construct(
EntityManagerInterface $em,
TranslatorInterface $translator,
TokenStorageInterface $tokenStorage,
Abonnements $abonnements,
AdapterInterface $cache
)
{
parent::__construct($translator, $tokenStorage);
$this->context['controller'] = $this->view->controller = 'biographies';
$this->em = $em;
$this->cache = $cache;
$this->spectacles = $em->getRepository(Spectacles::class);
$this->serviceAbonnements = $abonnements;
}
/**
*
* @Route("/biographies/", name="biographies")
*
* @Route("/{type}/biographies", name="biographies_filtre", requirements={
* "type": "auteurs|metteurs-en-scene|acteurs|traducteurs"
* })
*
*/
public function action_index($type = 'tous', Functions $functions, Request $request)
{
// classe person
$persons = $this->em->getRepository(Persons::class);
$navigation_toutes_biographie = array(
array(
'name' => 'Toutes les biographies',
'key' => 'biographies'
),
);
$navigation_biographie = array(
array(
'name' => $this->context['tr']->trans('Auteurs'),
'key_genre' => 'auteurs'
),
array(
'name' => $this->context['tr']->trans('metteurs_en_scene'),
'key_genre' => 'metteurs-en-scene'
),
array(
'name' => $this->context['tr']->trans('acteurs'),
'key_genre' => 'acteurs'
),
array(
'name' => $this->context['tr']->trans('traducteurs'),
'key_genre' => 'traducteurs'
)
);
$type_persons = array(
'auteurs' => array(
'standard' => 'auteurs',
'standard_singulier' => 'auteur',
'type_name' => 'authors',
'title_page' => 'Les auteurs de pièces de théâtre',
'locate' => array(0 => 'Auteurs'),
'infview' => 'aut',
'special' => array('author' => true),
),
'ensavoirplus' => array(
'standard' => 'en savoir +',
'standard_singulier' => 'en savoir +',
),
'metteurs-en-scene' => array(
'standard' => 'metteurs en scène',
'standard_singulier' => 'metteur en scène',
'type_name' => 'directors',
'title_page' => 'Les metteurs en scène de pièces de théâtre',
'locate' => array(0 => 'Metteurs en scène'),
'infview' => 'met',
'special' => array('idrole' => 'role_director'),
),
'traducteurs' => array(
'standard' => 'traducteurs',
'standard_singulier' => 'traducteur',
'type_name' => 'translators',
'title_page' => 'Les traducteurs de textes de théâtre',
'locate' => array(0 => 'Traducteurs'),
'infview' => 'trad',
'special' => array('translator' => true),
),
'acteurs' => array(
'standard' => 'acteurs',
'standard_singulier' => 'acteur',
'type_name' => 'actors',
'title_page' => 'Les acteurs de théâtre',
'locate' => array(0 => 'Acteurs'),
'infview' => 'act',
'special' => array('idrole' => 'role_comedien'),
),
'tous' => array(
'title_page' => 'Les biographies d\'auteurs, de metteurs en scène, d\'acteurs et de traducteurs de théâtre',
'locate' => array(0 => 'Biographies'),
'infview' => 'bio',
'type_name' => null,
'standard_singulier' => null,
'standard' => 'biographies',
),
);
$standard = $type_persons[$type]['standard'];
$standard_singulier = $type_persons[$type]['standard_singulier'];
// url
if($type=='tous') {
$this->view->url_page_bios = '/biographies/';
} else {
$this->view->url_page_bios = '/'.$type.'/biographies';
$this->view->typeperson = $type;
}
$this->rub_courante = $type;
$this->view->$type = true;
$this->view->standard = $standard;
$this->view->standard_singulier = $standard_singulier;
// recherche alphabétique ou une lettre au hasard
if(isset($_GET['lettre']) && strlen($_GET['lettre'])==1) {
$alpha = strtoupper($_GET['lettre']);
} else {
$alpha = strtoupper(array_rand($functions->getAlphaUpper()));
}
// liste alpha et alpha
$this->view->alphabet = $functions->getAlphaList($alpha);
$this->view->alpha = strtoupper($alpha);
$this->context['formAsideSearch'] = $this->get('form.factory')->createNamedBuilder('', FormType::class);
// formulaire de recherche avec case à cocher des types
$this->context['formAsideSearch']->add('lastname', TextType::class, [
'label' => 'Nom',
'constraints' => [
new NotBlank([
'message' => 'Veuillez saisir au moins deux lettres du nom'
]),
new Length([
'min' => 2,
'minMessage' => 'Veuillez saisir au moins deux lettres du nom',
'max' => 50,
'maxMessage' => 'Veuillez saisir au maximum 50 caractères du nom'
])
],
'attr' => [
'size' => '28',
'id' => 'lastname',
'placeholder' => 'Rechercher une personne'
]
]);
$this->context['formAsideSearch']->add('search', SubmitType::class, [
'label' => 'OK',
'attr' => [
'class'=>'boutform'
]
]);
$this->getCommonSearchView($request);
$params_persons = array(
'params' => array(
'limit' => 'all',
),
'special' => array(
'publish' => 1,
'count_only' => true
),
'dbg' => array('persons','liste des personnes')
);
$cacheKey = "biographies_index_getListPersons_{$type}_";
// conditions
if(!empty($type_persons[$type]['special'])) {
$params_persons['special'] = $type_persons[$type]['special'];
$specialkeys = array_keys($type_persons[$type]['special']);
$cacheKey .= array_pop($specialkeys);
}
// si recherche alphabétique
if(!empty($alpha)) {
$params_persons['special']['alpha'] = $alpha;
$cacheKey .= "_$alpha";
}
// nb total
$total = $persons->countPersons($type_persons[$type]['type_name']);
$this->view->nb_total = number_format($total, 0, "", " ");
$params_persons['special']['count_only'] = true;
$cacheItem = $this->cache->getItem("nb_total_filter_$cacheKey");
if (! $cacheItem->isHit()) {
$res = $persons->queryOne($persons->getSQLPersons($params_persons['params'], $params_persons['special']));
$cacheItem->set($res)
->expiresAt((new \DateTime('now'))->add(\DateInterval::createFromDateString('7 hours')));
$this->cache->save($cacheItem);
}
$this->view->nb_total_filter = $cacheItem->get();
// $pagerOptions['perPage'] = 62;
$pagerOptions['perPage'] = 402;
$this->view->pagination = $this->getPagination($this->view->nb_total_filter, $pagerOptions['perPage']);
$this->view->pagination['custom_params'] = 'lettre='.$alpha;
$params_persons['params']['limit'] = array($this->getLimitStart(), $pagerOptions['perPage']);
unset($params_persons['special']['count_only']);
$this->view->resultat = false;
// affichage si recherche par lettre (ou par defaut) (pas de recherche par nom/pays)
if ($this->context['formAsideSearch']->isSubmitted()) {
$lastname = $this->context['formAsideSearch']->get('lastname')->getData();
$this->view->lastname = $lastname;
$this->view->resultat = true;
$params_persons['special']['search'] = $lastname;
$cacheKey .= "_$lastname";
unset($params_persons['special']['alpha']);
}
// générer la liste
$cacheItem = $this->cache->getItem("getListPersons_$cacheKey");
if (! $cacheItem->isHit()) {
$res = $persons->getListPersons($params_persons);
$cacheItem->set($res)
->expiresAt((new \DateTime('now'))->add(\DateInterval::createFromDateString('7 hours')));
$this->cache->save($cacheItem);
}
$this->view->liste = $cacheItem->get();
// si c'était une recherche et qu'il n'y a pas de résultat, rechercher sans le type
if(!empty($lastname) && empty($this->view->liste) && !empty($params_persons['special'])) {
unset($params_persons['special']);
$params_persons['special']['search'] = $lastname;
$params_persons['special']['publish'] = 1;
$this->view->liste_autres = $persons->getListPersons($params_persons);
}
$this->view->title_page = $type_persons[$type]['title_page'];
$this->view->locate = $type_persons[$type]['locate'];
$this->view->type_persons[$type]['infview'] = true;
// tous les types
$this->view->type_persons = $type_persons;
// swfobject
$this->view->jquery_flash = true;
$this->context['view']->use_addthis = true;
$this->context['view']->is_alphabet = true;
//On affiche la publicité google
$asides_publicite = new asides();
asides::setEntityManager($this->em);
asides::loadaside('Publicite')->addGoogle($asides_publicite, $this->serviceAbonnements);
$this->context['view']->asides_publicite = $asides_publicite->view($this->context['view']);
$asides = new asides();
$asides->load(['recherche_personne' => array(
'exec' => ['alone' => true, 'color' => 'alternative'],
'action' => '/biographies/'
)]);
// On n'affiche pas si recherche patronymique
if (!$this->view->resultat) {
$asides->load(['url_lists' => array(
'exec' => array(
'htmlstart' => true
),
'php' => array(
'method' => 'asidesUrlLists',
'urls' => $navigation_toutes_biographie,
'url' => '/biographies?lettre={{v_alpha}}',
'params' => array(
'activate' => $standard
)
),
'title' => html_entity_decode('Voir'),
)]);
$asides->load(['url_lists,filtrer-par' => array(
'exec' => array(
'htmlend' => true
),
'php' => array(
'method' => 'asidesUrlLists',
'urls' => $navigation_biographie,
'url' => '/key_genre/biographies?lettre={{v_alpha}}',
'params' => array(
'activate' => $type,
//key_lettre' => $alpha
)
),
'title' => html_entity_decode('Filtrer par'),
)]);
}
$asides->load('bio_maj_v2');
asides::setEntityManager($this->em);
asides::loadaside('Publicite')->addWithNational($asides); //$this->area
$this->context['view']->aside = $asides->view($this->context['view']);
return $this->view('biographies/view.html.twig');
}
/**
*
* @Route("/biographies/videos/decouverte-auteurs", name="biographies_decouverte_auteurs")
*
*/
public function DecouverteAuteurs()
{
// récupération des playlists l'auteur par lui même
$playlists = $this->em->getRepository(Playlists::class);
// playlist
$list_playlists = $playlists->getListPlaylists(array(
'special' => array('idclassifications' => array(
116,
)),
'limit' => array(0,200),
'dbg' => array('playlists_auteurs','Les auteurs par eux même'),
));
foreach($list_playlists as $k=>$v) {
foreach($v['idperson'] as $p) {
$list_playlists_new[$p['lastname'].$k] = $v;
}
}
ksort($list_playlists_new);
$this->context['view']->list_playlists = $list_playlists_new;
$this->view->locate = array(
'/biographies/' => 'Biographies',
0 => 'Les auteurs par eux-même'
);
$this->context['view']->use_addthis = true;
$this->view->title_page = 'Les auteurs par eux-même';
$asides = new asides();
$asides->load('bio_video_decouverte-auteurs');
$asides->load('educ_lettre_info');
$this->context['view']->aside = $asides->view($this->context['view']);
return $this->view('biographies/decouverte-auteurs.html.twig');
}
/**
*
* @Route("/biographies/spectacles/affiche/", name="biographies_decouverte_auteurs")
* @Route("/biographies/spectacles/affiche/filtre/{p_filtre}/periode/{p_periode}", name="biographies_decouverte_auteurs_filtre_periode")
* @Route("/biographies/spectacles/affiche/periode/{p_periode}/area/{p_area}", name="biographies_decouverte_auteurs_filtre_periode_area")
* @Route("/biographies/spectacles/affiche/periode/{p_periode}/type/{p_type}", name="biographies_decouverte_auteurs_periode_type")
* @Route("/biographies/spectacles/affiche/filtre/{p_filtre}/periode/{p_periode}/area/{p_area}", name="biographies_decouverte_auteurs_periode_area")
*
* @Route("/biographies/spectacles/affiche/area/{p_area}/periode/{p_periode}", name="biographies_decouverte_auteurs_filtre_area_periode")
* @Route("/biographies/spectacles/affiche/filtre/{p_filtre}/area/{p_area}/periode/{p_periode}", name="biographies_decouverte_auteurs_area_periode")
*
*/
public function action_affiche($p_filtre = null, $p_periode = null, $p_area = null, $p_type = null)
{
$this->view->action = 'spectacles';
$this->context['params']['filtre'] = $p_filtre;
$this->context['params']['periode'] = $p_periode;
$this->context['params']['area'] = $p_area;
$this->context['params']['type'] = $p_type;
//Nombre de jour par défaut
$this->context['view']->nb_jour = 30;
//Le format par des vignettes des auteurs
$params_display['vignette_format'] = array('width'=>154,'height'=>154,'direction'=>'crop');
//Menu affichant les periodes des auteurs
$auteurs_menu_genre = array(
array(
'name' => 'Tous les auteurs',
'key_genre' => 'all'
),
array(
'name' => 'Contemporains',
'key_genre' => 'contemporain'
),
array(
'name' => 'Contemporains édités',
'key_genre' => 'contemporain-edite'
),
array(
'name' => 'Vivants',
'key_genre' => 'vivant'
),
array(
'name' => 'Vivants édités',
'key_genre' => 'vivant-edite'
),
array(
'name' => 'Du domaine public',
'key_genre' => 'public'
)
);
//avec photos :
$filtre_photos = array(
"all" => array(
'name' => 'Tous',
'key_filtre' => 'all',
),
"photos" => array(
'name' => 'Avec photos',
'key_filtre' => 'photos'
)
);
//Liste des périodes possibles en base de données
$periodes = array(
'contemporain-edite' => 'contemporains édités',
'contemporain' => 'contemporains',
'vivant-edite' => 'vivants édités',
'vivant' => 'vivants',
'public' => 'du domaine public',
'francophone' => 'francophones',
'non-francophone' => 'non francophones',
'all' => '',
);
//Gestion des recherche par date fixe dans l'aside
$auteurs_menu_periodes = array(
array(
'name' => '5 prochains jours',
'key_day' => 5, // TODO: fixe v2
),
array(
'name' => '10 prochains jour',
'key_day' => 10, // TODO: fixe v2
),
array(
'name' => '30 prochains jours',
'key_day' => 30, // TODO: fixe v2
),
array(
'name' => '12 prochains mois',
'key_day' => 365, // TODO: fixe v2
)
);
$day_all = false;
if(!empty($_REQUEST['d'])){
if(in_array($_REQUEST['d'], array_column($auteurs_menu_periodes, 'key_day'))){
$this->context['view']->nb_jour = $_REQUEST['d'];
if(!is_numeric($this->context['view']->nb_jour)){
$day_all = true;
}
}
}
$types_person = array(
'author' => 'auteurs',
'director' => 'metteurs en scène',
'actor' => 'acteurs',
);
if(empty($this->context['params']['type']) || !array_key_exists($this->context['params']['type'], $types_person)) {
$type_person = 'author';
} else {
$type_person = $this->context['params']['type'];
}
$filtre_photo = true; //par défault avec photo
$filtre_photos_seleted = "photos";
if(!empty($this->context['params']['filtre']) && array_key_exists($this->context['params']['filtre'], $filtre_photos)){
$filtre_photos_seleted = $this->context['params']['filtre'];
//si le filtre all est sélectionnéo on désactive le filtre par photo
if($filtre_photos_seleted == 'all'){
$filtre_photo = false;
}
}
$this->context['view']->with_photos = $filtre_photos_seleted;
$this->context['view']->$type_person = true;
$this->context['view']->type_person = $type_person;
if(empty($this->context['params']['periode']) || !array_key_exists($this->context['params']['periode'], $periodes)) {
$periode = 'contemporain-edite';
} else {
$periode = $this->context['params']['periode'];
}
$this->context['view']->periode = $periode;
$this->context['view']->periode_title = $periodes[$periode];
$persons = $this->em->getRepository(Persons::class);
/* paramètre sans les dates customs */
$params_sql = array(
'special' => array(
'count_only' => true, //pour calculer le nombre total de personne
'spectacle' => array(
'type' => $type_person,
)
),
'params' => array(
'limit' => array(0,4),
),
'dbg' => array('affiche','Les personnes à l\'affiche')
);
if(!$day_all){
$params_sql['special']['spectacle']['prochains'] = $this->context['view']->nb_jour.'D';
}
if($filtre_photo){
$params_sql['special']['with_photo'] = true;
}
if($periode!='all') {
if($periode=='francophone') {
$params_sql['special']['is_francophone'] = true;
} elseif($periode=='non-francophone') {
$params_sql['special']['is_non_francophone'] = true;
} elseif($periode=='contemporain-edite') {
$params_sql['special']['spectacle']['person_periode'] = 'contemporain';
$params_sql['special']['spectacle']['text_edite'] = true;
} elseif($periode=='vivant-edite') {
$params_sql['special']['spectacle']['person_periode'] = 'vivant';
$params_sql['special']['spectacle']['text_edite'] = true;
} else {
$params_sql['special']['spectacle']['person_periode'] = $periode;
}
}
$area = (!empty($this->context['params']['area'])) ? $this->context['params']['area'] : false;
if($area){
$regions = $this->em->getRepository(Bigregions::class);
$list_regions = $regions->getRegionName($area);
if ($regions->getZipCode($area)) {
$sql_area = ' AND '.$regions->getZipCode($area);
} else {
$sql_area = false;
}
// if($periode=='contemporain-edite') {
if(is_array($list_regions) && key_exists($area, $list_regions)){
$params_sql['special']['spectacle']['country'] = $area;
$this->context['view']->country_name = $regions->getNameCountry($area);
}
else{
$params_sql['special']['spectacle']['country'] = 'FR';
$this->context['view']->region_name = $regions->getRegionName($area);
}
if ($sql_area) {
$params_sql['params']['where'] = $sql_area;
}
// }
$this->context['view']->area = true;
}
//input et données du formulaire pour les dates customs, choisi par l'utilisateur
// $form->addElement('text', 'datestart', 'Entre', array('size'=>'7','id'=>'datestart','placeholder' => 'Début'));
// $form->addElement('text', 'dateend', 'et', array('size'=>'7','id'=>'dateend','placeholder' => 'Fin'));
if(!empty($_REQUEST['datestart']) && strlen($_REQUEST['datestart'])!=6) {
$datestart = $_REQUEST['datestart'];
}
if(!empty($_REQUEST['dateend']) && strlen($_REQUEST['dateend'])!=6) {
$dateend = $_REQUEST['dateend'];
}
if(!empty($datestart) && !empty($dateend)) {
$this->context['view']->datestart = $datestart;
$this->context['view']->dateend = $dateend;
// pour le array
$params_sql['special']['spectacle']['periode']['start'] = $datestart;
$params_sql['special']['spectacle']['periode']['end'] = $dateend;
}
//nombre total
$totalItems = $persons->queryOne($persons->getSQLPersons($params_sql['params'],$params_sql['special']));
//nombre total d'élément pour la création des pages
if($totalItems>0) {
$this->context['view']->result = true;
}
$pagerOptions['totalItems'] = $totalItems;
$this->perPage = 50;
$this->view->pagination = $this->getPagination($totalItems, $this->perPage);
$this->view->pagination['totalItems'] = $totalItems;
$this->view->pagination['custom'] = true;
$this->view->pagination['custom_name'] = 'biographies';
unset($params_sql['special']['count_only']);
$params_sql['params']['limit'] = array($this->getLimitStart(), $this->perPage);
$this->context['view']->persons = $persons->getListPersons($params_sql,$params_display);
$this->context['view']->pagination['url_custom'] = '/biographies/spectacles/affiche/periode/'.$periode.'/?d='.$this->context['view']->nb_jour;
// ajouter masonery
$this->context['view']->js_more[] = 'jquery.masonry.min.js';
$this->context['view']->jquery_cal = 'datepicker';
$this->context['view']->use_addthis = true;
/*
*
* ASIDE
*
*/
if($area){
$asides_top = new asides();
$asides_top->load(['aside_top' => array(
'php' => array(
'method' => 'asidesUrlRegions',
)
)
]);
$this->context['view']->aside_top = $asides_top->view($this->context['view']);
}
/* après !*/
$asides = new asides();
$asides->load(['url_lists,with_photo' => array(
'exec' => array(
'htmlstart' => true
),
'php' => array(
'method' => 'asidesUrlLists',
'urls' => $filtre_photos,
'url' => '/biographies/spectacles/affiche/filtre/key_filtre/generate_params?d={v_nb_jour}',
'params' => array(
'activate' => $filtre_photos_seleted,
),
'structure' => array(
'area' => $area,
'periode' => $periode
)
),
'title' => html_entity_decode('À l\'affiche'),
)]);
$asides->load(['url_lists,auteurs_genre' => array(
'exec' => array(
'alone' => false
),
'php' => array(
'method' => 'asidesUrlLists',
'urls' => $auteurs_menu_genre,
'url' => '/biographies/spectacles/affiche/generate_params?d={v_nb_jour}',
'params' => array(
'activate' => $periode,
),
'structure' => array(
'filtre' => $filtre_photos_seleted,
'area' => $area,
'periode' => 'key_genre'
)
),
'title' => 'Trier'
)]);
$asides->load(['url_lists,textes_a_venir' => array(
'exec' => array(
'htmlend' => true
),
'php' => array(
'method' => 'asidesUrlLists',
'urls' => $auteurs_menu_periodes,
'url' => '/biographies/spectacles/affiche/generate_params?d=key_day', //critiques/spectacles/{area_view}?d={k}',
'params' => array(
'activate' => $this->context['view']->nb_jour,
),
'structure' => array(
'filtre' => $filtre_photos_seleted,
'area' => $area,
'periode' => $periode
)
),
'title' => html_entity_decode('Recherche par période'),
)]);
// $asides->load(['recherche_par_periode' => array(
// 'exec' => array(
// 'htmlend' => true
// ),
// 'php' => array(
// 'method' => 'asidesUrlForm',
// 'action' => '/biographies/spectacles/affiche/periode/type/filtre/{v_with_photos}/?d={v_nb_jour}',
// )
// )]);
$this->context['view']->area = $area ?? null;
$asides->load(['common_carte' => array(
'url' => '/biographies/spectacles/affiche/periode/contemporain-edite/area/get_id?carte_version=svg'
)]);
//Chargement de la pub par région
asides::setEntityManager($this->em);
asides::loadaside('Publicite')->addWithNational($asides); //$this->area
asides::loadaside('Publicite')->addWithRegion($asides, ['region' => $area]); //$this->area
$asides->load(['bio_plusinfo' => array(
'exec' => ['color' => 'biographies']
)]);
$asides->load('common_participer_personne');
$this->context['view']->aside = $asides->view($this->context['view']);
// situation et titre meta
$this->view->locate = array(
'/biographies/' => 'Biographies',
0 => ucfirst($types_person[$type_person]).' '.$this->context['view']->periode_title.' à l\'affiche'
);
$this->view->title_page = ucfirst($types_person[$type_person]).' '.$this->context['view']->periode_title.' à l\'affiche';
return $this->view('biographies/affiche.html.twig');
}
/**
*
* @Route("/biographies/videos/decouverte-auteurs/", name="biographies_videos_decouverte_auteurs")
*
**/
public function decouverte_auteurs()
{
$playlists = $this->em->getRepository(Playlists::class);
// playlist
$list_playlists = $playlists->getListPlaylists(array(
'special' => array('idclassifications' => array(
116,
)),
'limit' => array(0,200),
'dbg' => array('playlists_auteurs','Les auteurs par eux même'),
));
foreach($list_playlists as $k=>$v) {
foreach($v['idperson'] as $p) {
$list_playlists_new[$p['lastname'].$k] = $v;
}
}
ksort($list_playlists_new);
$this->context['view']->list_playlists = $list_playlists_new;
$this->view->locate = array(
'/biographies/' => 'Biographies',
0 => 'Les auteurs par eux-même'
);
$this->context['view']->use_addthis = true;
$this->view->title_page = 'Les auteurs par eux-même';
$asides = new asides();
$asides->load('bio_video_decouverte-auteurs');
$asides->load('educ_lettre_info');
$this->context['view']->aside = $asides->view($this->context['view']);
return $this->view('biographies/decouverte-auteurs.html.twig');
}
/**
*
* @Route("/biographies/modifier/recherche-biographie", name="biographies_modifier_recherche_biographie")
*
**/
public function action_action_recheche_biographie(Request $request)
{
// js en plus
$this->view->js_more = array(
'ajax.relation.js',
);
$this->title_page = 'Ajouter un article';
$this->view->locate = array('/critiques/' => 'Espace critique', 0 => 'Ajouter');
$this->rub_courante = 'critiques';
return $this->view('biographies/recherche-biographie.html.twig');
}
}