Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
EditRealtyForm.php
Содержимое
<?php namespace app\realty\forms; use app\core\models\Expression; use app\core\models\Form; use app\realty\Realty; use app\realty\RealtyArea; use app\realty\RealtyHomeTypes; use app\realty\RealtyPeriod; use app\realty\RealtyPhoto; use app\realty\RealtyTransactionTypes; use app\realty\RealtyTypePrice; use app\realty\RealtyTypes; use App; class EditRealtyForm extends Form { public $title; public $region_id; public $street; public $home; public $price; public $price_type; public $transaction_type; public $object_type_id; public $room_count; public $floor; public $floor_all; public $home_type_id; public $square; public $square_all; public $description; public $person; public $phone; public $email; public $period_id; public $delete_photo = []; public $photo_src = []; public $id; public $lat; public $lng; public $pd_consent; /** * Функция требует необходимые поля РІ зависимости РѕС‚ типа объекта */ public function rules() { $rules = [ [ 'pd_consent', 'callable', 'callback' => function ($value) { return $value === '1' || $value === 1; }, 'message' => 'Необходимо согласие РЅР° обработку персональных данных' ], ['title', 'required', 'message' => 'Укажите заголовок объявления'], ['region_id', 'required', 'message' => 'Укажите населенный РїСѓРЅРєС‚'], [ 'region_id', 'callable', 'callback' => function($value) { return RealtyArea::isExist($value); } ], ['street', 'required', 'message' => 'Укажите улицу'], ['home', 'required', 'message' => 'Укажите номер РґРѕРјР°'], ['price', 'required', 'message' => 'Укажите цену'], ['price_type', 'required', 'message' => 'Укажите тип цены'], [ 'price_type', 'callable', 'callback' => function($value) { return RealtyTypePrice::isExist($value); } ], ['transaction_type', 'required', 'message' => 'Укажите тип сделки'], [ 'transaction_type', 'callable', 'callback' => function($value) { return RealtyTransactionTypes::isExist($value); }, 'message' => 'РўРёРї выбранной сделки РЅРµ найден' ], ['object_type_id', 'required', 'message' => 'Укажите тип РґРѕРјР°'], [ 'object_type_id', 'callable', 'callback' => function($value) { return RealtyTypes::isExist($value); }, 'message' => 'Указанный тип РґРѕРјР° РЅРµ найден' ], ['id', 'integer'], ['description', 'string'], ['person', 'required', 'message' => 'Укажите контактное лицо'], ['phone', 'required', 'message' => 'Укажите ваш телефон'], ['email', 'email', 'message' => 'Укажите правильный Email адрес'], ['period_id', 'required', 'message' => 'Укажите период размещения записи'], [ 'period_id', 'callable', 'callback' => function($value) { return (new RealtyPeriod())->isExist($value); } ], ['keystring', 'required', 'message' => 'Введите символы СЃ картинки'], ['keystring', 'kcaptcha', 'message' => 'Неверный проверочный РєРѕРґ СЃ картинки'] ]; // новая или вторичная квартира. if ($this->object_type_id == RealtyHomeTypes::HOME_TYPE_NEW_KV || $this->object_type_id == RealtyHomeTypes::HOME_TYPE_VTORICH) { $rules[] = ['home_type_id', 'integer']; $rules[] = ['room_count', 'required', 'message' => 'Укажите количество комнат']; $rules[] = ['floor', 'required', 'message' => 'Укажите этаж']; $rules[] = ['floor', 'integer', 'message' => 'Ртаж должен быть числом']; $rules[] = ['floor_all', 'required', 'message' => 'Укажите этажность РґРѕРјР°']; $rules[] = ['floor_all', 'integer', 'message' => 'Ртажность РґРѕРјР° должна быть числом']; $rules[] = ['square', 'required', 'message' => 'Укажите площадь объекта']; } return $rules; } public function save() { if ($this->id != null && $this->id > 0) { if (Realty::allowEditable($this->id) == false) { $this->addError('name', 'Вам запрещено редактировать это объявление'); return false; } } // удаляем фотографии, которые помечены РЅР° удаление. if (count($this->delete_photo) > 0 && $this->id > 0) { foreach ($this->delete_photo as $photoId) { if (RealtyPhoto::getRealtyIdByPhoto($photoId) == $this->id) { RealtyPhoto::deletePhoto($photoId); } } } if ($this->id != null && $this->id > 0) { $model = \app\realty\activerecord\Realty::findOne($this->id); } else { $model = new \app\realty\activerecord\Realty(); } if ($this->id == null) { $model->data = new Expression('NOW()'); $model->data_end = new Expression("DATE_ADD(NOW() , INTERVAL ".(int)(new RealtyPeriod())->getPeriodDay($this->period_id)." DAY)"); } $model->user_id = (int)App::$user->getId(); $model->title = htmlspecialchars($this->title); $model->person = htmlspecialchars($this->person); $model->phone = htmlspecialchars($this->phone); $model->email = htmlspecialchars($this->email); $model->region_id = (int)$this->region_id; $model->street = htmlspecialchars($this->street); $model->home= htmlspecialchars($this->home); $model->price = $this->price; $model->price_type = $this->price_type; $model->object_type_id = $this->object_type_id; $model->deal_type_id = $this->transaction_type; $model->description = htmlspecialchars($this->description); $model->status = 3; $model->period_id = (int)$this->period_id; $model->vendor = 'infoorel'; $model->top = 0; $model->ip_user = App::$request->getIp(); $model->ip_proxy = App::$request->getIpFromProxy(); $model->lat = $this->lat; $model->lng = $this->lng; if ($this->object_type_id == RealtyHomeTypes::HOME_TYPE_NEW_KV || $this->object_type_id == RealtyHomeTypes::HOME_TYPE_VTORICH) { $model->home_type_id = (int)$this->home_type_id; $model->room_count = (int)$this->room_count; $model->floor = (int)$this->floor; $model->floor_all = (int)$this->floor_all; $model->square = $this->square; } if ($this->object_type_id == RealtyHomeTypes::HOME_TYPE_ZEMEL_UCH || $this->object_type_id == RealtyHomeTypes::HOME_TYPE_GARAGE || $this->object_type_id == RealtyHomeTypes::HOME_TYPE_DOM) { $model->square_all = $this->square_all; $model->square = $this->square; $model->home_type_id = (int)$this->home_type_id; } if ($model->save()) { // после сохранения связываем загруженные фотографии СЃ нашим объявлением. foreach ($this->photo_src as $photo) { RealtyPhoto::addPhoto($model->id, $photo); } return true; } else { $this->addError('title', 'РќРµ удалось сохранить данные. Попробуйте РїРѕР·Р¶Рµ'); return false; } } }
/app/realty/forms/
Имя
Дата
Размер
..
2017-01-10
AddMessageForm.php
2017-01-10
958 байт
AddRealty.php
2026-05-25
10 кб.
AddRealty.php~
2017-01-17
9 кб.
AddRealtyForm.php
2026-05-25
6 кб.
AddRealtyForm.php~
2016-12-12
6 кб.
EditRealtyForm.php
2026-05-25
9 кб.
EditRealtyForm.php~
2017-03-15
8 кб.
/app/realty/forms
Загрузить файлы
Файл 1
Файл 2
Файл 3