<?php
namespace App\Frontend\OpenSpaceBundle\Controller;
use App\AMZ\CoreBundle\Services\AMZS;
use App\AMZ\InquiryBundle\Entity\Inquiry;
use App\AMZ\InquiryBundle\Entity\Project;
use App\AMZ\PostBundle\Entity\Post;
use App\Frontend\OpenSpaceBundle\Services\OpenSpace;
use App\Frontend\OpenSpaceBundle\Services\OpenSpaceService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class DefaultController extends AbstractController
{
public function indexAction(OpenSpaceService $frontendService){
$sliders = $frontendService->getSliderForHomepage();
$aboutUsSlider = $frontendService->getBannerBySlug(OpenSpace::DEFAULT_HOMEPAGE_ABOUT_US);
$articleSlider = $frontendService->getBannerBySlug(OpenSpace::DEFAULT_HOMEPAGE_ARTICLES);
$contactSlider = $frontendService->getBannerBySlug(OpenSpace::DEFAULT_HOMEPAGE_CONTACT);
$partnerSlider = $frontendService->getBannerBySlug(OpenSpace::DEFAULT_HOMEPAGE_PARTNER);
$homepageSection = array(
$aboutUsSlider,$articleSlider,$partnerSlider,$contactSlider
);
return $this->render('@FrontendOpenSpace/Default/index.html.twig',[ 'sliders' => $sliders,
'homepageSection' => $homepageSection,
'effects' => ['fadeIn', 'rollIn','bounceIn','flipInY']
]);
}
public function aboutAction(OpenSpaceService $frontendService){
$pageSlug = OpenSpace::PAGE_SERVICES_SLUG;
$page = $frontendService->getPageBySlug($pageSlug);
// get service page
$services = $frontendService->getCompanyService();
$testimonial = $frontendService->getTestimonial();
$content1Slug = OpenSpace::PAGE_SERVICE_CONTENT_SLUG_1;
$content1 = $frontendService->getPageBySlug($content1Slug);
$content2Slug = OpenSpace::PAGE_SERVICE_CONTENT_SLUG_2;
$content2 = $frontendService->getPageBySlug($content2Slug);
$content3 = $frontendService->getPageBySlug(OpenSpace::PAGE_SERVICE_CONTENT_SLUG_3);
return $this->render('@FrontendOpenSpace/About/index.html.twig',array('page'=>$page,'services'=>$services,'testimonial' => $testimonial,'content1'=>$content1,'content2'=>$content2,'content3'=>$content3));
}
public function staticAction(Request $request, $slug){
$article = $this->getDoctrine()->getRepository("AMZPostBundle:Post")
->findOneBy(['slug' => $slug,'deleted' => AMZS::STATUS_NOT_DELETED ]);
return $this->render('@FrontendAbt/page/article-detail.html.twig',['article' => $article]);
}
public function contactAction(){
return $this->render('@FrontendAbt/page/contact.html.twig');
}
public function receiveInquiryAction(OpenSpaceService $frontendService, Request $request, \Swift_Mailer $mailer){
$data = $request->request->all();
$arrayValid = $frontendService->validateInquiryData($data);
// data is valid ~ empty($arrayValid) = true
if(empty($arrayValid)){
$entity = new Inquiry();
$entity->setName($data['name']);
$entity->setPhone($data['phone']);
$entity->setEmail($data['email']);
$post = new Post();
$post->setTitle($data['title']);
$post->setContent($data['content']);
$post->setType(AMZS::POST_TYPE_INQUIRY);
$entity->setPost($post);
$this->getDoctrine()->getManager()->persist($post);
$this->getDoctrine()->getManager()->persist($entity);
$this->getDoctrine()->getManager()->flush();
// sent mail
$message = (new \Swift_Message('lien-he-tu-website-abt'))
->setFrom('contact-form@amzsolution.com')
->setTo('lcghoang@gmail.com')
->setBody(
"You have a new message from contact form."
)
;
$rs = $mailer->send($message);
return new Response('sent-inquiry-success'. $rs);
}
}
}
?>