<?php
// src/Controller/EntrepriseController.php
namespace App\Controller;
use App\Entity\SujetFAQ;
use App\Entity\Article;
use App\Entity\AppUser;
use App\Entity\Product;
use App\Entity\Review;
use App\Entity\Category;
use App\Entity\Order;
use App\Entity\SlidePromo;
use App\Entity\ProductOrder;
use App\Entity\Entreprise;
use App\Entity\ProductMisDeCote;
use App\Entity\SubCategory;
use App\Entity\AvisUtilisateur;
use App\Form\SujetFAQType;
use App\Form\AvisUtilisateurType;
use App\Form\AvisUtilisateurEditType;
use App\Form\ProductType;
use App\Entity\ShippingMethod;
use App\Entity\AbonneNewsletter;
use App\Entity\Coupon;
use App\Entity\EnseignantClasse;
use App\Entity\Produit;
use App\Entity\CategorieEntreprise;
use App\Entity\UserBoutique;
use App\Entity\Boutique;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* @Route("")
*/
class IndexController extends AbstractController
{
private $session;
public function __construct(SessionInterface $session)
{
$this->session = $session;
}
/**
* @Route("", name="home_first")
* @return \Symfony\Component\HttpFoundation\Response
*
*/
public function homeFirstAction()
{
$this->session->set('cart', array());
$domain = '';
$em = $this->getDoctrine()
->getManager();
$users = $em->getRepository(AppUser::class)
->findAll();
$ic = $this->indexContentAction();
return $this->render('entreprise/accueil.html.twig', [
'domain' => $domain,
'categorieEntreprises' => $ic['categorieEntreprises'],
'avisUtilisateurs' => $ic['avisUtilisateurs'],
'boutiquesVedettes' => $ic['boutiquesVedettes']
]);
}
/**
* @Route("/{_locale}", name="home")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function homeAction($_locale = 'fr')
{
$ic = $this->indexContentAction();
$domain = '';
return $this->render('entreprise/accueil.html.twig', [
'domain' => $domain,
'categorieEntreprises' => $ic['categorieEntreprises'],
'avisUtilisateurs' => $ic['avisUtilisateurs'],
'boutiquesVedettes' => $ic['boutiquesVedettes']
]);
}
public function indexContentAction()
{
$em = $this->getDoctrine()
->getManager();
$user = $this->getUser();
$userBoutiques = $em->getRepository(UserBoutique::class)
->findByUser($user);
$boutiques = $em->getRepository(Boutique::class)
->findBy(
array(
'estSupprime' => false
),
array(
'nom' => 'ASC'
)
);
$nombreBoutique = count($boutiques);
$categorieEntreprises = $em->getRepository(CategorieEntreprise::class)
->findBy(
array(
'estSupprime' => false
),
array('nom' => 'ASC')
);
$avisUtilisateurs = $em->getRepository(AvisUtilisateur::class)
->findBy(
array(),
array(),
5
);
$boutiquesVedettes = $em->getRepository(Boutique::class)
->findBy(
array(),
array(),
5
);
return
array(
'user' => $user,
'userBoutiques' => $userBoutiques,
'nombreBoutique' => $nombreBoutique,
'categorieEntreprises' => $categorieEntreprises,
'avisUtilisateurs' => $avisUtilisateurs,
'boutiquesVedettes' => $boutiquesVedettes
);
}
/**
* @Route("{_locale}/chose-language", name="change_language")
* @return \Symfony\Component\HttpFoundation\Response
*/
public function changeLanguageAction()
{
$languages = array(
'fr' => array(
'short' => 'fr',
'long' => 'Français'
),
'en' => array(
'short' => 'en',
'long' => 'English'
)
);
return $this->render('entreprise/change_language.html.twig', [
'languages' => $languages
]);
}
}