2082 lines
104 KiB
PHP
2082 lines
104 KiB
PHP
<?php
|
||
|
||
class Docs {
|
||
|
||
public $errors = [];
|
||
|
||
public static $objectsVars = [
|
||
|
||
'sobstv.fio' => "Собственник (Ф.И.О.)",
|
||
'sobstv.email' => "Собственник (Эл. почта)",
|
||
'sobstv.phone' => "Собственник (Телефон)",
|
||
'sobstv.phone2' => "Собственник (Доп. телефон)",
|
||
'sobstv.birthday' => "Собственник (День рождения)",
|
||
'sobstv.type' => "Собственник (Тип клиента)",
|
||
'sobstv.opis' => "Собственник (Описание клиента)",
|
||
'sobstv.date_add' => "Собственник (Дата добавления)",
|
||
'sobstv.budget' => "Собственник (Бюджет)",
|
||
'sobstv.passport' => "Собственник (Серия/номер паспорта)",
|
||
'sobstv.date_of_issue_passport' =>"Собственник (Дата выдачи)",
|
||
'sobstv.passport_issued_by' => "Собственник (Кем выдан)",
|
||
'sobstv.birthplace' => "Собственник (Место рождения)",
|
||
'sobstv.registration_address' => "Собственник (Адрес регистрации)",
|
||
'sobstv.post_address' => "Собственник (Почтовый адрес)",
|
||
'sobstv.persone_snils' => "Собственник (СНИЛС)",
|
||
'sobstv.persone_nationality' =>"Собственник (Гражданство)",
|
||
'sobstv.persone_gender' => "Собственник (Пол)",
|
||
'sobstv.persone_full_name' => "Собственник (Полное наименование)",
|
||
'sobstv.persone_short_name' => "Собственник (Сокращённое наименование)",
|
||
'sobstv.persone_ogrn' => "Собственник (ОГРН/ОГРНИП)",
|
||
'sobstv.persone_inn' => "Собственник (ИНН)",
|
||
'sobstv.persone_kpp' => "Собственник (КПП)",
|
||
'sobstv.persone_legal_address' => "Собственник (Юридический адрес)",
|
||
'sobstv.persone_fact_address' => "Собственник (Фактический адрес)",
|
||
'sobstv.persone_name_bank' => "Собственник (Наименование банка)",
|
||
'sobstv.persone_info_bank' => "Собственник (Информация о банке)",
|
||
'sobstv.persone_bik_bank' => "Собственник (БИК банка)",
|
||
'sobstv.persone_rs_bank' => "Собственник (Расчётный счет)",
|
||
'sobstv.persone_kors_bank' => "Собственник (Корреспондентский счёт)",
|
||
'sobstv.persone_fio_rukovod' => "Собственник (ФИО руководителя)",
|
||
'sobstv.persone_powers' => "Собственник (Основание полномочий)",
|
||
'sobstv.persone_kod_podrazdelenia' => "Собственник (Код подразделения)",
|
||
|
||
'deal_type' => "Тип сделки",
|
||
'operation_type' => "Тип операции",
|
||
'type' => "Тип объекта",
|
||
'srok' => "Срок аренды",
|
||
//'nazv' => "Заголовок объявления",
|
||
//'opis' => "Описание из объявления",
|
||
//'video_url' => "Ссылка на видео",
|
||
'komnat' => "Комнат в квартире",
|
||
//'studio_flag' => "Квартира-студия?", // boolean
|
||
'part' => "Доля",
|
||
'ploshad' => "Общая площадь",
|
||
'ploshad_k' => "Площадь кухни",
|
||
'ploshad_komn' => "Сумма площади комнат",
|
||
'land_area' => "Площадь участка, сот.",
|
||
'address' => "Адрес объекта",
|
||
'rf_region_rayon' => "Район региона",
|
||
'city' => "Населенный пункт",
|
||
'rayon' => "Район города",
|
||
'street' => "Улица",
|
||
'dom' => "№ дома",
|
||
'flat_number' => "№ квартиры",
|
||
'korpus' => "Корпус",
|
||
'litera' => "Литера",
|
||
//'latitude' => "Широта",
|
||
//'longitude' => "Долгота",
|
||
'etazh' => "Этаж",
|
||
'etazhnost' => "Этажность",
|
||
'layout' => "Планировка",
|
||
'number_wet_spots' => "Мокрых точек",
|
||
'electricity_power' => "Электрическая мощность",
|
||
'commer_condition' => "Состояние объекта",
|
||
//'commer_access' => "Доступ к объекту",
|
||
//'metro' => "Станция метро",
|
||
//'minut' => "Минут до метро",
|
||
'stoim' => "Цена, в рублях",
|
||
'stoim_ky' => "Стоимость КУ, в рублях",
|
||
'commission' => "Комиссия, в процентах",
|
||
'commission_agency' => "Наша комиссия, в процентах",
|
||
'prepay' => "Предоплата, мес",
|
||
'cadastral_number' => "Кадастровый номер",
|
||
'cadastral_number_land' => "Кадастровый номер участка",
|
||
'lease_deposit' => "Залог, мес",
|
||
'lease' => "Залог, в рублях",
|
||
//'noPets' => "Без животных?", // boolean
|
||
//'noChild' => "Без детей?", // boolean
|
||
'window_view' => "Вид из окон",
|
||
'renovation' => "Ремонт объекта",
|
||
//'bath_type_id' => "Тип ванны",
|
||
//'hot_water_id' => "Горячая вода",
|
||
//'rubbish_chute' => "Мусоропровод?", // boolean
|
||
//'parking_type_id' => "Вид парковки",
|
||
//'parking_id' => "Парковка",
|
||
//'parking_type_id2' => "Тип парковки",
|
||
'parking_price' => "Стоимость парковки, руб.",
|
||
'ceiling_height' => "Высота потолков, м.",
|
||
//'column_grid' => "Сетка колон",
|
||
'vat_type' => "Налог",
|
||
'commerc_site' => "Участок, га",
|
||
'commerc_owned' => "Тип владения участком",
|
||
//'floor_material_id' => "Материал пола",
|
||
//'commerc_portal_id' => "Тип установки ворот",
|
||
'commerc_purpose' => "Коммерческое назначение",
|
||
'commerc_land_category' => "Категория земли",
|
||
'commerc_permitted_use' => "Разрешения земли",
|
||
//'commerc_lift1' => "Грузовой лифт",
|
||
//'lift1_carrying' => "Грузоподъемность грузового лифта, т.",
|
||
//'commerc_lift2' => "Тельфер",
|
||
//'lift2_carrying' => "Грузоподъемность тельфера, т.",
|
||
//'commerc_lift3' => "Пассажирский лифт",
|
||
//'lift3_carrying' => "Грузоподъемность пассажирского тельфера, т.",
|
||
//'commerc_crane1' => "Мостовой кран",
|
||
//'crane1_carrying' => "Грузоподъемность мостового крана, т.",
|
||
//'commerc_crane2' => "Кран-балка",
|
||
//'crane2_carrying' => "Грузоподъемность кран-балки, т.",
|
||
//'commerc_crane3' => "Ж/д кран",
|
||
//'crane3_carrying' => "Грузоподъемность Ж/д крана, т.",
|
||
//'commerc_crane4' => "Козловой кран",
|
||
//'crane4_carrying' => "Грузоподъемность козлового крана, т.",
|
||
//'commerc_investproject' => "Инвестпроект?", // boolean
|
||
'is_encumbrances' => "Наличие обременения?", // boolean
|
||
'commerc_electricity' => "Электричество",
|
||
'can_electricity' => "Возможна электрификация?", // boolean
|
||
'commerc_gas' => "Газификация",
|
||
'can_gas' => "Возможна газификация?", // boolean
|
||
'commerc_water' => "Водоснабжение",
|
||
'can_water' => "Возможно подкл. к водоснабжения?", // boolean
|
||
'commerc_sewage' => "Канализация",
|
||
'can_sewage' => "Возможно подкл. к канализации?", // boolean
|
||
'commerc_driveways' => "Подъездные пути",
|
||
//'commerc_services' => "Дополнительные услуги", // collected
|
||
//'building_nazv' => "Название здания",
|
||
'commerc_year' => "Год постройки здания",
|
||
'commerc_building_type' => "Тип здания",
|
||
'commerc_building_class' => "Класс здания",
|
||
'building_area' => "Площадь здания",
|
||
'commerc_houselinetype' => "Линия домов",
|
||
'commerc_building_category' => "Этап строительства",
|
||
'building_developer' => "Девелопер",
|
||
'building_management_company' => "Управляющая компания",
|
||
//'commerc_opened_id' => "Вход в здание",
|
||
//'commerc_building_ventilation' => "Вентиляция здания",
|
||
//'commerc_building_conditioning' => "Кондиционирование здания",
|
||
//'commerc_building_heating' => "Отопление здания",
|
||
//'commerc_building_fire' => "Система пожаротуш-я здания",
|
||
//'gsk_nazv' => "ГСК",
|
||
'garage_type' => "Тип гаража",
|
||
'commerc_status' => "Юр. статус гаража",
|
||
'commerc_specifications' => "Тех. хар-ки гаража", // collected
|
||
//'commerc_infrastructure' => "Инфраструктура вокруг гаража", // collected
|
||
//'holod' => "Холодильник?", // boolean
|
||
//'stirka' => "Стиральная машина?", // boolean
|
||
//'tv' => "Телевизор?", // boolean
|
||
//'mebel' => "С мебелью?", // boolean
|
||
];
|
||
|
||
public static $clientsVars = [
|
||
'fio' => "Ф.И.О.",
|
||
'email' => "Эл. почта",
|
||
'phone' => "Телефон",
|
||
'phone2' => "Доп. телефон",
|
||
'birthday' => "День рождения",
|
||
'type' => "Тип клиента",
|
||
'opis' => "Описание клиента",
|
||
'date_add' => "Дата добавления",
|
||
'budget' => "Бюджет",
|
||
'passport' => "Серия/номер паспорта",
|
||
'date_of_issue_passport' =>"Дата выдачи",
|
||
'passport_issued_by' => "Кем выдан",
|
||
'birthplace' => "Место рождения",
|
||
'registration_address' => "Адрес регистрации",
|
||
'post_address' => "Почтовый адрес",
|
||
'persone_snils' => "СНИЛС",
|
||
'persone_nationality' =>"Гражданство",
|
||
'persone_gender' => "Пол",
|
||
'persone_full_name' => "Полное наименование",
|
||
'persone_short_name' => "Сокращённое наименование",
|
||
'persone_ogrn' => "ОГРН/ОГРНИП",
|
||
'persone_inn' => "ИНН",
|
||
'persone_kpp' => "КПП",
|
||
'persone_legal_address' => "Юридический адрес",
|
||
'persone_fact_address' => "Фактический адрес",
|
||
'persone_name_bank' => "Наименование банка",
|
||
'persone_info_bank' => "Информация о банке",
|
||
'persone_bik_bank' => "БИК банка",
|
||
'persone_rs_bank' => "Расчётный счет",
|
||
'persone_kors_bank' => "Корреспондентский счёт",
|
||
'persone_fio_rukovod' => "ФИО руководителя",
|
||
'persone_powers' => "Основание полномочий",
|
||
'persone_kod_podrazdelenia' => "Код подразделения"
|
||
//'source' => "Источник",
|
||
];
|
||
|
||
public static $sobstvVars = [
|
||
|
||
'fio' => "Собственник (Ф.И.О.)",
|
||
'email' => "Собственник (Эл. почта)",
|
||
'phone' => "Собственник (Телефон)",
|
||
'phone2' => "Собственник (Доп. телефон)",
|
||
'birthday' => "Собственник (День рождения)",
|
||
'type' => "Собственник (Тип клиента)",
|
||
'opis' => "Собственник (Описание клиента)",
|
||
'date_add' => "Собственник (Дата добавления)",
|
||
'budget' => "Собственник (Бюджет)",
|
||
'passport' => "Серия/номер паспорта",
|
||
'date_of_issue_passport' =>"Дата выдачи",
|
||
'passport_issued_by' => "Кем выдан",
|
||
'birthplace' => "Место рождения",
|
||
'registration_address' => "Адрес регистрации",
|
||
'post_address' => "Почтовый адрес",
|
||
'persone_snils' => "СНИЛС",
|
||
'persone_nationality' =>"Гражданство",
|
||
'persone_gender' => "Пол",
|
||
'persone_full_name' => "Полное наименование",
|
||
'persone_short_name' => "Сокращённое наименование",
|
||
'persone_ogrn' => "ОГРН/ОГРНИП",
|
||
'persone_inn' => "ИНН",
|
||
'persone_kpp' => "КПП",
|
||
'persone_legal_address' => "Юридический адрес",
|
||
'persone_fact_address' => "Фактический адрес",
|
||
'persone_name_bank' => "Наименование банка",
|
||
'persone_info_bank' => "Информация о банке",
|
||
'persone_bik_bank' => "БИК банка",
|
||
'persone_rs_bank' => "Расчётный счет",
|
||
'persone_kors_bank' => "Корреспондентский счёт",
|
||
'persone_fio_rukovod' => "ФИО руководителя",
|
||
'persone_powers' => "Основание полномочий",
|
||
'persone_kod_podrazdelenia' => "Код подразделения"
|
||
];
|
||
public static $complexVars = [
|
||
'address' => 'Адрес',
|
||
'apartment_number' => 'Номер квартиры',
|
||
'floor' => 'Этаж',
|
||
'entrance_number' => 'Подъезд',
|
||
'rooms_count' => 'Количество комнат',
|
||
'area_price' => 'Цена квадрата',
|
||
'fullprice' => 'Полная цена',
|
||
'installment_price' => 'Цена в рассрочку',
|
||
'calculated_area' => 'Расчетная площадь',
|
||
'living_area' => 'Жилая площадь',
|
||
'kitchen_area' => 'Площадь кухни',
|
||
'area_without_balcony' => 'Площадь без балкона',
|
||
'hallway_area' => 'Площадь прихожей',
|
||
'total_area_excl_living' => 'Общая площадь без жилой',
|
||
'total_bathroom_area' => 'Общая площадь санузлов',
|
||
'total_balcony_loggia_area' => 'Общая площадь лоджий/балконов',
|
||
'rooms_list' => 'Список комнат',
|
||
'rooms_areas' => 'Площади комнат',
|
||
'bathroom_list' => 'Список санузлов',
|
||
'bathroom_areas' => 'Площади санузлов',
|
||
'balcony_loggia_list' => 'Список балконов/лоджий',
|
||
'balcony_loggia_areas' => 'Площади балконов/лоджий',
|
||
'apartments_on_floor_count' => 'Всего квартир на этаже',
|
||
];
|
||
|
||
private $_users_id;
|
||
private $_manager_id;
|
||
private $_agency_id;
|
||
private $_my_managers = [];
|
||
|
||
private $_serverPath = "/server/php/files/docs";
|
||
|
||
public function __construct()
|
||
{
|
||
$user_id = intval($_SESSION['id']);
|
||
|
||
$user = new User;
|
||
$user->get($user_id);
|
||
|
||
$this->_agency_id = $user->agencyId;
|
||
if ($this->_agency_id)
|
||
$this->_my_managers[] = $this->_agency_id;
|
||
|
||
$this->_manager_id = $user->id_manager;
|
||
if ($this->_manager_id)
|
||
$this->_my_managers[] = $this->_manager_id;
|
||
|
||
if ($this->_agency_id == $user_id || ($user->users_admin && $this->_agency_id == $user->id_manager)) {
|
||
$this->_my_managers = [];
|
||
$managers = $user->getMyManagers();
|
||
foreach ($managers as $manager) {
|
||
$this->_my_managers[] = $manager['id'];
|
||
}
|
||
}
|
||
|
||
if ($user->agency || $user->users_admin) {
|
||
$this->_users_id = [
|
||
$user->id,
|
||
$user->agencyId
|
||
];
|
||
|
||
if ($user->agency) {
|
||
$admins_id = [];
|
||
$admins = $user->getAllAdmins($this->_agency_id);
|
||
foreach ($admins as $admin) {
|
||
$admins_id[] = $admin['id'];
|
||
}
|
||
$this->_users_id = array_merge([
|
||
$user->id,
|
||
$user->agencyId
|
||
], $admins_id);
|
||
}
|
||
|
||
} else if ($user->manager || (!$user->agency || !$user->users_admin)) {
|
||
$admins_id = [];
|
||
$admins = $user->getAllAdmins($this->_agency_id);
|
||
foreach ($admins as $admin) {
|
||
$admins_id[] = $admin['id'];
|
||
}
|
||
$this->_users_id = array_merge([
|
||
$user->id
|
||
], $admins_id);
|
||
} else {
|
||
$this->_users_id = [
|
||
$user->id
|
||
];
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public function getInnerBlank($agency_id = null, $blank_id = null) {
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
$blanks = [];
|
||
if ($agency_id) {
|
||
$sql = "SELECT blanks.*,
|
||
If(
|
||
blanks.created_by <> 0,
|
||
(
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = blanks.created_by
|
||
), (
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = blanks.updated_by
|
||
)
|
||
) AS author,
|
||
If(
|
||
blanks.updated_at <> 0,
|
||
DATE_FORMAT(blanks.updated_at,'%d.%m.%Y в %H:%i'),
|
||
DATE_FORMAT(blanks.created_at,'%d.%m.%Y в %H:%i')
|
||
) AS datetime
|
||
FROM `inner_blanks` AS blanks
|
||
WHERE `blanks`.`agency_id` = '$agency_id'";
|
||
|
||
if (!is_null($blank_id))
|
||
$sql .= " AND `blanks`.`id` = '$blank_id' LIMIT 1";
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
if (!is_null($blank_id)) {
|
||
return mysql_fetch_assoc($res);
|
||
} else {
|
||
while ($blank = mysql_fetch_assoc($res)) {
|
||
$blanks[] = $blank;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return $blanks;
|
||
}
|
||
|
||
public function getInnerBlanks($agency_id = null) {
|
||
return self::getInnerBlank($agency_id, null);
|
||
}
|
||
|
||
public static function stringToTranslit($str, $max = null) {
|
||
|
||
if (is_null($str))
|
||
return false;
|
||
|
||
$str = strip_tags(htmlspecialchars(trim($str)));
|
||
$str = str_replace(' ', '_', $str);
|
||
|
||
if (!mb_detect_encoding($str, 'UTF-8', true))
|
||
$str = utf8_encode($str);
|
||
|
||
if (function_exists('transliterator_transliterate'))
|
||
$str = transliterator_transliterate('Any-Latin; Latin-ASCII', $str);
|
||
else
|
||
$str = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $str);
|
||
|
||
$str = preg_replace("/[^a-zA-Z0-9\.\[\]_| -]/", '', $str);
|
||
$str = str_replace('__', '_', $str);
|
||
|
||
if (intval($max) > 0)
|
||
$str = mb_substr($str, 0, intval($max));
|
||
|
||
return mb_strtolower($str);
|
||
}
|
||
|
||
public static function getVariable($field_id = null, $agency_id = null) {
|
||
|
||
if (is_null($field_id))
|
||
return false;
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql = "SELECT fields.*,
|
||
If(
|
||
fields.created_by <> 0,
|
||
(
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = fields.created_by
|
||
), (
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = fields.updated_by
|
||
)
|
||
) AS author,
|
||
If(
|
||
fields.updated_at <> 0,
|
||
DATE_FORMAT(fields.updated_at, '%d.%m.%Y в %H:%i'),
|
||
DATE_FORMAT(fields.created_at, '%d.%m.%Y в %H:%i')
|
||
) AS datetime
|
||
FROM `inner_blanks_fields` AS fields
|
||
WHERE `fields`.`id` = '$field_id' AND `fields`.`agency_id` = '$agency_id' LIMIT 1";
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
$variable = mysql_fetch_assoc($res);
|
||
$name = $variable['name'];
|
||
$section = ((intval($variable['section']) == 1) ? "objects" : ((intval($variable['section']) == 2) ? "clients" : null));
|
||
return [
|
||
'id' => $variable['id'],
|
||
'name' => "\${" . (($section) ? $section . "." : "") . $name . "}",
|
||
'variable' => $name,
|
||
'section' => $variable['section'],
|
||
'title' => $variable['title'],
|
||
'default' => $variable['default'],
|
||
'author' => $variable['author'],
|
||
'datetime' => $variable['datetime'],
|
||
'created_by' => $variable['created_by'],
|
||
'updated_by' => $variable['updated_by'],
|
||
'agency_id' => $variable['agency_id'],
|
||
];
|
||
}
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
public static function getSourceValues($section = null, $source_id = null, $source_ids = []) {
|
||
|
||
if (is_null($section) || (is_null($source_id) && empty($source_ids)))
|
||
return false;
|
||
|
||
require_once(__DIR__ . '/../../ajax/engine/props.php');
|
||
global $TYPE_NEDV;
|
||
global $SROK_ARENDY;
|
||
|
||
$sql = '';
|
||
$object_id = null;
|
||
$client_id = null;
|
||
$props = [];
|
||
$values = [];
|
||
|
||
|
||
if ($section == "objects" || $section == 1) {
|
||
$sql = "SELECT layout_object.name as layout,
|
||
objects_additional_information.*,
|
||
object_location.*,
|
||
objects.*,
|
||
commer_condition.name as commer_condition,
|
||
lease_deposit.name as lease_deposit,
|
||
vat_type.name as vat_type,
|
||
renovation.name as renovation,
|
||
commerc_purpose.name as commerc_purpose,
|
||
commerc_land_category.name as commerc_land_category,
|
||
commerc_permitted_use.name as commerc_permitted_use,
|
||
commerc_electricity.name as commerc_electricity,
|
||
commerc_gas.name as commerc_gas,
|
||
commerc_driveways.name as commerc_driveways,
|
||
commerc_building_type.name as commerc_building_type,
|
||
commerc_building_class.name as commerc_building_class,
|
||
commerc_houselinetype.name as commerc_houselinetype,
|
||
commerc_building_category.name as commerc_building_category,
|
||
garage_type.name as garage_type,
|
||
commerc_status.name as commerc_status
|
||
FROM `objects` as objects
|
||
LEFT JOIN object_location on objects.id = object_location.object_id
|
||
LEFT JOIN objects_additional_information on objects.id = objects_additional_information.object_id
|
||
LEFT JOIN layout_object on objects_additional_information.layout_id = layout_object.id
|
||
LEFT JOIN commer_condition on objects_additional_information.commer_condition = commer_condition.id
|
||
LEFT JOIN lease_deposit on objects.lease_deposit_id = lease_deposit.id
|
||
LEFT JOIN vat_type on objects_additional_information.vat_type_id = vat_type.id
|
||
LEFT JOIN renovation on objects_additional_information.renovation = renovation.id
|
||
LEFT JOIN commerc_purpose on objects_additional_information.commerc_purpose like concat('%"', commerc_purpose.id, '"%')
|
||
LEFT JOIN commerc_land_category on objects_additional_information.commerc_land_category_id = commerc_land_category.id
|
||
LEFT JOIN commerc_permitted_use on objects_additional_information.commerc_permitted_use_id = commerc_permitted_use.id
|
||
LEFT JOIN commerc_electricity on objects_additional_information.commerc_electricity_id = commerc_electricity.id
|
||
LEFT JOIN commerc_gas on objects_additional_information.commerc_gas_id = commerc_gas.id
|
||
LEFT JOIN commerc_driveways on objects_additional_information.commerc_driveways_id = commerc_driveways.id
|
||
LEFT JOIN commerc_building_type on objects_additional_information.commerc_building_type_id = commerc_building_type.id
|
||
LEFT JOIN commerc_building_class on objects_additional_information.commerc_building_class_id = commerc_building_class.id
|
||
LEFT JOIN commerc_houselinetype on objects_additional_information.commerc_houseLineType_id = commerc_houselinetype.id
|
||
LEFT JOIN commerc_building_category on objects_additional_information.commerc_building_category_id = commerc_building_category.id
|
||
LEFT JOIN garage_type on objects_additional_information.garage_type_id = garage_type.id
|
||
LEFT JOIN commerc_status on objects_additional_information.commerc_status_id = commerc_status.id
|
||
WHERE `objects`.`id` = '$source_id' LIMIT 1";
|
||
} else if (($section == "clients" || $section == 2) && empty($source_ids)) {
|
||
$sql = "SELECT clients.*, clients_dop_info.persone_no_ip,
|
||
clients_dop_info.passport,
|
||
clients_dop_info.date_of_issue_passport,
|
||
clients_dop_info.passport_issued_by,
|
||
clients_dop_info.birthplace,
|
||
clients_dop_info.registration_address,
|
||
clients_dop_info.post_address,
|
||
clients_dop_info.persone_snils,
|
||
clients_dop_info.persone_nationality,
|
||
clients_dop_info.persone_gender,
|
||
clients_dop_info.persone_full_name,
|
||
clients_dop_info.persone_short_name,
|
||
clients_dop_info.persone_ogrn,
|
||
clients_dop_info.persone_inn,
|
||
clients_dop_info.persone_kpp,
|
||
clients_dop_info.persone_legal_address,
|
||
clients_dop_info.persone_fact_address,
|
||
clients_dop_info.persone_name_bank,
|
||
clients_dop_info.persone_info_bank,
|
||
clients_dop_info.persone_bik_bank,
|
||
clients_dop_info.persone_rs_bank,
|
||
clients_dop_info.persone_kors_bank,
|
||
clients_dop_info.persone_fio_rukovod,
|
||
clients_dop_info.persone_powers,
|
||
clients_dop_info.persone_kod_podrazdelenia
|
||
FROM `clients`
|
||
LEFT JOIN `clients_dop_info` ON `clients`.`id` = `clients_dop_info`.`client_id`
|
||
WHERE `clients`.`id` = '$source_id' LIMIT 1";
|
||
|
||
} else if(($section == "clients" || $section == 2) && !empty($source_ids)){
|
||
$sql = $sql1 = "SELECT clients.*, clients_dop_info.persone_no_ip,
|
||
clients_dop_info.passport,
|
||
clients_dop_info.date_of_issue_passport,
|
||
clients_dop_info.passport_issued_by,
|
||
clients_dop_info.birthplace,
|
||
clients_dop_info.registration_address,
|
||
clients_dop_info.post_address,
|
||
clients_dop_info.persone_snils,
|
||
clients_dop_info.persone_nationality,
|
||
clients_dop_info.persone_gender,
|
||
clients_dop_info.persone_full_name,
|
||
clients_dop_info.persone_short_name,
|
||
clients_dop_info.persone_ogrn,
|
||
clients_dop_info.persone_inn,
|
||
clients_dop_info.persone_kpp,
|
||
clients_dop_info.persone_legal_address,
|
||
clients_dop_info.persone_fact_address,
|
||
clients_dop_info.persone_name_bank,
|
||
clients_dop_info.persone_info_bank,
|
||
clients_dop_info.persone_bik_bank,
|
||
clients_dop_info.persone_rs_bank,
|
||
clients_dop_info.persone_kors_bank,
|
||
clients_dop_info.persone_fio_rukovod,
|
||
clients_dop_info.persone_powers,
|
||
clients_dop_info.persone_kod_podrazdelenia
|
||
FROM `clients`
|
||
LEFT JOIN `clients_dop_info` ON `clients`.`id` = `clients_dop_info`.`client_id`
|
||
WHERE `clients`.`id` in (".implode(',',$source_ids).")";
|
||
// echo $sql;
|
||
}
|
||
// echo $sql;
|
||
$res = mysql_query($sql);
|
||
if ($field = mysql_fetch_assoc($res)) {
|
||
|
||
/*if ($section == "objects" || $section == 1) {
|
||
ini_set('xdebug.var_display_max_depth', -1);
|
||
ini_set('xdebug.var_display_max_children', -1);
|
||
ini_set('xdebug.var_display_max_data', -1);
|
||
var_dump($field);
|
||
die();
|
||
}*/
|
||
|
||
if ($section == "objects" || $section == 1) {
|
||
$section_name = "objects" . ".";
|
||
$object_id = (int)$field['id'];
|
||
$props = getProps($object_id);
|
||
} elseif ($section == "clients" || $section == 2) {
|
||
$section_name = "clients" . ".";
|
||
} else {
|
||
$section_name = "";
|
||
}
|
||
|
||
foreach ($field as $key => $value) {
|
||
|
||
// Алиасы
|
||
switch ($key) {
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["adres"])) :
|
||
$key = "address";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["stoim_ot"])) :
|
||
$key = "stoim";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["etazh_iz"])) :
|
||
$key = "etazhnost";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commerc_water_id"])) :
|
||
$key = "commerc_water";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commerc_sewage_id"])) :
|
||
$key = "commerc_sewage";
|
||
break;
|
||
}
|
||
|
||
// Значения
|
||
switch ($key) {
|
||
|
||
// Клиенты
|
||
case (in_array($section, ["clients", 2]) && in_array($key, ["type", "phone2"])) :
|
||
$value = (isset($value)) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($value)))) : "";
|
||
break;
|
||
case (in_array($section, ["clients", 2]) && in_array($key, ["birthday", "date_add"])) :
|
||
$value = date('d.m.Y', strtotime($value));
|
||
break;
|
||
case (in_array($section, ["clients", 2]) && in_array($key, ["persone_gender"])) :
|
||
$value = ((int)$value == 1) ? 'женский' : 'мужской';
|
||
break;
|
||
|
||
// Объекты
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["operation_type"])) :
|
||
$value = ($value == 1) ? "Продажа" : "Аренда";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["type"])) :
|
||
$value = (intval($value) && isset($TYPE_NEDV[intval($value)])) ? $TYPE_NEDV[intval($value)] : "";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["srok"])) :
|
||
$value = (intval($value) && isset($SROK_ARENDY[intval($value)])) ? $SROK_ARENDY[intval($value)] : "";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["ploshad", "ploshad_k", "ploshad_komn"])) :
|
||
$value = $value . " кв. м";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["land_area"])) :
|
||
$value = $value . " сот.";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["lease_deposit_id", "prepay"])) :
|
||
$value = $value . " мес.";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["stoim", "lease", "stoim_ky", "parking_price"])) :
|
||
$value = $value . " руб.";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commission", "commission_agency"])) :
|
||
$value = $value . " %";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["number_wet_spots"])) :
|
||
$value = (intval($value)) ? $value : "нет";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commerc_water", "commerc_sewage"])) :
|
||
$value = ((intval($value) == 1) ? "На участке" : (intval($value) == 2) ? "По границе участка" : "");
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["vat_type"])) :
|
||
$value = (!empty($value)) ? $value : "без налога";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commerc_site"])) :
|
||
$value = (!empty($value) && $value == 1) ? $value . " Га" : "не указана";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["commerc_owned"])) :
|
||
$value = (!empty($value) && $value == 1) ? "в аренде" : "в собственности";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["electricity_power"])) :
|
||
$value = $value . " кВт";
|
||
break;
|
||
case (in_array($section, ["objects", 2]) && in_array($key, ["is_encumbrances", "can_electricity", "can_gas", "can_water", "can_sewage"])) :
|
||
$value = (intval($value)) ? "да" : "нет";
|
||
break;
|
||
}
|
||
|
||
$name = $section_name . $key;
|
||
$values[$name] = $value;
|
||
}
|
||
if(!empty($source_ids)){
|
||
$res1 = mysql_query($sql1);
|
||
$valuesarrClients=array();
|
||
while($client = mysql_fetch_assoc($res1)){
|
||
//var_dump($client);
|
||
$valuesarr = [];
|
||
$valuesarr['id'] = (isset($client['id'])) ? $client['id'] : "";
|
||
$valuesarr['fio'] = (isset($client['fio'])) ? $client['fio'] : "";
|
||
$valuesarr['email'] = $client['email'];
|
||
$valuesarr['phone'] = (isset($client['phone'])) ? $client['phone'] : "";
|
||
$valuesarr['phone2'] = (isset($client['phone2'])) ? implode(', ', json_decode(htmlspecialchars_decode($client['phone2']))) : "";
|
||
$valuesarr['birthday'] = (isset($client['birthday'])) ? date('d.m.Y', strtotime($client['birthday'])) : "";
|
||
$valuesarr['type'] = (isset($client['type'])) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($client['type'])))) : "";
|
||
$valuesarr['opis'] = (isset($client['opis'])) ? $client['opis'] : "";
|
||
$valuesarr['date_add'] = (isset($client['date_add'])) ? date('d.m.Y', strtotime($client['date_add'])) : "";
|
||
$valuesarr['budget'] = (isset($client['budget'])) ? $client['budget'] : "";
|
||
$valuesarr['source'] = (isset($client['source'])) ? $client['source'] : "";
|
||
$valuesarr['passport'] = (isset($client['passport'])) ? $client['passport'] : "";
|
||
$valuesarr['date_of_issue_passport'] = (isset($client['date_of_issue_passport'])) ? date('d.m.Y', strtotime($client['date_of_issue_passport'])) : "";
|
||
$valuesarr['passport_issued_by'] = (isset($client['passport_issued_by'])) ? $client['passport_issued_by'] : "";
|
||
$valuesarr['birthplace'] = (isset($client['birthplace'])) ? $client['birthplace'] : "";
|
||
$valuesarr['registration_address'] = (isset($client['registration_address'])) ? $client['registration_address'] : "";
|
||
$valuesarr['post_address'] = (isset($client['post_address'])) ? $client['post_address'] : "";
|
||
$valuesarr['persone_info_bank'] = (isset($client['persone_info_bank'])) ? $client['persone_info_bank'] : "";
|
||
$valuesarr['persone_snils'] = (isset($client['persone_snils'])) ? $client['persone_snils'] : "";
|
||
$valuesarr['persone_nationality'] = (isset($client['persone_nationality'])) ? $client['persone_nationality'] : "";
|
||
$valuesarr['persone_gender'] = ((int)$client['persone_gender'] == 1) ? 'женский' : 'мужской';
|
||
$valuesarr['persone_full_name'] = (isset($client['persone_full_name'])) ? $client['persone_full_name'] : "";
|
||
$valuesarr['persone_short_name'] = (isset($client['persone_short_name'])) ? $client['persone_short_name'] : "";
|
||
$valuesarr['persone_ogrn'] = (isset($client['persone_ogrn'])) ? $client['persone_ogrn'] : "";
|
||
$valuesarr['persone_inn'] = (isset($client['persone_inn'])) ? $client['persone_inn'] : "";
|
||
$valuesarr['persone_kpp'] = (isset($client['persone_kpp'])) ? $client['persone_kpp'] : "";
|
||
$valuesarr['persone_legal_address'] = (isset($client['persone_legal_address'])) ? $client['persone_legal_address'] : "";
|
||
$valuesarr['persone_fact_address'] = (isset($client['persone_fact_address'])) ? $client['persone_fact_address'] : "";
|
||
$valuesarr['persone_name_bank'] = (isset($client['persone_name_bank'])) ? $client['persone_name_bank'] : "";
|
||
$valuesarr['persone_bik_bank'] = (isset($client['persone_bik_bank'])) ? $client['persone_bik_bank'] : "";
|
||
$valuesarr['persone_rs_bank'] = (isset($client['persone_rs_bank'])) ? $client['persone_rs_bank'] : "";
|
||
$valuesarr['persone_kors_bank'] = (isset($client['persone_kors_bank'])) ? $client['persone_kors_bank'] : "";
|
||
$valuesarr['persone_fio_rukovod'] = (isset($client['persone_fio_rukovod'])) ? $client['persone_fio_rukovod'] : "";
|
||
$valuesarr['persone_powers'] = (isset($client['persone_powers'])) ? $client['persone_powers'] : "";
|
||
$valuesarr['persone_kod_podrazdelenia'] = (isset($client['persone_kod_podrazdelenia'])) ? $client['persone_kod_podrazdelenia'] : "";
|
||
|
||
|
||
$valuesarrClients[] = $valuesarr;
|
||
|
||
}
|
||
$name = $section_name.'clients';
|
||
$values[$name] = $valuesarrClients;
|
||
}
|
||
}
|
||
|
||
if (!is_null($object_id) && ($section == "objects" || $section == 1 || $section == "sobstv")) {
|
||
|
||
$clientObjIds = [];
|
||
$sql_cl_obj = "SELECT client_id FROM client_objects WHERE object_id = {$object_id}";
|
||
$q_cl_obj = mysql_query($sql_cl_obj);
|
||
|
||
|
||
while($r_cl_obj = mysql_fetch_assoc($q_cl_obj)){
|
||
$clientObjIds[] = $r_cl_obj['client_id'];
|
||
}
|
||
|
||
|
||
|
||
$sql = "SELECT clients.id, clients.fio, clients.email, clients.phone, clients.phone2, clients.birthday, clients.type, clients.opis, clients.date_add, clients.budget, clients.source,
|
||
clients_dop_info.passport,
|
||
clients_dop_info.date_of_issue_passport,
|
||
clients_dop_info.passport_issued_by,
|
||
clients_dop_info.birthplace,
|
||
clients_dop_info.registration_address,
|
||
clients_dop_info.post_address,
|
||
clients_dop_info.persone_snils,
|
||
clients_dop_info.persone_nationality,
|
||
clients_dop_info.persone_gender,
|
||
clients_dop_info.persone_full_name,
|
||
clients_dop_info.persone_short_name,
|
||
clients_dop_info.persone_ogrn,
|
||
clients_dop_info.persone_inn,
|
||
clients_dop_info.persone_kpp,
|
||
clients_dop_info.persone_legal_address,
|
||
clients_dop_info.persone_fact_address,
|
||
clients_dop_info.persone_name_bank,
|
||
clients_dop_info.persone_info_bank,
|
||
clients_dop_info.persone_bik_bank,
|
||
clients_dop_info.persone_rs_bank,
|
||
clients_dop_info.persone_kors_bank,
|
||
clients_dop_info.persone_fio_rukovod,
|
||
clients_dop_info.persone_powers,
|
||
clients_dop_info.persone_kod_podrazdelenia
|
||
FROM `clients`
|
||
LEFT JOIN `clients_dop_info` ON `clients`.`id` = `clients_dop_info`.`client_id`
|
||
WHERE clients.id in (".implode(',', $clientObjIds).")";
|
||
|
||
$res = $res1 = mysql_query($sql);
|
||
|
||
// if($_SESSION['id'] == 5238){
|
||
$values['sobstv'] = array();
|
||
$i = 0;
|
||
while($client = mysql_fetch_assoc($res)){
|
||
$valuesarr=[];
|
||
$valuesarr['id'] = (isset($client['id'])) ? $client['id'] : "";
|
||
$valuesarr['fio'] = (isset($client['fio'])) ? $client['fio'] : "";
|
||
$valuesarr['email'] = $client['email'];
|
||
$valuesarr['phone'] = (isset($client['phone'])) ? $client['phone'] : "";
|
||
$valuesarr['phone2'] = (isset($client['phone2'])) ? implode(', ', json_decode(htmlspecialchars_decode($client['phone2']))) : "";
|
||
$valuesarr['birthday'] = (isset($client['birthday'])) ? date('d.m.Y', strtotime($client['birthday'])) : "";
|
||
$valuesarr['type'] = (isset($client['type'])) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($client['type'])))) : "";
|
||
$valuesarr['opis'] = (isset($client['opis'])) ? $client['opis'] : "";
|
||
$valuesarr['date_add'] = (isset($client['date_add'])) ? date('d.m.Y', strtotime($client['date_add'])) : "";
|
||
$valuesarr['budget'] = (isset($client['budget'])) ? $client['budget'] : "";
|
||
$valuesarr['source'] = (isset($client['source'])) ? $client['source'] : "";
|
||
$valuesarr['passport'] = (isset($client['passport'])) ? $client['passport'] : "";
|
||
$valuesarr['date_of_issue_passport'] = (isset($client['date_of_issue_passport'])) ? date('d.m.Y', strtotime($client['date_of_issue_passport'])) : "";
|
||
$valuesarr['passport_issued_by'] = (isset($client['passport_issued_by'])) ? $client['passport_issued_by'] : "";
|
||
$valuesarr['birthplace'] = (isset($client['birthplace'])) ? $client['birthplace'] : "";
|
||
$valuesarr['registration_address'] = (isset($client['registration_address'])) ? $client['registration_address'] : "";
|
||
$valuesarr['post_address'] = (isset($client['post_address'])) ? $client['post_address'] : "";
|
||
$valuesarr['persone_info_bank'] = (isset($client['persone_info_bank'])) ? $client['persone_info_bank'] : "";
|
||
$valuesarr['persone_snils'] = (isset($client['persone_snils'])) ? $client['persone_snils'] : "";
|
||
$valuesarr['persone_nationality'] = (isset($client['persone_nationality'])) ? $client['persone_nationality'] : "";
|
||
$valuesarr['persone_gender'] = ((int)$client['persone_gender'] == 1) ? 'женский' : 'мужской';
|
||
$valuesarr['persone_full_name'] = (isset($client['persone_full_name'])) ? $client['persone_full_name'] : "";
|
||
$valuesarr['persone_short_name'] = (isset($client['persone_short_name'])) ? $client['persone_short_name'] : "";
|
||
$valuesarr['persone_ogrn'] = (isset($client['persone_ogrn'])) ? $client['persone_ogrn'] : "";
|
||
$valuesarr['persone_inn'] = (isset($client['persone_inn'])) ? $client['persone_inn'] : "";
|
||
$valuesarr['persone_kpp'] = (isset($client['persone_kpp'])) ? $client['persone_kpp'] : "";
|
||
$valuesarr['persone_legal_address'] = (isset($client['persone_legal_address'])) ? $client['persone_legal_address'] : "";
|
||
$valuesarr['persone_fact_address'] = (isset($client['persone_fact_address'])) ? $client['persone_fact_address'] : "";
|
||
$valuesarr['persone_name_bank'] = (isset($client['persone_name_bank'])) ? $client['persone_name_bank'] : "";
|
||
$valuesarr['persone_bik_bank'] = (isset($client['persone_bik_bank'])) ? $client['persone_bik_bank'] : "";
|
||
$valuesarr['persone_rs_bank'] = (isset($client['persone_rs_bank'])) ? $client['persone_rs_bank'] : "";
|
||
$valuesarr['persone_kors_bank'] = (isset($client['persone_kors_bank'])) ? $client['persone_kors_bank'] : "";
|
||
$valuesarr['persone_fio_rukovod'] = (isset($client['persone_fio_rukovod'])) ? $client['persone_fio_rukovod'] : "";
|
||
$valuesarr['persone_powers'] = (isset($client['persone_powers'])) ? $client['persone_powers'] : "";
|
||
$valuesarr['persone_kod_podrazdelenia'] = (isset($client['source'])) ? $client['persone_kod_podrazdelenia'] : "";
|
||
|
||
$values['sobstv'][] = $valuesarr;
|
||
$part_index = '';
|
||
if($i > 0) $part_index = $i;
|
||
|
||
self::$objectsVars['sobstv'.$part_index.'.fio'] = "Собственник".$part_index." (Ф.И.О.)";
|
||
self::$objectsVars['sobstv'.$part_index.'.email'] = "Собственник".$part_index." (Эл. почта)";
|
||
self::$objectsVars['sobstv'.$part_index.'.phone'] = "Собственник".$part_index." (Телефон)";
|
||
self::$objectsVars['sobstv'.$part_index.'.phone2'] = "Собственник".$part_index." (Доп. телефон)";
|
||
self::$objectsVars['sobstv'.$part_index.'.birthday'] = "Собственник".$part_index." (День рождения)";
|
||
self::$objectsVars['sobstv'.$part_index.'.type'] = "Собственник".$part_index." (Тип клиента)";
|
||
self::$objectsVars['sobstv'.$part_index.'.opis'] = "Собственник".$part_index." (Описание клиента)";
|
||
self::$objectsVars['sobstv'.$part_index.'.date_add'] = "Собственник".$part_index." (Дата добавления)";
|
||
self::$objectsVars['sobstv'.$part_index.'.budget'] = "Собственник".$part_index." (Бюджет)";
|
||
|
||
$values['objects.sobstv'.$part_index.'.id'] = (isset($client['id'])) ? $client['id'] : "";
|
||
$values['objects.sobstv'.$part_index.'.fio'] = (isset($client['fio'])) ? $client['fio'] : "";
|
||
$values['objects.sobstv'.$part_index.'.email'] = $client['email'];
|
||
$values['objects.sobstv'.$part_index.'.phone'] = (isset($client['phone'])) ? $client['phone'] : "";
|
||
$values['objects.sobstv'.$part_index.'.phone2'] = (isset($client['phone2'])) ? implode(', ', json_decode(htmlspecialchars_decode($client['phone2']))) : "";
|
||
$values['objects.sobstv'.$part_index.'.birthday'] = (isset($client['birthday'])) ? date('d.m.Y', strtotime($client['birthday'])) : "";
|
||
$values['objects.sobstv'.$part_index.'.type'] = (isset($client['type'])) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($client['type'])))) : "";
|
||
$values['objects.sobstv'.$part_index.'.opis'] = (isset($client['opis'])) ? $client['opis'] : "";
|
||
$values['objects.sobstv'.$part_index.'.date_add'] = (isset($client['date_add'])) ? date('d.m.Y', strtotime($client['date_add'])) : "";
|
||
$values['objects.sobstv'.$part_index.'.budget'] = (isset($client['budget'])) ? $client['budget'] : "";
|
||
$values['objects.sobstv'.$part_index.'.source'] = (isset($client['source'])) ? $client['source'] : "";
|
||
if($i == 0){
|
||
$values['objects.sobstv.id'] = (isset($client['id'])) ? $client['id'] : "";
|
||
$values['objects.sobstv.fio'] = (isset($client['fio'])) ? $client['fio'] : "";
|
||
$values['objects.sobstv.email'] = $client['email'];
|
||
$values['objects.sobstv.phone'] = (isset($client['phone'])) ? $client['phone'] : "";
|
||
$values['objects.sobstv.phone2'] = (isset($client['phone2'])) ? implode(', ', json_decode(htmlspecialchars_decode($client['phone2']))) : "";
|
||
$values['objects.sobstv.birthday'] = (isset($client['birthday'])) ? date('d.m.Y', strtotime($client['birthday'])) : "";
|
||
$values['objects.sobstv.type'] = (isset($client['type'])) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($client['type'])))) : "";
|
||
$values['objects.sobstv.opis'] = (isset($client['opis'])) ? $client['opis'] : "";
|
||
$values['objects.sobstv.date_add'] = (isset($client['date_add'])) ? date('d.m.Y', strtotime($client['date_add'])) : "";
|
||
$values['objects.sobstv.budget'] = (isset($client['budget'])) ? $client['budget'] : "";
|
||
$values['objects.sobstv.source'] = (isset($client['source'])) ? $client['source'] : "";
|
||
$values['objects.sobstv.passport'] = (isset($client['passport'])) ? $client['passport'] : "";
|
||
$values['objects.sobstv.date_of_issue_passport'] = (isset($client['date_of_issue_passport'])) ? date('d.m.Y', strtotime($client['date_of_issue_passport'])) : "";
|
||
$values['objects.sobstv.passport_issued_by'] = (isset($client['passport_issued_by'])) ? $client['passport_issued_by'] : "";
|
||
$values['objects.sobstv.birthplace'] = (isset($client['birthplace'])) ? $client['birthplace'] : "";
|
||
$values['objects.sobstv.registration_address'] = (isset($client['registration_address'])) ? $client['registration_address'] : "";
|
||
$values['objects.sobstv.post_address'] = (isset($client['post_address'])) ? $client['post_address'] : "";
|
||
$values['objects.sobstv.persone_snils'] = (isset($client['persone_snils'])) ? $client['persone_snils'] : "";
|
||
$values['objects.sobstv.persone_nationality'] = (isset($client['persone_nationality'])) ? $client['persone_nationality'] : "";
|
||
$values['objects.sobstv.persone_gender'] = ((int)$client['persone_gender'] == 1) ? 'женский' : 'мужской';
|
||
$values['objects.sobstv.persone_full_name'] = (isset($client['persone_full_name'])) ? $client['persone_full_name'] : "";
|
||
$values['objects.sobstv.persone_short_name'] = (isset($client['persone_short_name'])) ? $client['persone_short_name'] : "";
|
||
$values['objects.sobstv.persone_ogrn'] = (isset($client['persone_ogrn'])) ? $client['persone_ogrn'] : "";
|
||
$values['objects.sobstv.persone_inn'] = (isset($client['persone_inn'])) ? $client['persone_inn'] : "";
|
||
$values['objects.sobstv.persone_kpp'] = (isset($client['persone_kpp'])) ? $client['persone_kpp'] : "";
|
||
$values['objects.sobstv.persone_legal_address'] = (isset($client['persone_legal_address'])) ? $client['persone_legal_address'] : "";
|
||
$values['objects.sobstv.persone_fact_address'] = (isset($client['persone_fact_address'])) ? $client['persone_fact_address'] : "";
|
||
$values['objects.sobstv.persone_name_bank'] = (isset($client['persone_name_bank'])) ? $client['persone_name_bank'] : "";
|
||
$values['objects.sobstv.persone_info_bank'] = (isset($client['persone_info_bank'])) ? $client['persone_info_bank'] : "";
|
||
$values['objects.sobstv.persone_bik_bank'] = (isset($client['persone_bik_bank'])) ? $client['persone_bik_bank'] : "";
|
||
$values['objects.sobstv.persone_rs_bank'] = (isset($client['persone_rs_bank'])) ? $client['persone_rs_bank'] : "";
|
||
$values['objects.sobstv.persone_kors_bank'] = (isset($client['persone_kors_bank'])) ? $client['persone_kors_bank'] : "";
|
||
$values['objects.sobstv.persone_fio_rukovod'] = (isset($client['persone_fio_rukovod'])) ? $client['persone_fio_rukovod'] : "";
|
||
$values['objects.sobstv.persone_powers'] = (isset($client['persone_powers'])) ? $client['persone_powers'] : "";
|
||
$values['objects.sobstv.persone_kod_podrazdelenia'] = (isset($client['persone_kod_podrazdelenia'])) ? $client['persone_kod_podrazdelenia'] : "";
|
||
|
||
}
|
||
$i++;
|
||
}
|
||
//var_dump(self::$objectsVars);
|
||
|
||
// } else
|
||
|
||
/*if ($client = mysql_fetch_assoc($res1)) {
|
||
$values['objects.sobstv.id'] = (isset($client['id'])) ? $client['id'] : "";
|
||
$values['objects.sobstv.fio'] = (isset($client['fio'])) ? $client['fio'] : "";
|
||
$values['objects.sobstv.email'] = $client['email'];
|
||
$values['objects.sobstv.phone'] = (isset($client['phone'])) ? $client['phone'] : "";
|
||
$values['objects.sobstv.phone2'] = (isset($client['phone2'])) ? implode(', ', json_decode(htmlspecialchars_decode($client['phone2']))) : "";
|
||
$values['objects.sobstv.birthday'] = (isset($client['birthday'])) ? date('d.m.Y', strtotime($client['birthday'])) : "";
|
||
$values['objects.sobstv.type'] = (isset($client['type'])) ? str_replace('_', ' ', implode(', ', json_decode(htmlspecialchars_decode($client['type'])))) : "";
|
||
$values['objects.sobstv.opis'] = (isset($client['opis'])) ? $client['opis'] : "";
|
||
$values['objects.sobstv.date_add'] = (isset($client['date_add'])) ? date('d.m.Y', strtotime($client['date_add'])) : "";
|
||
$values['objects.sobstv.budget'] = (isset($client['budget'])) ? $client['budget'] : "";
|
||
$values['objects.sobstv.source'] = (isset($client['source'])) ? $client['source'] : "";
|
||
$values['objects.sobstv.passport'] = (isset($client['passport'])) ? $client['passport'] : "";
|
||
$values['objects.sobstv.date_of_issue_passport'] = (isset($client['date_of_issue_passport'])) ? date('d.m.Y', strtotime($client['date_of_issue_passport'])) : "";
|
||
$values['objects.sobstv.passport_issued_by'] = (isset($client['passport_issued_by'])) ? $client['passport_issued_by'] : "";
|
||
$values['objects.sobstv.birthplace'] = (isset($client['birthplace'])) ? $client['birthplace'] : "";
|
||
$values['objects.sobstv.registration_address'] = (isset($client['registration_address'])) ? $client['registration_address'] : "";
|
||
$values['objects.sobstv.post_address'] = (isset($client['post_address'])) ? $client['post_address'] : "";
|
||
$values['objects.sobstv.persone_snils'] = (isset($client['persone_snils'])) ? $client['persone_snils'] : "";
|
||
$values['objects.sobstv.persone_nationality'] = (isset($client['persone_nationality'])) ? $client['persone_nationality'] : "";
|
||
$values['objects.sobstv.persone_gender'] = (isset($client['persone_gender'])) ? $client['persone_gender'] : "";
|
||
$values['objects.sobstv.persone_full_name'] = (isset($client['persone_full_name'])) ? $client['persone_full_name'] : "";
|
||
$values['objects.sobstv.persone_short_name'] = (isset($client['persone_short_name'])) ? $client['persone_short_name'] : "";
|
||
$values['objects.sobstv.persone_ogrn'] = (isset($client['persone_ogrn'])) ? $client['persone_ogrn'] : "";
|
||
$values['objects.sobstv.persone_inn'] = (isset($client['persone_inn'])) ? $client['persone_inn'] : "";
|
||
$values['objects.sobstv.persone_kpp'] = (isset($client['persone_kpp'])) ? $client['persone_kpp'] : "";
|
||
$values['objects.sobstv.persone_legal_address'] = (isset($client['persone_legal_address'])) ? $client['persone_legal_address'] : "";
|
||
$values['objects.sobstv.persone_fact_address'] = (isset($client['persone_fact_address'])) ? $client['persone_fact_address'] : "";
|
||
$values['objects.sobstv.persone_name_bank'] = (isset($client['persone_name_bank'])) ? $client['persone_name_bank'] : "";
|
||
$values['objects.sobstv.persone_bik_bank'] = (isset($client['persone_bik_bank'])) ? $client['persone_bik_bank'] : "";
|
||
$values['objects.sobstv.persone_rs_bank'] = (isset($client['persone_rs_bank'])) ? $client['persone_rs_bank'] : "";
|
||
$values['objects.sobstv.persone_kors_bank'] = (isset($client['persone_kors_bank'])) ? $client['persone_kors_bank'] : "";
|
||
$values['objects.sobstv.persone_fio_rukovod'] = (isset($client['persone_fio_rukovod'])) ? $client['persone_fio_rukovod'] : "";
|
||
$values['objects.sobstv.persone_powers'] = (isset($client['persone_powers'])) ? $client['persone_powers'] : "";
|
||
}*/
|
||
|
||
foreach ($props as $prop) {
|
||
if (!empty($prop['val'])) {
|
||
$values['objects.' . $prop['name']] = $prop['val'];
|
||
//$values['.' . $prop['name']] = $prop['val'];
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
return $values;
|
||
|
||
}
|
||
|
||
|
||
public static function getSourcesList($agency_id = null, $section = null, $required = null) {
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if (is_null($section))
|
||
return false;
|
||
|
||
$list = [];
|
||
$agentIds = array();//User::getAllAgencyUsers($agency_id);
|
||
|
||
$sql_users = "SELECT id FROM users WHERE id in (select id from users where id=$agency_id or id_manager=$agency_id or id_manager in
|
||
(select id from users where id_manager=$agency_id or id_manager in
|
||
(select id from users where id_manager=$agency_id)))";
|
||
$q_users = mysql_query($sql_users);
|
||
while($r_users = mysql_fetch_assoc($q_users)){
|
||
$agentIds[] = (int)$r_users['id'];
|
||
}
|
||
|
||
if ($section == "objects" || $section == 1) {
|
||
$sql = "SELECT id,
|
||
nazv AS name,
|
||
adres AS address
|
||
FROM `objects`
|
||
WHERE `black` <> 1 AND
|
||
`moder` <> 1 AND
|
||
`archive` <> 1 AND
|
||
`id_add_user` IN (" . implode(',', $agentIds) . ")";
|
||
|
||
} else if ($section == "clients" || $section == 2) {
|
||
$sql = "SELECT id,
|
||
fio AS name,
|
||
phone AS phone,
|
||
email AS email
|
||
FROM `clients`
|
||
WHERE `who_work` IN (" . implode(',', $agentIds) . ")";
|
||
}
|
||
|
||
if (!empty($sql)) {
|
||
if (!empty($required) && is_array($required)) {
|
||
foreach ($required as $req) {
|
||
$sql .= " AND (`$req` != '' OR `$req` NOT NULL)";
|
||
}
|
||
} else if (!empty($required) && is_string($required)) {
|
||
$sql .= " AND (`$required` != '' OR `$required` != NULL)";
|
||
}
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
while($row = mysql_fetch_assoc($res)) {
|
||
$list[] = $row;
|
||
}
|
||
}
|
||
}
|
||
|
||
return $list;
|
||
}
|
||
|
||
public static function getSavedValues($section = null, $source_id = null, $source_ids = []) {
|
||
|
||
if (is_null($section) || (is_null($source_id) && empty($source_ids)))
|
||
return false;
|
||
|
||
$values = [];
|
||
$section_id = 0;
|
||
if ($section == "objects" || $section == 1)
|
||
$section_id = 1;
|
||
else if ($section == "clients" || $section == 2)
|
||
$section_id = 2;
|
||
|
||
if((is_null($source_id) || $source_id == 0) && !empty($source_ids)){
|
||
|
||
$source_id = $source_ids[0];
|
||
}
|
||
|
||
|
||
$sql = "SELECT *,
|
||
`blank_fields`.`title` AS `title`,
|
||
`blank_fields`.`name` AS `name`
|
||
FROM `inner_docs_fields` AS `docs_fields`
|
||
LEFT JOIN `inner_blanks_fields` AS `blank_fields` ON (`blank_fields`.`id` = `docs_fields`.`field_id`)
|
||
WHERE `docs_fields`.`section_id` = '$section_id' AND
|
||
`docs_fields`.`source_id` = '$source_id'";
|
||
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
|
||
if ($section == "objects" || $section == 1)
|
||
$section = "objects" . ".";
|
||
elseif ($section == "clients" || $section == 2)
|
||
$section = "clients" . ".";
|
||
else
|
||
$section = "";
|
||
|
||
while ($field = mysql_fetch_assoc($res)) {
|
||
$name = $section . $field['name'];
|
||
$values[$name] = $field['field_value'];
|
||
}
|
||
}
|
||
|
||
return $values;
|
||
}
|
||
|
||
public static function getAllValues($section = null, $source_id = null, $source_ids = []) {
|
||
|
||
if (is_null($section) || (is_null($source_id) && empty($source_ids) ))
|
||
return false;
|
||
|
||
$values = [];
|
||
if (!is_null($section) /*&& (!is_null($source_id) && !empty($source_ids))*/) {
|
||
|
||
if ($source_values = self::getSourceValues($section, intval($source_id), $source_ids))
|
||
$values = array_merge($values, $source_values);
|
||
|
||
if ($saved_values = self::getSavedValues($section, intval($source_id), $source_ids))
|
||
$values = array_merge($values, $saved_values);
|
||
|
||
}
|
||
|
||
return $values;
|
||
}
|
||
|
||
public static function getVariablesList($agency_id = null, $section = null, $system_vars = false, $source_id = null, $source_ids = []) {
|
||
|
||
$variables = [];
|
||
|
||
$values = [];
|
||
//var_dump(!is_null($section) && (!is_null($source_id) || !empty($source_ids)));
|
||
if (!is_null($section) && (!is_null($source_id) || !empty($source_ids)))
|
||
$values = self::getAllValues($section, intval($source_id), $source_ids);
|
||
/* if($_SESSION['id'] == 5238){
|
||
var_dump($values);
|
||
}*/
|
||
|
||
if ($system_vars || (($section == "objects" || $section == 1) && is_null($source_id))) {
|
||
foreach (self::$objectsVars as $name => $title) {
|
||
$section_name = 'objects';
|
||
$variables[$section_name][$name] = [
|
||
'id' => null,
|
||
'name' => "\${" . $section_name . "." . $name . "}",
|
||
'variable' => $name,
|
||
'section' => $section_name,
|
||
'title' => $title,
|
||
'value' => (isset($values[$section_name . "." . $name]) ? $values[$section_name . "." . $name] : null),
|
||
'default' => "",
|
||
'author' => null,
|
||
'datetime' => null,
|
||
'created_by' => null,
|
||
'updated_by' => null,
|
||
'agency_id' => null
|
||
];
|
||
}
|
||
|
||
}
|
||
|
||
if ($system_vars || (($section == "complexes" || $section == 3) && is_null($source_id))) {
|
||
foreach (self::$complexVars as $name => $title) {
|
||
$section_name = 'premise';
|
||
$variables[$section_name][$name] = [
|
||
'id' => null,
|
||
'name' => "\${" . $section_name . "." . $name . "}",
|
||
'variable' => $name,
|
||
'section' => $section_name,
|
||
'title' => $title,
|
||
'value' => (isset($values[$section_name . "." . $name]) ? $values[$section_name . "." . $name] : null),
|
||
'default' => "",
|
||
'author' => null,
|
||
'datetime' => null,
|
||
'created_by' => null,
|
||
'updated_by' => null,
|
||
'agency_id' => null
|
||
];
|
||
}
|
||
}
|
||
|
||
if ($system_vars || (($section == "clients" || $section == 2) && is_null($source_id))) {
|
||
foreach (self::$clientsVars as $name => $title) {
|
||
$section_name = 'clients';
|
||
$variables[$section_name][$name] = [
|
||
'id' => null,
|
||
'name' => "\${" . $section_name . "." . $name . "}",
|
||
'variable' => $name,
|
||
'section' => $section_name,
|
||
'title' => $title,
|
||
'value' => (isset($values[$section_name . "." . $name]) ? $values[$section_name . "." . $name] : null),
|
||
'default' => "",
|
||
'author' => null,
|
||
'datetime' => null,
|
||
'created_by' => null,
|
||
'updated_by' => null,
|
||
'agency_id' => null
|
||
];
|
||
}
|
||
if(isset($values[$section_name . ".clients"])){
|
||
$variables[$section_name]['clients'] = $values[$section_name . ".clients"];
|
||
}
|
||
/* if(!empty($source_ids)){
|
||
var_dump($source_ids);
|
||
}*/
|
||
}
|
||
|
||
if ($system_vars || (($section == "infosob" || $section == 'sobstv') && is_null($source_id))) {
|
||
$section_name = 'sobstv';
|
||
$section_name1 = 'clients_more';
|
||
/* if($_SESSION['id'] == 5238){
|
||
echo $section_name."\n";
|
||
var_dump($values['sobstv']);
|
||
}*/
|
||
foreach (self::$sobstvVars as $name => $title) {
|
||
|
||
$variables[$section_name][$name] = [
|
||
'id' => null,
|
||
'name' => "%%" . $section_name . "." . $name . "%%",
|
||
'variable' => $name,
|
||
'section' => $section_name,
|
||
'title' => $title,
|
||
'value' => (isset($values[$section_name]) ? $values[$section_name] : null),
|
||
'default' => "",
|
||
'author' => null,
|
||
'datetime' => null,
|
||
'created_by' => null,
|
||
'updated_by' => null,
|
||
'agency_id' => null
|
||
];
|
||
$variables[$section_name1][$name] = [
|
||
'id' => null,
|
||
'name' => "%%" . $section_name1 . "." . $name . "%%",
|
||
'variable' => $name,
|
||
'section' => $section_name1,
|
||
'title' => $title,
|
||
//'value' => (isset($values[$section_name1]) ? $values[$section_name1] : null),
|
||
'default' => "",
|
||
'author' => null,
|
||
'datetime' => null,
|
||
'created_by' => null,
|
||
'updated_by' => null,
|
||
'agency_id' => null
|
||
];
|
||
}
|
||
}
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql = "SELECT fields.*,
|
||
If(
|
||
fields.created_by <> 0,
|
||
(
|
||
SELECT IF(users.last_name != '' AND users.first_name != '', CONCAT(users.last_name, ' ', users.first_name, ' ', users.middle_name), users.fio) FROM users AS users
|
||
WHERE users.id = fields.created_by
|
||
), (
|
||
SELECT IF(users.last_name != '' AND users.first_name != '', CONCAT(users.last_name, ' ', users.first_name, ' ', users.middle_name), users.fio) FROM users AS users
|
||
WHERE users.id = fields.updated_by
|
||
)
|
||
) AS author,
|
||
If(
|
||
fields.updated_at <> 0,
|
||
DATE_FORMAT(fields.updated_at, '%d.%m.%Y в %H:%i'),
|
||
DATE_FORMAT(fields.created_at, '%d.%m.%Y в %H:%i')
|
||
) AS datetime
|
||
FROM `inner_blanks_fields` AS fields
|
||
WHERE `fields`.`agency_id` = $agency_id";
|
||
|
||
if ($section == "objects" || $section == 1)
|
||
$sql .= " AND `fields`.`section_id` = 1";
|
||
else if ($section == "clients" || $section == 2 || $section == 'infosob')
|
||
$sql .= " AND `fields`.`section_id` = 2";
|
||
|
||
$sql .= " ORDER BY `fields`.`id` ASC";
|
||
|
||
/* if($_SESSION['id'] == 10876){
|
||
echo $sql;
|
||
}*/
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
while ($variable = mysql_fetch_assoc($res)) {
|
||
$name = $variable['name'];
|
||
switch ((int)$variable['section_id']) {
|
||
case 1:
|
||
$section_name = 'objects';
|
||
break;
|
||
case 2:
|
||
$section_name = 'clients';
|
||
break;
|
||
case 3:
|
||
$section_name = 'premise';
|
||
break;
|
||
default:
|
||
$section_name = null;
|
||
break;
|
||
}
|
||
|
||
$name1 = "\${" . (($section_name) ? $section_name . "." : "") . $name . "}";
|
||
if($section == 'infosob'){
|
||
$section_name = "sobstv";
|
||
$name1 = "%%" . (($section_name) ? $section_name . "." : "") . $name . "%%";
|
||
}
|
||
$variables[$section_name][$name] = [
|
||
'id' => $variable['id'],
|
||
'name' => $name1,
|
||
'variable' => $name,
|
||
'section' => $variable['section_id'],
|
||
'title' => $variable['title'],
|
||
'value' => (isset($values[$section_name . "." . $name]) ? $values[$section_name . "." . $name] : null),
|
||
'default' => $variable['default'],
|
||
'author' => $variable['author'],
|
||
'datetime' => $variable['datetime'],
|
||
'created_by' => ((int)$variable['created_by']) ? $variable['created_by'] : null,
|
||
'updated_by' => ((int)$variable['updated_by']) ? $variable['updated_by'] : null,
|
||
'agency_id' => $variable['agency_id'],
|
||
];
|
||
}
|
||
}
|
||
}
|
||
|
||
return $variables;
|
||
}
|
||
|
||
public static function deleteVariable($field_id = null, $agency_id = null) {
|
||
if (is_null($field_id))
|
||
return false;
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql1 = "DELETE FROM `inner_blanks_fields`
|
||
WHERE `inner_blanks_fields`.`id` = '$field_id' AND `inner_blanks_fields`.`agency_id` = '$agency_id' LIMIT 1";
|
||
|
||
$sql2 = "DELETE FROM `inner_docs_fields`
|
||
WHERE `inner_docs_fields`.`field_id` = '$field_id'";
|
||
|
||
if (mysql_query($sql1) && mysql_query($sql2)) {
|
||
return true;
|
||
} else {
|
||
return mysql_error();
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public function getBlankTypes() {
|
||
return [
|
||
1 => 'Бланк договора',
|
||
2 => 'Бланк соглашения',
|
||
3 => 'Презентация',
|
||
];
|
||
}
|
||
|
||
public static function deleteBlank($blank_id = null, $agency_id = null) {
|
||
if (is_null($blank_id))
|
||
return false;
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql = "DELETE FROM `inner_blanks`
|
||
WHERE `inner_blanks`.`id` = '$blank_id' AND `inner_blanks`.`agency_id` = '$agency_id' LIMIT 1";
|
||
|
||
if (mysql_query($sql)) {
|
||
return true;
|
||
} else {
|
||
return mysql_error();
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public static function cloneBlank($blank_id = null, $agency_id = null) {
|
||
if (is_null($blank_id))
|
||
return false;
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql = "SELECT * FROM `inner_blanks`
|
||
WHERE `inner_blanks`.`id` = '$blank_id' AND `inner_blanks`.`agency_id` = '$agency_id' LIMIT 1";
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
$blank = mysql_fetch_assoc($res);
|
||
|
||
$blank_name = $blank['name'] . " (copy)";
|
||
$sql2 = "INSERT INTO `inner_blanks`
|
||
(`name`, `type`, `content`, `agency_id`, `created_by`) VALUES
|
||
('$blank_name', '$blank[type]', '$blank[content]', '$agency_id', '$_SESSION[id]')";
|
||
if (mysql_query($sql2)) {
|
||
return true;
|
||
} else {
|
||
return mysql_error();
|
||
}
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public function addEditInnerBlank($blank_id = null, $post) {
|
||
|
||
if (!$post)
|
||
return false;
|
||
|
||
if ($agency_id = User::getUserAgencyID()) {
|
||
$content = addslashes(html_entity_decode($post['content']));
|
||
|
||
if (intval($blank_id) !== 0) {
|
||
$sql = "UPDATE `inner_blanks` SET
|
||
`name` = '$post[name]',
|
||
`type` = '$post[type]',
|
||
`prefix` = '$post[prefix]',
|
||
`content` = '$content'
|
||
/*`created_by` = '$_SESSION[id]'*/
|
||
WHERE `agency_id` = '$agency_id' AND `id` = '$blank_id'";
|
||
} else {
|
||
$sql = "INSERT INTO `inner_blanks`
|
||
(`name`, `type`, `prefix`, `content`, `agency_id`, `created_by`) VALUES
|
||
('$post[name]', '$post[type]', '$post[prefix]', '$content', '$agency_id', '$_SESSION[id]')";
|
||
}
|
||
|
||
if (mysql_query($sql))
|
||
return true;
|
||
|
||
return mysql_error();
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
|
||
public function validateInnerField($post, $byIndex = true) {
|
||
|
||
$indx = [];
|
||
$errors = [];
|
||
foreach ($post as $name => $value) {
|
||
|
||
if (!isset($indx[$name]))
|
||
$indx[$name] = 0;
|
||
|
||
$error = '';
|
||
if ($name == "section" || $name == "sections") {
|
||
if ($value == intval(0))
|
||
$error = "Поле «Назначение» обязательно к заполнению.";
|
||
|
||
if (!is_int((int)$value))
|
||
$error = "Поле «Назначение» должно быть числом.";
|
||
|
||
} else if ($name == "title" || $name == "titles") {
|
||
if (strlen($value) == 0)
|
||
$error = "Поле «Название» обязательно к заполнению.";
|
||
|
||
if (strlen($value) > 255)
|
||
$error = "Поле «Название» должно быть не больше 255 знаков.";
|
||
|
||
} else if ($name == "name" || $name == "names") {
|
||
if (strlen($value) == 0)
|
||
$error = "Поле «Переменная» обязательно к заполнению.";
|
||
|
||
if (strlen($value) > 64)
|
||
$error = "Поле «Переменная» должно быть не больше 64 знаков.";
|
||
|
||
if (!preg_match('/^[a-z0-9-_]+$/i', $value))
|
||
$error = "Не верный формат поля «Переменная». Разрешены латинские буквы, цифры и знак подчеркивания.";
|
||
|
||
} else if ($name == "default" || $name == "defaults") {
|
||
if (strlen($value) > 255)
|
||
$error = "Поле «Значение по-умолчанию» должно быть не больше 255 знаков.";
|
||
}
|
||
|
||
if (!empty($error)) {
|
||
if ($byIndex)
|
||
$errors[$name][$indx[$name]] = $error;
|
||
else
|
||
$errors[$name] = $error;
|
||
}
|
||
|
||
$indx[$name]++;
|
||
}
|
||
|
||
if (!empty($errors))
|
||
return ['errors' => $errors];
|
||
else
|
||
return true;
|
||
}
|
||
|
||
public function validateInnerFields($post, $byIndex = false) {
|
||
$indx = [];
|
||
$errors = [];
|
||
foreach ($post as $name => $values) {
|
||
foreach ($values as $value) {
|
||
|
||
if (!isset($indx[$name]))
|
||
$indx[$name] = 0;
|
||
|
||
$field = [$name => $value];
|
||
if (is_array($error = self::validateInnerField($field, $byIndex))) {
|
||
$errors[$name][$indx[$name]] = $error['errors'][$name];
|
||
}
|
||
|
||
$indx[$name]++;
|
||
}
|
||
}
|
||
|
||
if (!empty($errors))
|
||
return ['errors' => $errors];
|
||
else
|
||
return true;
|
||
}
|
||
|
||
public function addEditFields($post) {
|
||
|
||
if (!$post)
|
||
return false;
|
||
|
||
if (is_array($errors = self::validateInnerFields($post)))
|
||
return $errors;
|
||
|
||
$i = 0;
|
||
$errors = [];
|
||
$fields = [];
|
||
foreach ($post['names'] as $name) {
|
||
if (!empty($name)) {
|
||
$fields[] = [
|
||
'id' => isset($post['ids'][$i]) ? $post['ids'][$i] : null,
|
||
'section' => isset($post['sections'][$i]) ? $post['sections'][$i] : 0,
|
||
'title' => isset($post['titles'][$i]) ? $post['titles'][$i] : $name,
|
||
'name' => $name,
|
||
'default' => isset($post['defaults'][$i]) ? $post['defaults'][$i] : "",
|
||
];
|
||
}
|
||
$i++;
|
||
}
|
||
|
||
if ($agency_id = User::getUserAgencyID()) {
|
||
foreach ($fields as $field) {
|
||
if ($id = $field['id']) {
|
||
$sql = "UPDATE `inner_blanks_fields` SET
|
||
`section_id` = '$field[section]',
|
||
`title` = '$field[title]',
|
||
`name` = '$field[name]',
|
||
`default` = '$field[default]',
|
||
`updated_by` = '$_SESSION[id]'
|
||
WHERE `id` = '$id' AND `agency_id` = '$agency_id';";
|
||
|
||
} else {
|
||
$sql = "INSERT INTO `inner_blanks_fields`
|
||
(`section_id`, `title`, `name`, `default`, `agency_id`, `created_by`) VALUES
|
||
('$field[section]', '$field[title]', '$field[name]', '$field[default]', '$agency_id', '$_SESSION[id]');";
|
||
}
|
||
|
||
if (!mysql_query($sql))
|
||
$errors[] = mysql_error();
|
||
}
|
||
}
|
||
|
||
if (!empty($errors))
|
||
return $errors;
|
||
|
||
return true;
|
||
}
|
||
|
||
public function saveDocFields(
|
||
$source_id = null,
|
||
$section = null,
|
||
$post = null
|
||
) {
|
||
if (!$source_id || !$section || !$post) {
|
||
return false;
|
||
}
|
||
|
||
$errors = [];
|
||
$section_id = 0;
|
||
|
||
if ($section == 'objects' || $section == 1) {
|
||
$section_id = 1;
|
||
} else if ($section == 'clients' || $section == 2) {
|
||
$section_id = 2;
|
||
}
|
||
|
||
$source_id = (int)$source_id;
|
||
$user_id = (int)$_SESSION['id'];
|
||
|
||
foreach ($post as $field_id => $field_value) {
|
||
|
||
$field_id = intval(trim($field_id, '\''));
|
||
$field_value = mysql_real_escape_string(
|
||
htmlentities(trim($field_value, '\''))
|
||
);
|
||
|
||
if ($field_id) {
|
||
|
||
$sql = "INSERT INTO `inner_docs_fields`
|
||
(`section_id`, `source_id`, `field_id`, `field_value`, `created_by`)
|
||
VALUES
|
||
('$section_id', '$source_id', '$field_id', '$field_value', '$user_id')
|
||
ON DUPLICATE KEY UPDATE
|
||
`field_value` = VALUES(`field_value`),
|
||
`updated_by` = '$user_id',
|
||
`updated_at` = NOW()";
|
||
|
||
if (!mysql_query($sql)) {
|
||
$errors[] = mysql_error();
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!empty($errors)) {
|
||
return $errors;
|
||
}
|
||
|
||
return true;
|
||
}
|
||
|
||
|
||
|
||
public function getInnerDoc($agency_id = null, $doc_id = null) {
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
$docs = [];
|
||
if ($agency_id) {
|
||
$sql = "SELECT docs.*,
|
||
If(
|
||
docs.created_by <> 0,
|
||
(
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = blanks.created_by
|
||
), (
|
||
SELECT users.fio FROM users AS users
|
||
WHERE users.id = blanks.updated_by
|
||
)
|
||
) AS author,
|
||
blanks.name AS blank,
|
||
blanks.id AS blank_id,
|
||
If(
|
||
docs.updated_at <> 0,
|
||
UNIX_TIMESTAMP(docs.updated_at),
|
||
UNIX_TIMESTAMP(docs.created_at)
|
||
) AS datetime
|
||
FROM `inner_docs` AS docs
|
||
LEFT JOIN `inner_blanks` AS blanks ON (`docs`.`blank_id` = `blanks`.`id`)
|
||
WHERE `docs`.`agency_id` = '$agency_id'";
|
||
|
||
if (!is_null($doc_id))
|
||
$sql .= " AND `docs`.`id` = '$doc_id' LIMIT 1";
|
||
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
if (!is_null($doc_id)) {
|
||
return mysql_fetch_assoc($res);
|
||
} else {
|
||
while ($doc = mysql_fetch_assoc($res)) {
|
||
$docs[] = $doc;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return $docs;
|
||
}
|
||
|
||
public function getInnerDocs($agency_id = null) {
|
||
return self::getInnerDoc($agency_id, null);
|
||
}
|
||
|
||
public function editDocument($doc_id = null, $post) {
|
||
if ($agency_id = User::getUserAgencyID()) {
|
||
$content = mysql_real_escape_string(html_entity_decode($post['content']));
|
||
|
||
if (!is_null($doc_id)) {
|
||
$sql = "UPDATE `inner_docs` SET
|
||
`name` = '$post[name]',
|
||
`content` = '$content'
|
||
/*`created_by` = '$_SESSION[id]'*/
|
||
WHERE `agency_id` = '$agency_id' AND `id` = '$doc_id'";
|
||
|
||
if (mysql_query($sql))
|
||
return true;
|
||
|
||
return mysql_error();
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public static function deleteDocument($doc_id = null, $agency_id = null) {
|
||
if (is_null($doc_id))
|
||
return false;
|
||
|
||
if (is_null($agency_id))
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
if ($agency_id) {
|
||
$sql = "DELETE FROM `inner_docs`
|
||
WHERE `inner_docs`.`id` = '$doc_id' AND `inner_docs`.`agency_id` = '$agency_id' LIMIT 1";
|
||
|
||
if (mysql_query($sql)) {
|
||
return true;
|
||
} else {
|
||
return mysql_error();
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
public static function getAllValuesForDocs($room , $premiseItems){
|
||
$house_id = intval($room['house_id']);
|
||
$floor_id = intval($room['floor_id']);
|
||
$entrance_id = intval($room['entrance_id']);
|
||
$query ="SELECT
|
||
(SELECT address FROM complex_houses WHERE id = $house_id LIMIT 1) AS address,
|
||
(SELECT COUNT(*) FROM complex_rooms WHERE floor_id = $floor_id) AS room_count,
|
||
(SELECT position FROM complex_entrances WHERE id = $entrance_id LIMIT 1) AS entrance_number
|
||
";
|
||
$result = mysql_query($query);
|
||
$row = mysql_fetch_assoc($result);
|
||
$room['address'] = $row['address'];
|
||
$room['apartments_on_floor_count'] = $row['room_count'];
|
||
$room['entrance_number'] = $row['entrance_number'];
|
||
$attributes = $room['attributes'];
|
||
$attributeRoom = array_filter($attributes, function($attr) {
|
||
return $attr['attribute_type'] === 'room';
|
||
});
|
||
$bathrooms = array_filter($attributes, function($attr) {
|
||
return $attr['attribute_type'] === 'bathroom';
|
||
});
|
||
$balconies = array_filter($attributes, function($attr) {
|
||
return in_array($attr['attribute_type'], ['balcony', 'loggia']);
|
||
});
|
||
|
||
$rooms_list = '';
|
||
foreach (array_values($attributeRoom) as $i => $r) {
|
||
$label = 'Комната № ' . ($i + 1);
|
||
if (isset($r['area']) && floatval($r['area']) > 0) {
|
||
$rooms_list .= $label;
|
||
} else {
|
||
$rooms_list .= '(нет данных)';
|
||
}
|
||
if ($i < count($attributeRoom) - 1) {
|
||
$rooms_list .= ', ';
|
||
}
|
||
}
|
||
|
||
$bathroom_list = '';
|
||
foreach (array_values($bathrooms) as $i => $b) {
|
||
$label = 'Санузел № ' . ($i + 1);
|
||
if (isset($b['area']) && floatval($b['area']) > 0) {
|
||
$bathroom_list .= $label;
|
||
} else {
|
||
$bathroom_list .= '(нет данных)';
|
||
}
|
||
if ($i < count($bathrooms) - 1) {
|
||
$bathroom_list .= ', ';
|
||
}
|
||
}
|
||
|
||
$balcony_loggia_list = '';
|
||
foreach (array_values($balconies) as $i => $b) {
|
||
$typeName = isset($b['attribute_type']) && $b['attribute_type'] === 'balcony' ? 'Балкон' : 'Лоджия';
|
||
$label = $typeName . ' № ' . ($i + 1);
|
||
if (isset($b['area']) && floatval($b['area']) > 0) {
|
||
$balcony_loggia_list .= $label;
|
||
} else {
|
||
$balcony_loggia_list .= '(нет данных)';
|
||
}
|
||
if ($i < count($balconies) - 1) {
|
||
$balcony_loggia_list .= ', ';
|
||
}
|
||
}
|
||
|
||
$rooms_areas = '';
|
||
foreach (array_values($attributeRoom) as $i => $r) {
|
||
$area = (isset($r['area']) && floatval($r['area']) > 0) ? floatval($r['area']) . ' м²' : 'нет данных';
|
||
$rooms_areas .= $area;
|
||
if ($i < count($attributeRoom) - 1) {
|
||
$rooms_areas .= ', ';
|
||
}
|
||
}
|
||
|
||
$bathroom_areas = '';
|
||
foreach (array_values($bathrooms) as $i => $b) {
|
||
$area = (isset($b['area']) && floatval($b['area']) > 0) ? floatval($b['area']) . ' м²' : 'нет данных';
|
||
$bathroom_areas .= $area;
|
||
if ($i < count($bathrooms) - 1) {
|
||
$bathroom_areas .= ', ';
|
||
}
|
||
}
|
||
|
||
$balcony_loggia_areas = '';
|
||
foreach (array_values($balconies) as $i => $b) {
|
||
$area = (isset($b['area']) && floatval($b['area']) > 0) ? floatval($b['area']) . ' м²' : 'нет данных';
|
||
$balcony_loggia_areas .= $area;
|
||
if ($i < count($balconies) - 1) {
|
||
$balcony_loggia_areas .= ', ';
|
||
}
|
||
}
|
||
|
||
|
||
$room['rooms_list'] = $rooms_list;
|
||
$room['rooms_areas'] = $rooms_areas;
|
||
|
||
$room['bathroom_list'] = $bathroom_list;
|
||
$room['bathroom_areas'] = $bathroom_areas;
|
||
|
||
$room['balcony_loggia_list'] = $balcony_loggia_list;
|
||
$room['balcony_loggia_areas'] = $balcony_loggia_areas;
|
||
|
||
$keyMap = [
|
||
'apartment_number' => 'number',
|
||
'floor' => 'floor',
|
||
'entrance_number' => 'entrance_number',
|
||
'rooms_count' => 'rooms_count',
|
||
'area_price' => 'area_price',
|
||
'fullprice' => 'total_amount',
|
||
'installment_price' => 'installment_price',
|
||
'calculated_area' => 'estimated_area',
|
||
'living_area' => 'living_area',
|
||
'kitchen_area' => 'kitchen_area',
|
||
'area_without_balcony' => 'area_without_balcony',
|
||
'hallway_area' => 'hallway_area',
|
||
'total_area_excl_living' => 'total_area_excl_living',
|
||
'total_bathroom_area' => 'total_bathroom_area',
|
||
'total_balcony_loggia_area' => 'total_balcony_loggia_area',
|
||
'address' => 'address',
|
||
'apartments_on_floor_count' => 'apartments_on_floor_count',
|
||
'rooms_list' => 'rooms_list',
|
||
'rooms_areas' => 'rooms_areas',
|
||
'bathroom_list' => 'bathroom_list',
|
||
'bathroom_areas' => 'bathroom_areas',
|
||
'balcony_loggia_list' => 'balcony_loggia_list',
|
||
'balcony_loggia_areas' => 'balcony_loggia_areas'
|
||
];
|
||
|
||
foreach ($keyMap as $templateKey => $roomKey) {
|
||
|
||
if (!isset($premiseItems[$templateKey])) {
|
||
$premiseItems[$templateKey] = [];
|
||
}
|
||
if (isset($room[$roomKey])) {
|
||
$premiseItems[$templateKey]['value'] = $room[$roomKey];
|
||
} else {
|
||
$premiseItems[$templateKey]['value'] = null;
|
||
}
|
||
}
|
||
|
||
return $premiseItems;
|
||
|
||
}
|
||
|
||
public function fillInnerDocument($blank_id = null, $client_id = null, $object_id = null, $client_ids=[], $debug = false, $room = null) {
|
||
|
||
|
||
if (is_null($room)) {
|
||
if (is_null($blank_id) || (is_null($client_id) && empty($client_ids)) || is_null($object_id))
|
||
return null;
|
||
} else {
|
||
if (is_null($blank_id) || is_null($client_id)) {
|
||
return null;
|
||
}
|
||
}
|
||
|
||
$agency_id = User::getUserAgencyID();
|
||
|
||
$list = [];
|
||
|
||
$clients = self::getVariablesList($agency_id, "clients", true, intval($client_id), $client_ids);
|
||
$list["clients"] = $clients["clients"];
|
||
|
||
$objects = self::getVariablesList($agency_id, "objects", true, intval($object_id));
|
||
$list["objects"] = $objects["objects"];
|
||
|
||
$sobstv = self::getVariablesList($agency_id, "sobstv", true, intval($object_id));
|
||
$list["sobstv"] = $objects["sobstv"];
|
||
|
||
if (!is_null($room)){
|
||
$premiseItems = self::getVariablesList($agency_id, "complexes", true, $room);
|
||
$premise = self::getAllValuesForDocs($room, $premiseItems['premise']);
|
||
$list["premise"] = $premise;
|
||
}
|
||
|
||
$blank = self::getInnerBlank($agency_id, intval($blank_id));
|
||
|
||
if (!empty($blank['content']) && count($list) > 0) {
|
||
/* if($_SESSION['id'] == 5238){
|
||
var_dump(stristr('${objects.sobstv.fio}', $blank['content']));
|
||
echo $blank['content']."\n";
|
||
//if(strpos())
|
||
}*/
|
||
$sobstvs = array();
|
||
$clients_vals = array();
|
||
list($patterns, $replacements) = [[],[]];
|
||
foreach ($list as $section => $variables) {
|
||
|
||
foreach ($variables as $variable => $data) {
|
||
if($section == 'sobstv'){
|
||
$sobstvs = $data['value'];
|
||
if($_SESSION['id'] == 5238){
|
||
|
||
//var_dump($sobstvs);
|
||
//var_dump($data);
|
||
}
|
||
}
|
||
if($section == 'clients' && $variable == 'clients'){
|
||
$clients_vals = $data;
|
||
}
|
||
|
||
if ($section == "objects" || $section == 1)
|
||
$section_name = "Объект: ";
|
||
else if ($section == "clients" || $section == 2)
|
||
$section_name = "Клиент: ";
|
||
else if ($section == "sobstv")
|
||
$section_name = "Собственник: ";
|
||
else if ($section == "3" || $section == "premise")
|
||
$section_name = "ЖК.Помещение: ";
|
||
else
|
||
$section_name = "";
|
||
|
||
$pattern = $data['name'];
|
||
|
||
if($section != 'sobstv'){
|
||
if (!($value = $data['value'])) {
|
||
if (!($value = $data['default'])) {
|
||
|
||
if(strpos($variable, 'sobstv') !== false){
|
||
for($i = 1; $i<=5; $i++){
|
||
if($variable === 'sobstv'.$i.'.fio'){
|
||
$value = '';
|
||
}
|
||
}
|
||
} else{
|
||
$value = '__{' . $section_name . $data['title'] . '}__';
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if ($pattern && $value) {
|
||
$patterns[] = $pattern;
|
||
$replacements[] = ' ' . $value . ' ';
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//if(!empty($sobstvs)){
|
||
$str = $blank['content'];
|
||
$strings = array();
|
||
$last = '${*{';
|
||
$pos = -1;
|
||
$result1 = [];
|
||
$result2 = [];
|
||
|
||
while(($pos = strpos($str, $last, $pos+1))!==false) {
|
||
$result1[] = $pos;
|
||
}
|
||
|
||
$last = '}*}';
|
||
$pos = -1;
|
||
|
||
|
||
while(($pos = strpos($str, $last, $pos+1))!==false) {
|
||
$result2[] = $pos;
|
||
}
|
||
|
||
|
||
|
||
foreach($result1 as $key => $rez){
|
||
$strd = substr($str, $rez, ($result2[$key] - $rez)+3);
|
||
$strings[] = $strd;
|
||
}
|
||
|
||
|
||
foreach($strings as $strCont){
|
||
$valuestr = '';
|
||
if(strpos($strCont, 'sobstv.') !== false){
|
||
|
||
foreach($sobstvs as $sob){
|
||
// var_dump($sob);
|
||
$patternsstr=[]; $replacementsstr=[];
|
||
$patternsstr[] = '${*{'; $replacementsstr[] = '';
|
||
//$patternsstr[] = '*}'; $replacementsstr[] = '';
|
||
$patternsstr[] = '}*}'; $replacementsstr[] = '';
|
||
|
||
|
||
// $patternsstr[] = '*'; $replacementsstr[] = '';
|
||
foreach($sob as $pole => $val){
|
||
$patternsstr[] = "{objects.sobstv.".$pole."}";
|
||
$replacementsstr[] = $val;
|
||
$patternsstr[] = "%%sobstv.".$pole."%%";
|
||
$replacementsstr[] = $val;
|
||
}
|
||
|
||
if(trim($valuestr) != '' && !empty(trim($valuestr))) $valuestr .= " и <br><br>";
|
||
$valuestr .= str_replace($patternsstr, $replacementsstr, $strCont);
|
||
|
||
}
|
||
} else if(strpos($strCont, 'clients_more.') !== false){
|
||
if(!empty($clients_vals)){
|
||
foreach($clients_vals as $sob){
|
||
$patternsstr=[]; $replacementsstr=[];
|
||
$patternsstr[] = '${*{'; $replacementsstr[] = '';
|
||
//$patternsstr[] = '*}'; $replacementsstr[] = '';
|
||
$patternsstr[] = '}*}'; $replacementsstr[] = '';
|
||
|
||
|
||
// $patternsstr[] = '*'; $replacementsstr[] = '';
|
||
foreach($sob as $pole => $val){
|
||
$patternsstr[] = "%%clients_more.".$pole."%%";
|
||
$replacementsstr[] = $val;
|
||
}
|
||
//var_dump($patternsstr);
|
||
//var_dump($replacementsstr);
|
||
if(trim($valuestr) != '' && !empty(trim($valuestr))) $valuestr .= " и <br><br>";
|
||
$valuestr .= str_replace($patternsstr, $replacementsstr, $strCont);
|
||
}
|
||
}
|
||
}
|
||
// var_dump($strCont);
|
||
//var_dump($valuestr);
|
||
$patternsprev[] = $strCont;
|
||
$replacementsprev[] = $valuestr;
|
||
/* echo json_encode($patternsprev, JSON_UNESCAPED_UNICODE)."\n";
|
||
echo json_encode($replacementsprev, JSON_UNESCAPED_UNICODE)."\n";
|
||
echo $str."\n";*/
|
||
}
|
||
// }
|
||
|
||
$gmtmsk = get_time_zone_user();
|
||
$time_zone = '';
|
||
|
||
if($gmtmsk >= 0){
|
||
$time_zone = '+'.$gmtmsk.' hour';
|
||
} else {
|
||
$time_zone = '-'.$gmtmsk.' hour';
|
||
}
|
||
|
||
$prefix_doc = self::generatePrefixDoc($blank['id'], $blank['agency_id'], $blank['prefix']);
|
||
$name = $blank['name']. ' ' .$prefix_doc.'от ' . date('d-m-Y H:i:s', strtotime($time_zone));
|
||
|
||
$content = $blank['content'];
|
||
|
||
if(isset($patternsprev) && isset($replacementsprev)){
|
||
$content = str_replace($patternsprev, $replacementsprev, $content);
|
||
}
|
||
|
||
$content = stripcslashes($content);
|
||
$content = str_replace($patterns, $replacements, $content);
|
||
$content = str_replace('${prefix.prefix_doc}', $prefix_doc, $content);
|
||
|
||
$content = stripcslashes($content);
|
||
$content = str_replace($patterns, $replacements, $content);
|
||
|
||
/* if ($section == "objects" || $section == 1){
|
||
$values = [];
|
||
for($part_index = 1; $part_index<=5; $part_index++){
|
||
// $values[] = '${objects.sobstv'.$part_index.'.id}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.fio}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.email}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.phone}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.phone2}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.birthday}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.type}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.opis}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.date_add}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.budget}';
|
||
$values[] = '${objects.sobstv'.$part_index.'.source}';
|
||
}
|
||
if(!empty($values)){
|
||
$content = str_replace($values, '', $content);
|
||
}
|
||
}*/
|
||
$content = preg_replace('/(\$\{[a-zA-z0-9_.]+\})+/', ' __{Переменная ${1} не найдена}__ ', $content);
|
||
$content = str_replace(['${*{', '}*}'], '', $content);
|
||
$content = str_replace('$', '', $content);
|
||
$content = str_replace(' ', ' ', $content);
|
||
$content = addslashes(html_entity_decode($content));
|
||
|
||
if ($debug) {
|
||
echo $content;
|
||
die();
|
||
}
|
||
|
||
$blank_id = $blank['id'];
|
||
$json_client_ids = '';
|
||
if(!empty($client_ids)){
|
||
$json_client_ids = htmlentities(json_encode($client_ids));
|
||
}
|
||
if (is_null($room)) {
|
||
$params = json_encode([
|
||
'client_id' => intval($client_id),
|
||
'object_id' => intval($object_id),
|
||
'client_ids' => $json_client_ids
|
||
]);
|
||
}else {
|
||
$params = json_encode([
|
||
'client_id' => intval($client_id),
|
||
'room_id' => intval($room['id']),
|
||
'client_ids' => $json_client_ids
|
||
]);
|
||
}
|
||
|
||
$sql = "INSERT INTO `inner_docs`
|
||
(`name`, `content`, `blank_id`, `agency_id`, `params`, `created_by`) VALUES
|
||
('$name', '$content', '$blank_id', '$agency_id', '$params', '$_SESSION[id]')";
|
||
|
||
if (mysql_query($sql)) {
|
||
return [
|
||
'doc_id' => mysql_insert_id(),
|
||
'doc_name' => $name
|
||
];
|
||
} else {
|
||
return mysql_error();
|
||
}
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
public static function generatePrefixDoc($blank_id, $agency_id = null, $blank_prefix) {
|
||
if ($blank_prefix) {
|
||
if (!$agency_id) {
|
||
$agency_id = User::getUserAgencyID();
|
||
}
|
||
$sql = "SELECT COUNT(*) AS count FROM inner_docs WHERE `blank_id` = '$blank_id' AND `agency_id` = '$agency_id'";
|
||
$res = mysql_query($sql);
|
||
if (mysql_num_rows($res)) {
|
||
$row = mysql_fetch_assoc($res);
|
||
$prefix_number = $row['count'] + 1;
|
||
} else {
|
||
$prefix_number = 1;
|
||
}
|
||
$currentYear = date('Y');
|
||
|
||
$prefix_name = $prefix_number . '/'.$blank_prefix .'/'.$currentYear. ' ';
|
||
} else {
|
||
$prefix_name = '';
|
||
}
|
||
|
||
return $prefix_name;
|
||
}
|
||
}
|
||
|
||
?>
|