<?php
namespace Troika\RealEstateBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class FeedController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
{
private function model($name)
{
return $this
->container
->get($name . '.model');
}
public function cianAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cianComAction()
{
$lots = $this->model('lot')->getLotsForFeedCianCom();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_com.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function cianNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_new.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cianNewComAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render('TroikaRealEstateBundle:Feed:cian_new_com.xml.twig', ['lots' => $lots]);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function cianNewRentAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_rent_new.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cianRentAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_rent.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cianSubAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_sub.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cianSubNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_sub_new.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function cottageAction()
{
die;
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cottage.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kavadroomNewCityAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(1);
$response = $this->render(
'TroikaRealEstateBundle:Feed:kavadroom_new_city.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 2 => 'zagorodnaya_nedvizhimost', 3 => 'commercial_nedvigimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomArendaNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvdrm_new_arenda.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomCityAction()
{
$lots = $this->model('lot')->getLotsForFeedKvadroom();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvadroom_city.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function kvadroomCityNewAction()
{
$lots = $this->model('lot')->getLotsForFeed();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvdrm_new.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomComAction()
{
$lots = $this->model('lot')->getLotsForFeedKvadroomCom();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvadroom_commercial.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomComNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvdrm_new_com.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvdrm_new.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function kvadroomSubAction()
{
$lots = $this->model('lot')->getLotsForFeedKvadroomSub();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvadroom_suburban.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function kvadroomSubNewAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:kvdrm_new_sub.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function mailAction()
{
$lots = $this->model('lot')->getLotsForFeed();
$response = $this->render(
'TroikaRealEstateBundle:Feed:mail.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function mpCianAction()
{
$lots = [
['id' => 215, 'section' => 1, 'floor' => 8, 'space' => '56,53', 'rooms' => 1, 'coast' => '11 590 911,20', 'fc' => 28],
['id' => 224, 'section' => 1, 'floor' => 9, 'rooms' => 3, 'space' => '74,10', 'coast' => '15 193 464,00', 'fc' => 28],
['id' => 233, 'section' => 1, 'floor' => 9, 'rooms' => 1, 'space' => '61,48', 'coast' => '12 768 166,40', 'fc' => 28],
['id' => 241, 'section' => 1, 'floor' => 9, 'rooms' => 1, 'space' => '52,70', 'coast' => '10 898 360,00', 'fc' => 28],
['id' => 286, 'section' => 1, 'floor' => 11, 'rooms' => 3, 'space' => '87,09', 'coast' => '17 703 655,20', 'fc' => 28],
['id' => 287, 'section' => 1, 'floor' => 11, 'rooms' => 0, 'space' => '30,94', 'coast' => '6 697 891,20', 'fc' => 28],
['id' => 288, 'section' => 1, 'floor' => 11, 'rooms' => 0, 'space' => '33,00', 'coast' => '7 143 840,00', 'fc' => 28],
['id' => 307, 'section' => 1, 'floor' => 12, 'rooms' => 2, 'space' => '58,24', 'coast' => '12 300 288,00', 'fc' => 28],
['id' => 362, 'section' => 1, 'floor' => 14, 'rooms' => 2, 'space' => '60,14', 'coast' => '12 489 875,20', 'fc' => 28],
['id' => 375, 'section' => 1, 'floor' => 15, 'rooms' => 3, 'space' => '83,70', 'coast' => '17 382 816,00', 'fc' => 28],
['id' => 379, 'section' => 1, 'floor' => 15, 'rooms' => 3, 'space' => '106,67', 'coast' => '21 871 616,80', 'fc' => 28],
['id' => 424, 'section' => 1, 'floor' => 18, 'rooms' => 3, 'space' => '44,82', 'coast' => '9 899 841,60', 'fc' => 28],
['id' => 481, 'section' => 1, 'floor' => 21, 'rooms' => 0, 'space' => '32,53', 'coast' => '7 414 237,60', 'fc' => 28],
['id' => 483, 'section' => 1, 'floor' => 21, 'rooms' => 3, 'space' => '81,47', 'coast' => '17 493 238,40', 'fc' => 28],
];
$response = $this->render(
'TroikaRealEstateBundle:Feed:mp.cian.xml.twig',
['lots' => $lots]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function mpYandexAction()
{
$lots = [
['id' => 215, 'section' => 1, 'floor' => 8, 'space' => '56,53', 'rooms' => 1, 'coast' => '11 590 911,20', 'fc' => 28],
['id' => 224, 'section' => 1, 'floor' => 9, 'rooms' => 3, 'space' => '74,10', 'coast' => '15 193 464,00', 'fc' => 28],
['id' => 233, 'section' => 1, 'floor' => 9, 'rooms' => 1, 'space' => '61,48', 'coast' => '12 768 166,40', 'fc' => 28],
['id' => 241, 'section' => 1, 'floor' => 9, 'rooms' => 1, 'space' => '52,70', 'coast' => '10 898 360,00', 'fc' => 28],
['id' => 286, 'section' => 1, 'floor' => 11, 'rooms' => 3, 'space' => '87,09', 'coast' => '17 703 655,20', 'fc' => 28],
['id' => 287, 'section' => 1, 'floor' => 11, 'rooms' => 0, 'space' => '30,94', 'coast' => '6 697 891,20', 'fc' => 28],
['id' => 288, 'section' => 1, 'floor' => 11, 'rooms' => 0, 'space' => '33,00', 'coast' => '7 143 840,00', 'fc' => 28],
['id' => 307, 'section' => 1, 'floor' => 12, 'rooms' => 2, 'space' => '58,24', 'coast' => '12 300 288,00', 'fc' => 28],
['id' => 362, 'section' => 1, 'floor' => 14, 'rooms' => 2, 'space' => '60,14', 'coast' => '12 489 875,20', 'fc' => 28],
['id' => 375, 'section' => 1, 'floor' => 15, 'rooms' => 3, 'space' => '83,70', 'coast' => '17 382 816,00', 'fc' => 28],
['id' => 379, 'section' => 1, 'floor' => 15, 'rooms' => 3, 'space' => '106,67', 'coast' => '21 871 616,80', 'fc' => 28],
['id' => 424, 'section' => 1, 'floor' => 18, 'rooms' => 3, 'space' => '44,82', 'coast' => '9 899 841,60', 'fc' => 28],
['id' => 481, 'section' => 1, 'floor' => 21, 'rooms' => 0, 'space' => '32,53', 'coast' => '7 414 237,60', 'fc' => 28],
['id' => 483, 'section' => 1, 'floor' => 21, 'rooms' => 3, 'space' => '81,47', 'coast' => '17 493 238,40', 'fc' => 28],
];
$response = $this->render(
'TroikaRealEstateBundle:Feed:mp.yandex.xml.twig',
['lots' => $lots]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function partnersCityAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_partners.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function partnersComAction()
{
$lots = $this->model('lot')->getLotsForFeedCianCom();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_com_partners.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function partnersForeignAction()
{
$lots = $this->model('lot')->getForPartner(4);
$response = $this
->render(
'TroikaRealEstateBundle:Feed:partner.xml.twig',
['lots' => $lots]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function partnersSuburbanAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render(
'TroikaRealEstateBundle:Feed:cian_sub_partners.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
#$response->setCharset('windows-1251');
return $response;
}
public function rbc100Action()
{
}
public function rbcAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(1);
foreach ($lots as $key => $lot) {
if (stripos($lot->getFloor(), "-")) {
$lot->setFloor(substr($lot->getFloor(), 0, stripos($lot->getFloor(), "-")));
}
if ($lot->getFloor() == 0) {
$lot->setFloor(1);
}
}
$response = $this->render(
'TroikaRealEstateBundle:Feed:rbc.xml.twig',
[
'test' => 'test',
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function rbcClearAction()
{
$lots = $this->model('lot')->getLotsForFeedRbcTest(1);
$lotsWithException = [];
$exceptionArray = [763, 1283, 1842, 1843, 1845, 1354, 726, 1334, 1480, 1691, 679, 779, 780, 1561, 1603, 1702, 1703];
foreach ($lots as $lot) {
if (!in_array($lot->getId(), $exceptionArray, true)) {
$lotsWithException[] = $lot;
}
}
$response = $this->render(
'TroikaRealEstateBundle:Feed:rbc.xml.twig',
[
'lots' => $lotsWithException,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function rbcCommercialAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(3);
$response = $this->render(
'TroikaRealEstateBundle:Feed:rbc_commercial.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function rbcForeignAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(4);
$response = $this->render(
'TroikaRealEstateBundle:Feed:rbc_counrty.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost', 4 => 'zarubeznaya_nedvigimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function rbcSuburbanAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(2);
$response = $this->render(
'TroikaRealEstateBundle:Feed:rbc_suburban.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
$response->setContent(
preg_replace('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $response->getContent())
);
return $response;
// return new Response();
}
public function yandexAction()
{
$lots = $this->model('lot')->getLotsForFeed();
$response = $this->render(
'TroikaRealEstateBundle:Feed:yandex.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 2 => 'zagorodnaya_nedvizhimost', 3 => 'commercial_nedvigimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function yandexForeignAction()
{
$lots = $this->model('lot')->getLotsForFeedForeign();
$response = $this->render(
'TroikaRealEstateBundle:Feed:yandex_country.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 3 => 'commercial_esate', 2 => 'zagorodnaya_nedvizhimost', 4 => 'zarubeznaya_nedvigimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function yandexKvAction()
{
$lots = $this->model('lot')->getLotsForFeedRbc(1);
$response = $this->render(
'TroikaRealEstateBundle:Feed:yandex_kv.xml.twig',
[
'lots' => $lots,
'urls' => [1 => 'elit_kvartiry', 2 => 'zagorodnaya_nedvizhimost', 3 => 'commercial_nedvigimost'],
]
);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function yandexNewCityBuyAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render('TroikaRealEstateBundle:Feed:yandex_new_city_buy.xml.twig', ['lots' => $lots]);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function yandexNewComBuyAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render('TroikaRealEstateBundle:Feed:yandex_new_com_buy.xml.twig', ['lots' => $lots]);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
public function yandexNewSuburbanBuyAction()
{
$lots = $this->model('lot')->getLotsForFeedCian();
$response = $this->render('TroikaRealEstateBundle:Feed:yandex_new_suburban_buy.xml.twig', ['lots' => $lots]);
$response->headers->set('Content-Type', 'text/xml');
return $response;
}
}