IGOR

Приложение выгрузки объявлений в AFY.ru

Recommended Posts

В том и секрет, что движок ни слухом, ни нюхом о том является ли поле основным или нет. Он внаглую берет знакомое поле и использует его. Всю выпадающую логику из этого алгоритма нужно реализовывать программно. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может тогда проще создать новый справочник и добавить микрорайоны в него, а существующий справочник Районы переделать под округа, т.к. этого требуют некоторые сайты.

 

Просто на сайте сейчас 776 объектов, которые необходимо редактировать.

 

В этой ситуации что проще, программно или ручками?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Спасибо службе поддержки, все настроили.

 

Теперь вопрос следующий.

 

В выгрузке Afy колонка, отвечающая за район <raion></raion> у меня уже занята списками микрорайонов, некоторые сайты не принимают эти списки. Они распознают только названия округов.

 

Какую колонку нужно добавить в таблицу data, чтобы не удалять списки микрорайонов и при этом появилась еще одна запись в выгрузке <raion></raion>, ну и при этом данные округов и микрорайонов не перемешались.

 

Вот так:

 

<country>Россия</country>

<oblast>Краснодарский край</oblast>
<raion>Центральный</raion>
<raion>ШМР</raion>
<city>Краснодар</city>
<street>Черниговская</street>
<house>1</house>

 

Не понимаю, зачем вам 2 типа районов, у вас-же не Москва, с округами, районами, микрорайонами и объектами, привязанными к какому-нибудь километру МКАДа или ж/д станции.

 

В вашем случае в выгрузку логично будет оставить страна - область - район - город (населенный пункт) - улица - дом.

Второй район наверное есть смысл в базе обозвать как raion2 и использовать его только внутри вашего сайта, не включая его в выгрузку, т.к. в выгрузке 99% порталов его все равно не поймут. Есть-ли в этом поле вообще смысл?

Округа, как правило, в выгрузке тоже не нужны или если и принимаются, то в качестве альтернативы, если не указывается область. Это не обязательный параметр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему я вообще начал об этом думать. При выгрузке в Afy и последующей выгрузки на Квадрум в результатах указывалась ошибка: Экспорт на Kvadroom.ru невозможен. Заполните поля: Местоположение – не указан район города.

 

В самой выгрузке поле <raion></raion> заполнено. Написал в поддержку sitebill, ответ был, что списки Квадрума не соответствуют моим (прим.). Я сделал вывод, что вместо микрорайонов, нужно указывать названия округов. Т.к. на сайте Квадрум при подаче объявления после города нужно выбрать либо округ, либо второй раз кликнуть Краснодар, микрорайонов там нет вообще.

 

Все бы ничего, но у меня объявлений на сайте около 800 шт. и при замене микрорайонов на округа нужно их все редактировать вручную. Поэтому и пришла мысль, что если сделать так, чтобы появилось новое поле, которое возьмет на себя выгрузку в <raion></raion>, а старое поле станет второстепенным и останется за микрорайонами.

 

Пусть в в выгрузку попадает одно, но новое с Округами. Это возможно без ручного редактирования 800 объявлений?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В афи-модуле есть у нас вот такое условие

    	$ret.='<raion>';    	if (isset($d['mkrn_id']) && $d['mkrn_id']['value_string']!='') {    		$ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id']['value_string']));    	} elseif (isset($d['district_id']) && $d['district_id']['value_string']!='') {    		$ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id']['value_string']));    	}    	$ret .= '</raion>';

Т.е. вы можете сделать поле - справочник mkrn_id.

И я вам тогда написал, что надо вам выяснить у квадрума, как правильно назвать район.

Может быть вопрос решиться просто - если вы поменяете название района на нужный и не надо править 800 объявлений, достаточно штук 10 районов правильно прописать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пусть в в выгрузку попадает одно, но новое с Округами. Это возможно без ручного редактирования 800 объявлений?

У вас-же в таблице data должно быть поле district_id, оно и отвечает за район города (микрорайон)... зачем добавлять еще что-то?

После того, как заполните районы города, если у вас есть платный модуль выгрузки Excell, просто скачайте свою базу объектов, в том-же Экселе добавьте в базу свои значения микрорайонов или указание на Краснодар и загрузите её обратно... дел на 5 сек.

Если платного модуля нет, можно ту-же процедуру произвести в phpMyAdmin с таблицей re_data - экспорт - правка - импорт обратно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В афи-модуле есть у нас вот такое условие

    	$ret.='<raion>';    	if (isset($d['mkrn_id']) && $d['mkrn_id']['value_string']!='') {    		$ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id']['value_string']));    	} elseif (isset($d['district_id']) && $d['district_id']['value_string']!='') {    		$ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id']['value_string']));    	}    	$ret .= '</raion>';

Т.е. вы можете сделать поле - справочник mkrn_id.

И я вам тогда написал, что надо вам выяснить у квадрума, как правильно назвать район.

Может быть вопрос решиться просто - если вы поменяете название района на нужный и не надо править 800 объявлений, достаточно штук 10 районов правильно прописать.

Скажите, поле и справочник это одно и тоже или два разных процесса? У Вас написано через тире поле - справочник mkrn_id

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одно и тоже. Имеется в виду некоторое поле со справочными значениями и вариантами значений (обычно это select_by_query). Типа как встроенный район или город.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Константин, проясни пожалуйста, у вас в модуле выгрузки AFY параметр <raion> обозначает район в регионе или район (микрорайон) в городе?
 
Дмитрий выше указал:
 

В афи-модуле есть у нас вот такое условие

    $ret.='<raion>';
    if (isset($d['mkrn_id']) && $d['mkrn_id']['value_string']!='') {
        $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id']['value_string']));
    } elseif (isset($d['district_id']) && $d['district_id']['value_string']!='') {
        $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id']['value_string']));
    }
    $ret .= '</raion>';

Т.е. вы можете сделать поле - справочник mkrn_id.

 
Как я понимаю, в позицию выгрузки <raion> у вас загоняются значения mkrn или district ...
 
На самом деле, вот позиции из моего файла выгрузки для AFY, которые проверены AFY, работают не один год в другом сервисе и в позиции raion должен стоять район области (региона), как например здесь:
 
<location>
<country>Россия</country>
<oblast>Московская область</oblast>
<raion>Раменский район</raion>
<city>Рылеево</city>
<way>Новорязанское</way>
<street>ул Шоссейная</street>
<latitude>55.343981743380006</latitude>
<longitude>38.10012269789939</longitude>
</location>
 
а в позициях district и district_sup указываются округа Москвы, районы и микрорайоны города, как например здесь:
 
<location>
<country>Россия</country>
<oblast>Москва</oblast>
<city>Москва</city>
<district>ЮВАО</district>
<district_sup>Южнопортовый</district_sup>
<get_time_metro>5</get_time_metro>
<street>Шарикоподшипниковская</street>
<house>1</house>
<latitude>55.72298866045753</latitude>
<longitude>37.665552253967235</longitude>
</location>
 
Пока на своем сайте проверить не могу, после переустановки CMS модуль выгрузки почему-то не работает, к этому вернусь позже...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Пока на своем сайте проверить не могу, после переустановки CMS модуль выгрузки почему-то не работает, к этому вернусь позже...

 

Для того чтобы определить почему не выгружаются объявления, можно посмотреть файл лога. Находится он по адресу 

http://ваш_сайт/apps/afyexporter/logs/export_logs.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Для того чтобы определить почему не выгружаются объявления, можно посмотреть файл лога. Находится он по адресу 

http://ваш_сайт/apps/afyexporter/logs/export_logs.txt

Прикол в том, что в этом файле 12 пустых строк :) то есть он абсолютно пустой...

 

В самом файле выгрузки это:

 

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<objects></objects>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Прикол в том, что в этом файле 12 пустых строк :) то есть он абсолютно пустой...

 

В самом файле выгрузки это: <objects></objects>

 

 

Думаю, что в БД нет ни одного активного объявления с отмеченной галочкой export_afy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как я понимаю, в позицию выгрузки <raion> у вас загоняются значения mkrn или district ...

 
На самом деле, вот позиции из моего файла выгрузки для AFY, которые проверены AFY, работают не один год в другом сервисе и в позиции raion должен стоять район области (региона), как например здесь:
 

 

Вот я уже сам понимаю, что что-то тут не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаю, что в БД нет ни одного активного объявления с отмеченной галочкой export_afy

Константин, у меня нет такой галочки в объявлениях. Что-то с модулем выгрузки изначально было не то... Есть "Публиковать на сайте", есть "Спецразмещение" а про выгрузку в AFY ничего... Само приложение активировано, в настройках для AFY тоже нет никаких галочек, хотя в описании к модулю есть упоминание про чекбокс...

Попробую переустановить...

 

Не помогло!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Константин, у меня нет такой галочки в объявлениях. Что-то с модулем выгрузки изначально было не то... Есть "Публиковать на сайте", есть "Спецразмещение" а про выгрузку в AFY ничего... Само приложение активировано, в настройках для AFY тоже нет никаких галочек, хотя в описании к модулю есть упоминание про чекбокс...

Попробую переустановить...

 

Не помогло!

Галочку надо руками добавить.

Называется export_afy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня нет такой галочки в объявлениях

 

Из всех приложения выгрузки только выгрузка на яндекс выгружает по принципу активности - т.е. все активные. Все остальные приложения работают по схеме - выгрузка по отметке - добавляется некоторое обусловленное поле-признак, которое будет символизировать выгружаемое объявления. Эти поля описаны в инструкциях к приложениям и не добавляются в момент инсталляции.

 

Просто добавьте в модель data checkbox с системным именем export_afy и Значением по умолчанию - 0. После этого отметьте требуемые объявления и гоу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Звиняюсь, сам ступил... раньше настраивал и всё работало, а в этот раз не удосужился прописать export_afy... 

Сейчас выгрузка работает, лог генерится...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ребяты, заглянул в файл admin.php, который находится в составе модуля выгрузки для AFY и что-то меня посетили смутные сомнения относительно правильности кода, в части выгрузки районов:

 

protected function exLocation($d, $associated_id){
    $hasError=false;
    $logs=array();
    $ret='';
    $ret.='<location>';
    if(isset($d['country_id']) && $d['country_id']['value_string']!=''){
    $ret.='<country>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['country_id']['value_string'])).'</country>';
    }elseif($this->getConfigValue('apps.afyexporter.default_country')!=''){
    $ret.='<country>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_country')).'</country>';
    }else{
    $hasError=true;
    $this->exportLog[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown country.';
    }
    if(isset($d['region_id']) && $d['region_id']['value_string']!=''){
    $ret.='<oblast>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['region_id']['value_string'])).'</oblast>';
    }elseif($this->getConfigValue('apps.afyexporter.default_region')!=''){
    $ret.='<oblast>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_region')).'</oblast>';
    }else{
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown region.';
    }
    $ret.='<raion>';
    if (isset($d['mkrn_id]) && $d['mkrn_id]['value_string']!='') {
    $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id]['value_string']));
    } elseif (isset($d['district_id]) && $d['district_id]['value_string']!='') {
    $ret.= SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id]['value_string']));
    }
    $ret .= '</raion>';
    if(isset($d['city_id']) && $d['city_id']['value_string']!=''){
    $ret.='<city>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['city_id']['value_string'])).'</city>';
    }else{
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown city.';
    }
    if(isset($d['street_id']) && $d['street_id']['value_string']!=''){
    $ret.='<street>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['street_id']['value_string'])).'</street>';
    }else{
    if(in_array($associated_id, array(175, 187, 208, 213, 189, 190, 234))){
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Street not setted.';
    }else{
    $ret.='<street></street>';
    }
    }
    if(isset($d['number']) && $d['number']['value_string']!=''){
    $ret.='<house>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['number']['value_string'])).'</house>';
    }else{
    if(in_array($associated_id, array(175, 189, 216, 187))){
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. House number not setted.';
    }else{
    $ret.='<house></house>';
    }
    }
    $ret.='</location>';
    return array('hasError'=>$hasError, 'xml'=>$ret, 'log'=>$logs);
    }
 
Похоже, что здесь свалили в кучу разные по смыслу параметры. В частности <raion>...</raion> отвечает за выгрузку параметра Район в регионах, у меня например raion_id, а сюда засунули районы и микрорайоны города...
 
Понятное дело, что районы и микрорайоны должны быть прописаны отдельными позициями. Вот требования к файлу выгрузки:
 

<location> - Родительский элемент для описания адреса

<country>Дочерний элемент тега location. Страна

                  <country>Россия</country>

<oblast> -   Дочерний элемент тега location. Область (Московская область)

                  Для Москвы - <oblast>Москва</oblast>

                  Для Санкт-Петербурга  <oblast>Санкт-Петербург</oblast>

<raion> -    Дочерний элемент тега location. Район (Ногинский район)

<city> -       Дочерний элемент тега location. Населенный пункт (Ногинск)

<district> -  Дочерний элемент тега location. Округ/Район города (Округ для Москвы)

                  Округ для Москвы следует указывать в сокращенной форме, пример: "ЦАО"

                  Район для Санкт-Петербурга пример: "Адмиралтейский"

<district_sup>Дочерний элемент тега location. Район города (Только для Москвы) Арбат

<way> -    Дочерний элемент тега location. Шоссе

<from_mkad>Дочерний элемент тега location. Расстояние от МКАД в км.

<metro>Дочерний элемент тега location. Метро

<get_time_metro>Дочерний элемент тега location. Время до метро в минутах

<get_metro>Дочерний элемент тега location. Пешком или на транспорте Возможные значения:

«t» – транспортом

«f» – пешком

<street>Дочерний элемент тега location. Название улицы.

<house> Дочерний элемент тега location. Номер дома.

<latitude>Дочерний элемент тега location. Географические координаты объекта (широта)

<longitude> Дочерний элемент тега location. Географические координаты объекта (долгота)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже, что в этом месте должно быть что-то типа:

 

 if(isset($d['raion_id']) && $d['raion_id']['value_string']!=''){
    $ret.='<raion>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['raion_id']['value_string'])).'</raion>';
    }elseif($this->getConfigValue('apps.afyexporter.default_raion')!=''){
    $ret.='<raion>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_raion')).'</raion>';
    }else{
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown raion.';
    }
 
а после <city>...</city>
 
 if(isset($d['district_id']) && $d['district_id']['value_string']!=''){
    $ret.='<district>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['district_id']['value_string'])).'</district>';
    }elseif($this->getConfigValue('apps.afyexporter.default_district')!=''){
    $ret.='<district>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_district')).'</district>';
    }else{
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown district.';
    }
 if(isset($d['mkrn_id_id']) && $d['mkrn_id']['value_string']!=''){
    $ret.='<district_sup>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', self::symbolsClear($d['mkrn_id']['value_string'])).'</district_sup>';
    }elseif($this->getConfigValue('apps.afyexporter.default_mkrn')!=''){
    $ret.='<district_sup>'.SiteBill::iconv(SITE_ENCODING, 'utf-8', $this->getConfigValue('apps.afyexporter.default_mkrn')).'</district_sup>';
    }else{
    $hasError=true;
    $logs[]=date('d-m-Y H:i:s', time()).' '.'ERROR: Record ID '.$d['id']['value'].' cant be exported. Unknown mkrn.';
    }
 
Далее про <street>...
 

Районы региона на месте. Районы города, они-же Округа Москвы - на месте.  Микрорайоны (районы Москвы) идут тоже в рамках параметра выгрузки, но не все города поддерживаются, это надо уточнять у AFY. 

 

Кому надо, могу скинуть описание формата выгрузки для AFY

 

PS: Я не программист, проверьте, может чего накосячил... понаписал следуя логике :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще, хотелось-бы прийти к единому знаменателю в адресных справочниках...

Форматы выгрузки для Яндекса, ИРР, AVITO, AFY, Mail.ru и прочих пишут либо конкретно:

- не надо писать приписки типа область, район, город, улица, проспект и пр.: Московская - Раменский - Раменское - Михалевича, 53;

- либо не конкретизируя, указывать или нет, просто приводя пример: Московская область - Раменский район - Раменское - Михалевича ул., 53,

а вот прокатит-ли без приписок - не понятно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а вот прокатит-ли без приписок - не понятно...

 

Были какие-то форматы выгрузок, где требовалось приписывать "район\область". Так что тут с единым знаменателем наверное не прокатит)

 

 

По вашей афи-адаптации я чуть позже посмотрю. Я как раз готовил обновление под эту выгрузку, в похожем стиле, но с абстрагированным подходом, когда системные имена нужных полей не вписываются в код, а указываются настроечно, и вы сами вольны указать лежит ли у вас район в поле raion_id или oblastnoy_rayon допуская не только тип select_by_query\select_box, но даже и текстовый safe_string.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да у меня тоже была такая идея, почему-бы не создать универсальный формирователь файла выгрузки, где обозначаешь название файла, например afyxml, указываешь нужные разделы и позиции согласно требований к файлу, например location... country, region и т.п., подставляешь в поле значение из базы, например country_id, region_id или значение по умолчанию, например Россия, Санкт-Перербург и рядом чекбокс "по умолчанию" и так далее...

Тут уж каждый волен будет фантазировать и подгонять файл выгрузки под любые критерии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По вашей афи-адаптации я чуть позже посмотрю. 

Там наверное есть смысл в позиции <city>...</city> тоже добавить условие по умолчанию. Многие работаю в рамках одного города и будет удобнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выгрузка ругается на Область 17-10-2016 13:27:19 ERROR: Record ID 16 cant be exported. Unknown Oblast value.

http://joxi.ru/XYmE0kGCoD34r6

Не могу сообразить что не так(((

-------------------------------------------------------------------------

Картина в общем следующая...

По Москве не указываю регион как таковой, Московский, Москва, в объявлении тупо звучит, но афи требует это поле для заполнения и в шаблоне от поля не уйду, есть область и другие регионы...

Кто как решал это вопрос?

<theme>1-комнатная, Московский, , Москва, , Гарибальди ул. 36 -- 12 300 000</theme><description>Срочно продается 1-комнатная квартира по ул. Гарибальди на первом этаже. Квартира находится в залоге. Просмотр в любое время по согласованию с нашим Представителем.Квартира расположена в Юго-Западном административном округе города Москвы на территории Ломоносовского района и района Черёмушки и на их границах с Обручевским районом.Быстрый выход на сделку.</description><price><currency>RUR</currency><value>0</value><unit>total</unit></price><location><country>Россия</country><oblast>Московский</oblast><city>Москва</city><street>Гарибальди ул.</street><house>119</house></location><square><total>50.5</total><living>24.1</living><unit_sq>sq_m</unit_sq></square><parameters><story>1</story><rooms>1</rooms></parameters><export/></object></objects>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У вас 

<country>Россия</country>
<oblast>Московский</oblast>
<city>Москва</city>
<street>Гарибальди ул.</street>

Нет региона/области "Московский", есть Москва и Московская область. Для Москвы указываем область - Москва, т.к. в этом регионе есть и другие населенные пункты, да и нас.пункт Москва - не единственный в России.

Собственно на это и ругается выгрузка, мол неопознанная область. Должно быть примерно так:

<country>Россия</country>
<oblast>Московская область</oblast>
<raion>Раменский район</raion>
<city>Электроизолятор</city>
  или
<country>Россия</country>
<oblast>Москва</oblast>
<city>Троицк</city>
<street>Ленина ул.</street>
<house>8</house>

Если работаете только с объектами в Москве, укажите в настройках область для всех объявлений - Москва, это значение будет автоматически подставляться в выгрузку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас