<?php
namespace App\Controller;
use App\Bitrix\CRest;
use App\Entity\Chart;
use App\Entity\ContactSendUserData;
use App\Entity\DocumentGroup;
use App\Entity\Gallery;
use App\Entity\Itog;
use App\Entity\JukIcon;
use App\Entity\JukSmi;
use App\Entity\LocalProject;
use App\Entity\Page;
use App\Entity\PageBlock;
use App\Entity\PagePageBlock;
use App\Entity\Partner;
use App\Entity\Person;
use App\Entity\PersonCategory;
use App\Entity\PresentationSendUserData;
use App\Entity\PriceIndex;
use App\Entity\PriceIndexItem;
use App\Entity\ProjectItem;
use App\Entity\Publication;
use App\Entity\Project;
use App\Entity\PublicationCategory;
use App\Entity\Review;
use App\Entity\Smi;
use App\Entity\Subscribtion;
use App\Entity\UserOrder;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\Persistence\ManagerRegistry;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Vich\UploaderBundle\Templating\Helper\UploaderHelper;
use Vich\UploaderBundle\Templating\Helper\UploaderHelperInterface;
class IndexController extends AbstractController
{
protected $blocks = [];
public function __construct(EntityManagerInterface $manager)
{
$blocks = $manager->getRepository(PageBlock::class)->findAll();
foreach ($blocks as $block){
$this->blocks[$block->getName()] = $block;
}
}
#[Route('/for-the-investor/parks')]
public function red1(): Response
{
return $this->redirectToRoute('app_index');
}
#[Route('/medias/newscorp/{all}', defaults: ["all"=>null])]
public function redNews($all = null): Response
{
return $this->redirectToRoute('app_publications', ['type'=> 'journal' ]);
}
#[Route('/upload/for-the-investor/ip_esipovo_mo.pdf')]
public function red2(): Response
{
return $this->redirectToRoute('app_project');
}
#[Route('/parks/')]
public function red3(): Response
{
return $this->redirectToRoute('app_project');
}
#[Route('/parks')]
public function red4(): Response
{
return $this->redirectToRoute('app_project');
}
#[Route('/for-the-investor/parks')]
public function red5(): Response
{
return $this->redirectToRoute('app_project');
}
#[Route('/', name: 'app_index')]
public function index(ManagerRegistry $doctrine, $oderNumber = false): Response
{
// $charts = $doctrine->getRepository(Chart::class)->findBy(['enabled' => true]);
$itogs = $doctrine->getRepository(Itog::class)->findBy([],['title'=>'DESC']);
$news = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true],['created'=>'DESC']);
$projects = $doctrine->getRepository(project::class)->findBy(['enabled' => true]);
$localProjects = $doctrine->getRepository(LocalProject::class)->filter(['page'=>0]);
$localProjectsCount = ceil(count($doctrine->getRepository(LocalProject::class)->findBy(['enabled'=>true]))/4);
$partners = $doctrine->getRepository(Partner::class)->findBy(['enabled' => true]);
$publicationCategory = $doctrine->getRepository(PublicationCategory::class)->find(1);
$publicationCategoryVideo = $doctrine->getRepository(PublicationCategory::class)->find(2);
$publicationCategorySmi = $doctrine->getRepository(PublicationCategory::class)->find(3);
$publicationCategoryJournal = $doctrine->getRepository(PublicationCategory::class)->find(4);
$categories = $doctrine->getRepository(PublicationCategory::class)->findBy(['enabled'=>true]);
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'category' => $publicationCategory], ['created'=>'DESC'], 6);
$publicationVideo = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategoryVideo], ['created'=>'DESC'], 6);
$publicationSmi = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategorySmi], ['created'=>'DESC'], 6);
$publicationJournal = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategoryJournal], ['created'=>'DESC'], 6);
$reviews = $doctrine->getRepository(Review::class)->findAll();
shuffle($reviews);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'main']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
$indexPriceHome = $doctrine->getRepository(PriceIndex::class)->findBy(['type'=>'home'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceHome as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceHome = $tmpData;
$indexPriceArea = $doctrine->getRepository(PriceIndex::class)->findBy(['type'=>'area'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceArea as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceArea = $tmpData;
$indexPriceHomeElems = $doctrine->getRepository(PriceIndexItem::class)->filter('home');
$tmpData = [];
foreach ($indexPriceHomeElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceHomeElems = $tmpData;
$indexPriceAreaElems = $doctrine->getRepository(PriceIndexItem::class)->filter('area');
$tmpData = [];
foreach ($indexPriceAreaElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceAreaElems = $tmpData;
return $this->render('new/index/index.html.twig', [
'indexPriceHomeElems' => $indexPriceHomeElems,
'indexPriceAreaElems' => $indexPriceAreaElems,
'indexPriceHome' => $indexPriceHome,
'indexPriceArea' => $indexPriceArea,
'partners' => $partners,
// 'charts' => $charts,
'news' => $news,
'projects' => $projects,
'localProjects' => $localProjects,
'localProjectsCount' => $localProjectsCount,
'oderNumber' => $oderNumber,
'publications' => $publications,
'publicationVideos' => $publicationVideo,
'publicationSmi' => $publicationSmi,
'publicationJournal' => $publicationJournal,
'categories' => $categories,
'blocks' => $this->blocks,
'reviews' => $reviews,
'action'=> 'index',
'itogs'=> $itogs,
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/pnorama', name: 'app_iframe')]
public function iframe(){
return $this->render('new/iframe.html.twig', ['blocks' => $this->blocks]);
}
#[Route('/.well-known/acme-challenge/mgA7s-0tGAUQoi4x0RunYQdubFbLbK5qduzB6ZMl_b0', name: 'app_hello')]
public function hello(): Response
{
// Принудительно очищаем системный кэш через код
$cacheDir = $this->getParameter('kernel.cache_dir');
return new Response('mgA7s-0tGAUQoi4x0RunYQdubFbLbK5qduzB6ZMl_b0.eAhR_HhmleA4zOdOioJjXrelMNMQAUZoIHQEAN4ULX4');
}
#[Route('/ps/ps-page', name: 'app_ps_page')]
public function newPage(ManagerRegistry $doctrine, $oderNumber = false): Response
{
$itogs = $doctrine->getRepository(Itog::class)->findBy([],['title'=>'DESC']);
$news = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true],['created'=>'DESC']);
$projects = $doctrine->getRepository(project::class)->findBy(['enabled' => true]);
$localProjects = $doctrine->getRepository(LocalProject::class)->filter(['page'=>0]);
$localProjectsCount = ceil(count($doctrine->getRepository(LocalProject::class)->findBy(['enabled'=>true]))/4);
$partners = $doctrine->getRepository(Partner::class)->findBy(['enabled' => true]);
$publicationCategory = $doctrine->getRepository(PublicationCategory::class)->find(1);
$publicationCategoryVideo = $doctrine->getRepository(PublicationCategory::class)->find(2);
$publicationCategorySmi = $doctrine->getRepository(PublicationCategory::class)->find(3);
$publicationCategoryJournal = $doctrine->getRepository(PublicationCategory::class)->find(4);
$categories = $doctrine->getRepository(PublicationCategory::class)->findBy(['enabled'=>true]);
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'category' => $publicationCategory], ['created'=>'DESC'], 6);
$publicationVideo = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategoryVideo], ['created'=>'DESC'], 6);
$publicationSmi = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategorySmi], ['created'=>'DESC'], 6);
$publicationJournal = $doctrine->getRepository(Publication::class)->findBy(['enabled' => true, 'isMain'=> true, 'category' => $publicationCategoryJournal], ['created'=>'DESC'], 6);
$reviews = $doctrine->getRepository(Review::class)->findAll();
shuffle($reviews);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'main']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
$indexPriceHome = $doctrine->getRepository(PriceIndex::class)->findBy(['type'=>'home'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceHome as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceHome = $tmpData;
$indexPriceArea = $doctrine->getRepository(PriceIndex::class)->findBy(['type'=>'area'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceArea as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceArea = $tmpData;
$indexPriceHomeElems = $doctrine->getRepository(PriceIndexItem::class)->filter('home');
$tmpData = [];
foreach ($indexPriceHomeElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceHomeElems = $tmpData;
$indexPriceAreaElems = $doctrine->getRepository(PriceIndexItem::class)->filter('area');
$tmpData = [];
foreach ($indexPriceAreaElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceAreaElems = $tmpData;
return $this->render('ps_page.html.twig', [
'indexPriceHomeElems' => $indexPriceHomeElems,
'indexPriceAreaElems' => $indexPriceAreaElems,
'indexPriceHome' => $indexPriceHome,
'indexPriceArea' => $indexPriceArea,
'partners' => $partners,
// 'charts' => $charts,
'news' => $news,
'projects' => $projects,
'localProjects' => $localProjects,
'localProjectsCount' => $localProjectsCount,
'oderNumber' => $oderNumber,
'publications' => $publications,
'publicationVideos' => $publicationVideo,
'publicationSmi' => $publicationSmi,
'publicationJournal' => $publicationJournal,
'categories' => $categories,
'blocks' => $this->blocks,
'reviews' => $reviews,
'action'=> 'index',
'itogs'=> $itogs,
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/rss', name: 'app_rss', defaults: ["_format" => "xml"])]
public function rss(ManagerRegistry $doctrine, PaginatorInterface $paginator, Request $request): Response
{
$category = $doctrine->getRepository(PublicationCategory::class)->findOneBy(['slug' => 'news']);
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $category],['created'=>'DESC']);
return $this->render('rss.html.twig', ['publications'=>$publications]);
}
#[Route('/publications/{type}', name: 'app_publications', defaults: ['type' => 'news'])]
public function publications(ManagerRegistry $doctrine, PaginatorInterface $paginator, Request $request, $type = 'news'): Response
{
$category = $doctrine->getRepository(PublicationCategory::class)->findOneBy(['slug' => $type]);
$categories = $doctrine->getRepository(PublicationCategory::class)->findBy(['enabled' => true]);
if ($request->query->get('newId')){
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $category, 'parent' => $request->query->get('newId')],['created'=>'DESC']);
}else{
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $category],['created'=>'DESC']);
}
$videosCategory = $doctrine->getRepository(PublicationCategory::class)->find(2);
$videos = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $videosCategory ],['created'=>'DESC'], 3);
$pagination = $paginator->paginate(
$publications,
$request->query->getInt('page', 1), /*page number*/
6 /*limit per page*/
);
return $this->render('new/index/publications.html.twig', [
'publications' => $pagination,
'category' => $category,
'videos' => $videos,
'categories' => $categories,
'action'=> 'publications',
]);
}
#[Route('/partners', name: 'app_partners')]
public function partners(ManagerRegistry $doctrine): Response
{
$partners = $doctrine->getRepository(Partner::class)->findBy(['enabled' => true]);
return $this->render('index/partners.html.twig', [
'partners' => $partners
]);
}
#[Route('/404', name: 'app_error')]
public function error(ManagerRegistry $doctrine): Response
{
return $this->render('new/index/error.html.twig', [
]);
}
#[Route('/contacts', name: 'app_contacts')]
public function contacts(
ManagerRegistry $doctrine,
Request $request,
\Swift_Mailer $mailer,
ValidatorInterface $validator,
): Response
{
// Ключ сайта 6LeZ0HooAAAAAJqqEP7jAsh8o1kIN1yKLw19ATo6
// Секретный ключ 6LeZ0HooAAAAAL7a8xNrwIWes5rPE09FfX6nH8FW
$personCategories = $doctrine->getRepository(PersonCategory::class)->findBy(['inContact' => true]);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'contacts']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
if ($request->getMethod() == 'POST'){
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
if ( !$captcha ) {
// $form->addError(new FormError('Не верна заполнена капча'));
// return $this->render('@App/Modal/register_modal_element.html.twig', ['form' => $form->createView()]);
return $this->redirectToRoute('app_contacts');
}
$secretKey = "6LeZ0HooAAAAAL7a8xNrwIWes5rPE09FfX6nH8FW";
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($secretKey) . '&response=' . urlencode($captcha);
$response = file_get_contents($url);
$responseKeys = json_decode($response,true);
if($responseKeys["success"] || true) {
$contactSendUserData = new ContactSendUserData(
trim($request->request->get('phone')),
trim($request->request->get('email')),
trim($request->request->get('name')),
trim($request->request->get('comment')),
);
$errors = $validator->validate($contactSendUserData);
if (count($errors) === 0) {
$order = [
'name' => $request->request->get('name'),
'email' => $request->request->get('email'),
'phone' => $request->request->get('phone'),
'comment' => $request->request->get('comment'),
];
$mailhtml = $this->renderView('mail/contacts.html.twig', ['order'=>$order]);
$message = (new \Swift_Message('Новый запрос из формы контактов'))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
// $logger = new \Swift_Plugins_Loggers_EchoLogger();
// $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
$mailer->send($message);
$this->addFlash('modal', 'emailSuccess');
} else {
$this->addFlash('modal', 'emailError');
}
}
}
return $this->render('new/index/contacts.html.twig', [
'personCategories' => $personCategories,
'blocks' => $this->blocks,
'post' => true,
'action'=> 'contacts',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
return $this->render('new/index/contacts.html.twig', [
'blocks' => $this->blocks,
'personCategories' => $personCategories,
'action'=> 'contacts',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/about', name: 'app_about')]
public function about(ManagerRegistry $doctrine): Response
{
$personCategories = $doctrine->getRepository(PersonCategory::class)->findBy([], ['sort'=>'ASC']);
$persons = $doctrine->getRepository(Person::class)->findBy(['category' => $personCategories[0], 'enabled'=>true],['priority'=>'ASC']);
$personsAll = $doctrine->getRepository(Person::class)->findBy(['enabled'=>true],['priority'=>'ASC']);
$localProjects = $doctrine->getRepository(LocalProject::class)->findBy(['enabled'=>true]);
$page_1 = $doctrine->getRepository(Page::class)->findOneBy(['slug'=> 'about_1']);
$page_2 = $doctrine->getRepository(Page::class)->findOneBy(['slug'=> 'about_2']);
$page_3 = $doctrine->getRepository(Page::class)->findOneBy(['slug'=> 'about_3']);
$gallery = $doctrine->getRepository(Gallery::class)->findBy(['enabled'=> true]);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'about']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
$docsGroups = $doctrine->getRepository(DocumentGroup::class)->findAll();
return $this->render('new/index/about.html.twig', [
'docsGroups' => $docsGroups,
'personCategories' => $personCategories,
'persons' => $persons,
'personsAll' => $personsAll,
'localProjects' => $localProjects,
'page_1' => $page_1,
'page_2' => $page_2,
'page_3' => $page_3,
'gallery' => $gallery,
'blocks' => $this->blocks,
'action'=> 'about',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/o-regione', name: 'app_region')]
public function oregione(ManagerRegistry $doctrine): Response
{
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'o-regione']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
return $this->render('new/index/region.html.twig', [
'blocks' => $this->blocks,
'action'=> 'o-regione',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/invest', name: 'app_invest')]
public function invest(ManagerRegistry $doctrine): Response
{
$localProjects = $doctrine->getRepository(LocalProject::class)->findBy(['enabled' => true]);
return $this->render('index/invest.html.twig', [
'localProjects' =>$localProjects
]);
}
#[Route('/calc', name: 'app_calc')]
public function calc(ManagerRegistry $doctrine): Response
{
return $this->render('index/calc.html.twig');
}
#[Route('/policy', name: 'app_policy')]
public function policy(ManagerRegistry $doctrine): Response
{
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug'=>'policy']);
return $this->render('new/index/page.html.twig',['page' => $page]);
}
#[Route('/publication/{slug}', name: 'app_publication_show', defaults: ['id'=>null])]
public function publication(ManagerRegistry $doctrine, $slug = null): Response
{
$publication = $doctrine->getRepository(Publication::class)->findOneBy(['slug'=>$slug, 'enabled'=>true]);
if (!$publication){
throw $this->createNotFoundException();
}
$categories = $doctrine->getRepository(PublicationCategory::class)->findBy(['enabled'=>true]);
$publications = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true],['created'=>'DESC'], 20);
$videosCategory = $doctrine->getRepository(PublicationCategory::class)->find(2);
$videos = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $videosCategory ],['created'=>'DESC'], 3);
$smiCategory = $doctrine->getRepository(PublicationCategory::class)->find(3);
$smi = $doctrine->getRepository(Publication::class)->findBy(['enabled'=>true, 'category' => $smiCategory ],['created'=>'DESC'], 3);
return $this->render('new/index/publication.html.twig', [
'categories' => $categories,
'videosCategory' => $videosCategory,
'videos' => $videos,
'news' => $publications,
'publication' => $publication,
'action'=> 'publications',
'smi'=> $smi,
]);
}
#[Route('/publications/smi', name: 'app_publications_smi')]
public function publicationsSmi(ManagerRegistry $doctrine, PaginatorInterface $paginator, Request $request): Response
{
$publications = $doctrine->getRepository(Smi::class)->findBy([],['created'=>'DESC']);
$pagination = $paginator->paginate(
$publications,
$request->query->getInt('page', 1), /*page number*/
10 /*limit per page*/
);
return $this->render('index/publications_smi.html.twig', [
'publications' => $pagination,
'action'=> 'publications',
]);
}
#[Route('/search', name: 'app_search', options: ['expose' => true])]
public function search(ManagerRegistry $doctrine, PaginatorInterface $paginator, Request $request): Response
{
if ($request->isXmlHttpRequest()){
if ($request->query->get('search')){
$news = $doctrine->getRepository(Publication::class)->filter(['text'=>$request->query->get('search'),
'category' => 1], 4);
}else{
$news = [];
}
$json = [];
/** @var Publication $n */
foreach ($news as $n){
$json[$n->getId()] = [
'title' => $n->getTitle(),
'url' => $this->generateUrl('app_publication_show', ['slug' => $n->getSlug()]),
];
}
return new JsonResponse($json);
}else{
if ($request->query->get('search')){
$news = $doctrine->getRepository(Publication::class)->filter(['text'=>$request->query->get('search'),
'category' => 1], -1);
}else{
$news = [];
}
$pagination = $paginator->paginate(
$news,
$request->query->getInt('page', 1), /*page number*/
10 /*limit per page*/
);
return $this->render('new/index/search.html.twig', [
'publications' => $pagination,
'action'=> 'search',
]);
}
}
#[Route('/person/json', name: 'app_person', options: ['expose' => true])]
public function personByCategory(ManagerRegistry $doctrine, Request $request, UploaderHelper $helper): Response
{
if ($request->query->get('categoryId')){
$personCategories = $doctrine->getRepository(PersonCategory::class)->findBy(['id'=>$request->query->get('categoryId')], ['sort'=>'ASC']);
$persons = $doctrine->getRepository(Person::class)->findBy(['category' => $personCategories[0]],['priority'=>'ASC']);
}else{
$persons = [];
}
$json = [];
/** @var Person $p */
foreach ($persons as $p){
$json[$p->getId()] = [
'title' => $p->getName(),
'postwork' => $p->getPost(),
'phone' => $p->getPhone(),
'email' => $p->getEmail(),
'image' => $helper->asset($p,'imageFile'),
'preview' => $helper->asset($p,'previewFile'),
];
}
return new JsonResponse($json);
}
#[Route('/project/korolev', name: 'app_project_korolev')]
public function projectKorolev(ManagerRegistry $doctrine, Request $request, \Swift_Mailer $mailer): Response
{
$id = 2;
$project = $doctrine->getRepository(Project::class)->findOneBy(['id'=> $id, 'enabled'=>true]);
$projectItems0 = $doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '0']);
$projectItems0Count = count($doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '0']));
$projectItems0Count = ceil($projectItems0Count/8);
$projectItems1 = $doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '1']);
$projectItems1Count = count($doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '1']));
$projectItems1Count = ceil($projectItems1Count/8);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'korolev']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
if ($request->getMethod() == 'POST' && $request->request->get('name') && $request->request->get('email')) {
$order = [
'name' => $request->request->get('name'),
'email' => $request->request->get('email'),
'phone' => $request->request->get('phone'),
'comment' => $request->request->get('comment'),
];
$mailhtml = $this->renderView('mail/contacts_2.html.twig', ['order' => $order]);
$message = (new \Swift_Message('Новый запрос из формы земельных участков'))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
// $logger = new \Swift_Plugins_Loggers_EchoLogger();
// $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
$mailer->send($message);
$this->addFlash('modal', 'formSuccess');
return $this->render('new/index/project_korolev.html.twig', [
'project'=>$project,
'projectItems0' => $projectItems0,
'projectItems1'=>$projectItems1,
'post' => true,
'projectItems0Count' => $projectItems0Count,
'projectItems1Count' => $projectItems1Count,
'blocks' => $this->blocks,
'action'=> 'korolev',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
return $this->render('new/index/project_korolev.html.twig', [
'project'=>$project,
'projectItems0' => $projectItems0,
'projectItems1'=>$projectItems1,
'projectItems0Count' => $projectItems0Count,
'projectItems1Count' => $projectItems1Count,
'blocks' => $this->blocks,
'action'=> 'korolev',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/project/jukovskii', name: 'app_project_jukovskii')]
public function projectJukovskii(EntityManagerInterface $manager, Request $request, \Swift_Mailer $mailer): Response
{
return new Response('');
if ($request->getMethod() == 'POST'){
$order = [
'name' => $request->request->get('name'),
'phone' => $request->request->get('phone'),
];
$client = CRest::call(
'crm.contact.add',
['FIELDS' => [
'NAME' => $request->request->get('name') ,
'PHONE' => ['0' => ['VALUE' => $request->request->get('phone'), 'VALUE_TYPE' => 'WORK' ]],
]
]
);
$fields = [
'CLIENT_ID' => $client['result'],
'TITLE' => 'Новая заявка Жуковский (главная страница)'
];
$result = CRest::call(
'crm.deal.add',
['FIELDS' => $fields]
);
$mailhtml = $this->renderView('mail/jukovskii_contact_form.html.twig', ['order' => $order]);
$message = (new \Swift_Message('Запрос со страницы Жуковский '))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
// $logger = new \Swift_Plugins_Loggers_EchoLogger();
// $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
$mailer->send($message);
}
$data1 = [
[
'title' => 'Пищевая промышленность',
'desc' => 'Производство пищевых продуктов, мясо, молочные продукты, хлеб и др.',
'img' => 'ic_10.svg',
],
[
'title' => 'Легкая промышленность',
'desc' => 'Текстильные изделия, одежда, кожаные изделия, обувь и др.',
'img' => 'ic_9.svg',
],
[
'title' => 'Медицинское производство',
'desc' => 'Производство лекарственных средств и медицинской техники',
'img' => 'ic_8.svg',
],
[
'title' => 'Химическое производство',
'desc' => 'Производство химических веществ , резиновых и пластмассовых изделий',
'img' => 'ic_7.svg',
],
[
'title' => 'Строительная промышленность',
'desc' => 'Материалы для строительства, кроме размещения АБЗ',
'img' => 'ic_7.svg',
],
[
'title' => 'Машиностроение',
'desc' => 'производство транспортных средств, прицепов, полуприцепов и так далее, ремонт и монтаж',
'img' => 'ic_6.svg',
],
[
'title' => 'Полиграфия',
'desc' => 'Производство бумаги и бумажных изделий, полиграфии',
'img' => 'ic_5.svg',
],
[
'title' => 'Электроника',
'desc' => 'Компьютеры, электронные и оптические изделия, электрическое оборудование',
'img' => 'ic_4.svg',
],
[
'title' => 'Станкостроение',
'desc' => 'производство оборудования и станков',
'img' => 'ic_3.svg',
],
[
'title' => 'Деревообработка',
'desc' => 'Производство мебели из дерева, изделий из дерева и др.',
'img' => 'ic_2.svg',
],
[
'title' => 'Металлообработка',
'desc' => 'Производство крупномасштабных конструкций, изделий из металла и др.',
'img' => 'ic_1.svg',
],
];
$page = $manager->getRepository(Page::class)->findOneBy(['slug' => 'jukovskii']);
$pageBlocks = $manager->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
$project = $manager->getRepository(Project::class)->find(3);
$jukSmi = $manager->getRepository(JukSmi::class)->findAll();
$jukIcons = $manager->getRepository(JukIcon::class)->findAll();
$gallery = $manager->getRepository(Gallery::class)->find(3);
return $this->render('new/index/jukovskii.html.twig', [
'action'=> 'project',
'datas'=> $data1,
'page'=> $page,
'blocks' => $this->blocks,
'pageBlocks'=> $pageBlocks,
'project' => $project,
'jukSmi' => $jukSmi,
'jukIcons' => $jukIcons,
'gallery' => $gallery,
]);
}
#[Route('/priceindex/{type}', name: 'app_priceindex', defaults: ["type"=>'area'])]
public function priceindex(EntityManagerInterface $manager, Request $request, \Swift_Mailer $mailer, $type = 'area'): Response
{
if ($type == 'area'){
$indexes = $manager->getRepository(PriceIndex::class)->findBy(['type'=>'area'], ['id'=>'DESC']);
}elseif ($type == 'home'){
$indexes = $manager->getRepository(PriceIndex::class)->findBy(['type'=>'home'], ['id'=>'DESC']);
}
$page = $manager->getRepository(Page::class)->findOneBy(['slug' => 'priceindex']);
$pageBlocks = $manager->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
$indexPriceHome = $manager->getRepository(PriceIndex::class)->findBy(['type'=>'home'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceHome as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceHome = $tmpData;
$indexPriceArea = $manager->getRepository(PriceIndex::class)->findBy(['type'=>'area'], ['id'=>'DESC']);
$tmpData = [];
/** @var PriceIndex $elems */
foreach ($indexPriceArea as $elems){
/** @var PriceIndexItem $tmpItem*/
foreach ($elems->getItems() as $tmpItem ){
if ($tmpItem->getDate()->format('Y') == 2024){
if (isset($tmpData['prices'][$tmpItem->getDate()->format('m')])){
$tmpData['prices'][$tmpItem->getDate()->format('m')] += $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] += 1;
}else{
$tmpData['prices'][$tmpItem->getDate()->format('m')] = $tmpItem->getPrice();
$tmpData['counts'][$tmpItem->getDate()->format('m')] = 1;
}
}
}
}
$indexPriceArea = $tmpData;
$indexPriceHomeElems = $manager->getRepository(PriceIndexItem::class)->filter('home');
$tmpData = [];
foreach ($indexPriceHomeElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceHomeElems = $tmpData;
$indexPriceAreaElems = $manager->getRepository(PriceIndexItem::class)->filter('area');
$tmpData = [];
foreach ($indexPriceAreaElems as $tmp){
$tmpData[] = $tmp['price'];
}
$indexPriceAreaElems = $tmpData;
return $this->render('new/index/price_index.html.twig', [
'blocks' => $this->blocks,
'type'=>$type,
'page'=>$page,
'indexes'=>$indexes,
'pageBlocks'=>$pageBlocks,
'indexPriceHome' => $indexPriceHome,
'indexPriceArea' => $indexPriceArea,
'indexPriceHomeElems' => $indexPriceHomeElems,
'indexPriceAreaElems' => $indexPriceAreaElems,
]);
}
#[Route('/project', name: 'app_project')]
public function project(ManagerRegistry $doctrine, Request $request, \Swift_Mailer $mailer): Response
{
$id = 1;
$project = $doctrine->getRepository(Project::class)->findOneBy(['id'=> $id, 'enabled'=>true]);
$projectItems0 = $doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '0']);
$projectItems0Count = count($doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '0']));
$projectItems0Count = ceil($projectItems0Count/8);
$projectItems1 = $doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '1']);
$projectItems1Count = count($doctrine->getRepository(ProjectItem::class)->findBy(['project' => $project, 'type' => '1']));
$projectItems1Count = ceil($projectItems1Count/8);
$page = $doctrine->getRepository(Page::class)->findOneBy(['slug' => 'project']);
$pageBlocks = $doctrine->getRepository(PagePageBlock::class)->findBy(['Page'=>$page],['sort'=>'ASC']);
if ($request->getMethod() == 'POST') {
$order = [
'name' => $request->request->get('name'),
'email' => $request->request->get('email'),
'phone' => $request->request->get('phone'),
'comment' => $request->request->get('comment'),
];
$mailhtml = $this->renderView('mail/contacts_2.html.twig', ['order' => $order]);
$message = (new \Swift_Message('Новый запрос из формы земельных участков'))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
// $logger = new \Swift_Plugins_Loggers_EchoLogger();
// $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
$mailer->send($message);
$this->addFlash('modal', 'formSuccess');
return $this->render('new/index/project.html.twig', [
'project'=>$project,
'projectItems0' => $projectItems0,
'projectItems1'=>$projectItems1,
'post' => true,
'projectItems0Count' => $projectItems0Count,
'projectItems1Count' => $projectItems1Count,
'blocks' => $this->blocks,
'action'=> 'project',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
return $this->render('new/index/project.html.twig', [
'project'=>$project,
'projectItems0' => $projectItems0,
'projectItems1'=>$projectItems1,
'projectItems0Count' => $projectItems0Count,
'projectItems1Count' => $projectItems1Count,
'blocks' => $this->blocks,
'action'=> 'project',
'page'=> $page,
'pageBlocks'=> $pageBlocks,
]);
}
#[Route('/localproject/list', name: 'app_localproject_list')]
public function localprojectList(ManagerRegistry $doctrine): Response
{
$localProjects = $doctrine->getRepository(LocalProject::class)->findBy(['enabled' => true]);
return $this->render('new/index/local_project_list.html.twig', ['projects'=>$localProjects]);
}
#[Route('/localproject/{id}', name: 'app_localproject')]
public function localproject(ManagerRegistry $doctrine, $id): Response
{
$localProjects = $doctrine->getRepository(LocalProject::class)->otherProjects(['page'=>0, 'notId'=>$id]);
$localProjectsCount = ceil(count($doctrine->getRepository(LocalProject::class)->findBy(['enabled'=>true]))/4);
$project = $doctrine->getRepository(LocalProject::class)->findOneBy(['id'=> $id, 'enabled'=>true]);
return $this->render('new/index/local_project.html.twig', [
'localProjects'=>$localProjects,
'localProjectsCount'=>$localProjectsCount,
'project'=>$project,
]);
}
#[Route('/projectitem', name: 'app_project_item')]
public function projectitem(ManagerRegistry $doctrine, Request $request,UploaderHelper $helper): Response
{
$id = $request->query->get('id');
$project = $doctrine->getRepository(ProjectItem::class)->findOneBy(['id'=> $id]);
return $this->render('new/modals/project_item_content.html.twig', ['project'=>$project]);
}
#[Route('/project-item/{id}', name: 'app_iframe_project_item')]
public function projectitemByIframe(ManagerRegistry $doctrine, Request $request, $id): Response
{
$project = $doctrine->getRepository(ProjectItem::class)->findOneBy(['id'=> $id]);
return $this->render('new/project_item_iframe.html.twig', ['project'=>$project]);
}
#[Route('/projectitem-json', name: 'app_project_item_json')]
public function projectitemJson(ManagerRegistry $doctrine, Request $request,UploaderHelper $helper): Response
{
$id = $request->query->get('id');
$project = $doctrine->getRepository(ProjectItem::class)->findOneBy(['id'=> $id]);
$json = [
'area' => $project->getArea(),
'image' => $helper->asset($project, 'mapFile'),
'content' => $project->getContent()
];
return new JsonResponse($json);
}
#[Route('/order/area/send', name: 'app_order_area_send')]
public function orderAreaSend(ManagerRegistry $doctrine, Request $request, \Swift_Mailer $mailer): Response
{
if ($request->getMethod() != 'POST'){
return $this->redirectToRoute('app_index');
}
if (!is_array($request->get('areaType', []))){
$areaType = [$request->get('areaType')];
}else{
$areaType = $request->get('areaType', []);
}
if (!is_array($request->get('payType', []))){
$payType = [$request->get('payType')];
}else{
$payType = $request->get('payType');
}
$userOrder = new UserOrder();
$userOrder->setCreated(new \DateTime());
if ($areaType){
$userOrder->setTypeArea(implode(' ', $areaType));
}
if ($payType){
$userOrder->setTypePrice(implode(' ', $payType));
}
$userOrder->setName($request->get('name'));
// $userOrder->setEmail($request->get('email'));
$userOrder->setPhone($request->get('phone'));
$doctrine->getManager()->persist($userOrder);
$doctrine->getManager()->flush();
$doctrine->getManager()->refresh($userOrder);
$fip = explode(' ', $_POST['name']);
// $client = CRest::call(
// 'crm.contact.add',
// ['FIELDS' => [
// 'LAST_NAME' => (isset($fip[0]) ? $fip[0] : '') ,
// 'NAME' => (isset($fip[1]) ? $fip[1] : '') ,
// 'SECOND_NAME' => (isset($fip[2]) ? $fip[2] : '') ,
// 'PHONE' => ['0' => ['VALUE' => $_POST['phone'], 'VALUE_TYPE' => 'WORK' ]],
// ]
// ]
// );
//
// $fields = [
// 'TITLE' => 'Заявка из модального окна',
// 'CLIENT_ID' => $client['result'],
// 'UF_CRM_1675845053079' => $this->zeml($client['areaType']),
// 'UF_CRM_1679571797939' => $client['payType'],
//
// ];
//
// $result = CRest::call(
// 'crm.deal.add',
// ['FIELDS' => $fields]
// );
//
//
// $addcon = CRest::call(
// 'crm.deal.contact.add',
// [
// 'ID' => $result['result'],
// 'FIELDS'=> [
// 'CONTACT_ID'=>$client['result'],
// 'SORT'=>0,
// 'PRIMARY'=>true,
// ]
// ]
// );
if ($request->request->get('pr') == 1){
$mailTitle = 'Подбор площадки. Королев.';
}else{
$mailTitle = 'Новый запрос на подбор участка';
}
// formType
$formType = $request->request->get('formType', null);
$mailhtml = $this->renderView('mail/order.html.twig', ['order'=>$userOrder, 'formType' => $formType]);
$message = (new \Swift_Message($mailTitle))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
$mailer->send($message);
$str1 = $userOrder->getTypeArea();
$str2 = $userOrder->getTypePrice();
$result = CRest::call(
'crm.lead.add',
['FIELDS' => [
'TITLE' => $mailTitle,
'NAME' => $userOrder->getName(),
'LAST_NAME' => '',
'EMAIL' => ['0' => ['VALUE' => '', 'VALUE_TYPE' => 'WORK', ], ],
'PHONE' => ['0' => ['VALUE' => $userOrder->getPhone(), 'VALUE_TYPE' => 'WORK', ], ],
'SOURCE_ID' => 'STORE',
'COMMENTS' => '',
'UF_CRM_1674208325432' => $str1.' '.$str2 ],
]
);
if ($request->isXmlHttpRequest()){
return new JsonResponse(['status'=> 'success', 'data' => $result]);
}else{
$this->addFlash('modal', 'formSuccess');
$referer = $request->headers->get('referer');
return $this->redirect($referer);
}
}
#[Route('/subscription/news', name: 'app_subscription')]
public function subscription(ManagerRegistry $doctrine, Request $request, \Swift_Mailer $mailer): Response
{
$email = $request->request->get('email');
$user = $doctrine->getRepository(Subscribtion::class)->findOneBy(['email' => $email]);
if ($user){
if ($user->isCancel() == false){
$user->setCancel(true);
$doctrine->getManager()->flush();
if ($request->isXmlHttpRequest()){
return new JsonResponse(['status'=>'cancel', 'email'=>$email]);
}else{
$this->addFlash('modal', 'emailSuccess');
$referer = $request->headers->get('referer');
return $this->redirect($referer);
}
}else{
$user->setCancel(true);
$user->setCreated(new \DateTime());
$doctrine->getManager()->flush();
if ($request->isXmlHttpRequest()){
return new JsonResponse(['status'=>'success', 'email'=>$email]);
}else{
$this->addFlash('modal', 'subscriberSuccess');
$referer = $request->headers->get('referer');
return $this->redirect($referer);
}
}
}else{
$user = new Subscribtion();
$user->setEmail($email);
$doctrine->getManager()->persist($user);
$doctrine->getManager()->flush();
if ($request->isXmlHttpRequest()){
return new JsonResponse(['status'=>'success', 'email'=>$email]);
}else{
$this->addFlash('modal', 'subscriberSuccess');
$referer = $request->headers->get('referer');
return $this->redirect($referer);
}
}
}
#[Route('/presentation/send', name: 'send_presentation', options: ['expose' => true] )]
public function sendPresentation(
ManagerRegistry $doctrine,
Request $request,
\Swift_Mailer $mailer,
UploaderHelper $helper,
ValidatorInterface $validator,
): Response
{
$presentationSendUserData = new PresentationSendUserData(
trim($request->request->get('phone')),
trim($request->request->get('email')),
);
$errors = $validator->validate($presentationSendUserData);
$url = $request->headers->get('referer');
if (count($errors) > 0) {
$this->addFlash('modal', 'emailError');
return $this->redirect($url ?? '/');
}
if ($request->query->get('type') == 'jukovskii'){
$park = $doctrine->getRepository(Project::class)->find(3);
}else{
$park = $doctrine->getRepository(Project::class)->find(1);
}
$mailhtml = $this->renderView('mail/present.html.twig', [
'email'=>$presentationSendUserData->getEmail(),
'phone'=> $presentationSendUserData->getPhone(),
'url' => $url
]);
$message = (new \Swift_Message('Пользователь скачал презентацию'))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['marketing@mosregco.ru'])
->setBody(
$mailhtml
,
'text/html'
);
// $logger = new \Swift_Plugins_Loggers_EchoLogger();
// $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
$result = CRest::call(
'crm.lead.add',
['FIELDS' => [
'TITLE' => 'Скачивание презентации'.($request->query->get('type') == 'jukovskii' ? ' Жуковский' : ''),
'EMAIL' => ['0' => ['VALUE' => $request->request->get('email'), 'VALUE_TYPE' => 'WORK', ], ],
'PHONE' => ['0' => ['VALUE' => $request->request->get('phone'), 'VALUE_TYPE' => 'WORK', ], ],
'SOURCE_ID' => 'SITE',
'COMMENTS' => '',
],
]
);
$mailer->send($message);
$this->addFlash('modal', 'emailSuccess');
if ($request->query->get('type') == 'jukovskii'){
return $this->redirect( 'https://mosregco.ru' . $helper->asset($park,'presentationFile') );
}else{
return new Response( $helper->asset($park,'presentationFile') );
}
}
#[Route('/p/{slug}', name: 'app_index_page')]
public function page(EntityManagerInterface $manager, $slug){
$page = $manager->getRepository(Page::class)->findOneBy(['slug'=>$slug, 'enabled'=>true]);
return $this->render('new/index/page.html.twig', ['page'=>$page]);
// 55.803479, 37.390514
}
#[Route('/sitemap.xml', defaults:['_format'=>'xml'])]
public function xml(EntityManagerInterface $manager){
$localprojects = $manager->getRepository(LocalProject::class)->findBy(['enabled'=>true]);
$publications = $manager->getRepository(Publication::class)->findBy(['enabled'=>true],['id'=>'DESC']);
return $this->render('new/xml.xml.twig', ['localprojects'=>$localprojects, 'publications' => $publications]);
// 55.803479, 37.390514
}
private function zeml($post)
{
if (in_array('Участок',$post) && in_array('Помещение',$post)){
return 1788;
}elseif(in_array('Участок',$post)){
return 1786;
}elseif(in_array('Помещение',$post)){
return 1787;
}
return null;
}
#[Route('/testtesttest')]
public function testest1c(\Swift_Mailer $mailer){
$message = (new \Swift_Message('тест тест 2024'))
->setFrom('marketing@mosregco.ru', 'marketing@mosregco.ru')
->setTo(['bhd.m@ya.ru'])
->setBody(
'<div>TEST</div>'
,
'text/html'
);
$result = $mailer->send($message);
dump($result);
return $this->render('new/index/null.html.twig');
}
}