Joywork/ajax/copyObjectFromArchive.php

256 lines
12 KiB
PHP
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
if($_SESSION['id'] && isset($_POST['objId']) && is_numeric($_POST['objId'])) {
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
$post = clearInputData($_POST);
$sql = "SELECT * FROM users WHERE id = $_SESSION[id]";
$rez = mysql_query($sql);
$user = mysql_fetch_assoc($rez);
$dateAdd = date("Y-m-d H:i:s");
$phone = $user['phone'];
$num_search = num_search($user['phone']);
/*if(!empty($user['phone2'])){
$phone = $phone.' '.$user['phone2'];
}*/
$agency = new User;
$agency->get($_SESSION['id']);
if (!isset($agency->agencyId)) {
$agency->agencyId = $_SESSION['id'];
if (!empty($agency->agency_name) && $agency->agency)
$agency->agencyName = $agency->agency_name;
elseif (!empty($agency->agency_name) && $agency->agency)
$agency->agencyName = $agency->agency_name;
}
if ($_SESSION['agency']) {
$sobstv = trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name']) . ", агентство " . $user['agency_name'];
} else {
if (isset($agency->agencyName)) {
$sobstv = trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name']) . ", агентство " . $agency->agencyName;
} else {
$sobstv = trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name']);
}
}
$sql3="SELECT * FROM objects WHERE objects.id = $post[objId]";
$rez_obj=mysql_query($sql3);
$obj=mysql_fetch_assoc($rez_obj);
if ($obj) {
$link = '';
$sqlAdsLink = "SELECT ads_url FROM ads_objects WHERE obj_id = $obj[id]";
$rezAdsLink = mysql_query($sqlAdsLink);
if (mysql_num_rows($rezAdsLink) > 0) {
$link = mysql_fetch_assoc($rezAdsLink)['ads_url'];
}
//ставим родительский регион, так как в выпадайке на форме только регионы с parent = 0
$sqlRegions = "SELECT * FROM rf_regions WHERE id = $obj[id_rf_region]";
$rezRegions = mysql_query($sqlRegions);
if (mysql_num_rows($rezRegions) > 0) {
$region = mysql_fetch_assoc($rezRegions);
if ($region['parent']) {
$obj['id_rf_region'] = $region['parent'];
}
}
//переносим объект
$opis = '';
if(!empty($obj['opis'])){
$opis = mysql_real_escape_string(cleanHtml($obj['opis'], '<p><br><strong><em><ul><ol><li>'));
}
$sql = "INSERT INTO objects(prim_srok, nazv, type, rayon, adres, dom, peshkom, transport, srok, komnat, vsego_komn, etazh, etazh_iz, ploshad, ploshad_k, ploshad_komn, holod, stirka, tv, mebel, stoim, stoim_prim, opis, phone, moder, date_add, sobstv, phone_search, id_add_user, id_user, date_really_add, commission, add_to_yandex_feed, add_from_archive, initial_object_id, initial_object_phone, initial_object_sobstv, type_category, operation_type, id_rf_region)
VALUES('$obj[prim_srok]', '$obj[nazv]', '$obj[type]', '$obj[rayon]', '$obj[adres]', '$obj[dom]', '$obj[peshkom]', '$obj[transport]', '$obj[srok]', '$obj[komnat]', '$obj[vsego_komn]', '$obj[etazh]', '$obj[etazh_iz]', '$obj[ploshad]', '$obj[ploshad_k]', '$obj[ploshad_komn]', '$obj[holod]', '$obj[stirka]', '$obj[tv]', '$obj[mebel]', '$obj[stoim]', '$obj[stoim_prim]', '$opis', '$phone', '$obj[moder]', '$dateAdd', '$sobstv', '$num_search', '$_SESSION[id]', '$_SESSION[id]', NOW(), '0', '0', '1', '$obj[id]', '$obj[phone]', '$obj[sobstv]', '$obj[type_category]', '$obj[operation_type]', '$obj[id_rf_region]')";
mysql_query($sql);
$id = mysql_insert_id();
//Запрос в сфинкс
$sql_sh = "INSERT INTO objects_rt (id, type, rayon_id, adres, peshkom, transport, srok, komnat, etazh, ploshad, ploshad_k, ploshad_komn, holod, stirka, tv, mebel, stoim, stoim_prim, sort_price, price_for_order, moder, date_add, phone_search, id_add_user, commission, type_category, operation_type, id_rf_region)
VALUES('$id', '$obj[type]', '$obj[rayon]', '$obj[adres]', '$obj[peshkom]', '$obj[transport]', '$obj[srok]', '$obj[komnat]', '$obj[etazh]', '$obj[ploshad]', '$obj[ploshad_k]', '$obj[ploshad_komn]', '$obj[holod]', '$obj[stirka]', '$obj[tv]', '$obj[mebel]', '$obj[stoim]', '$obj[stoim_prim]', '$obj[stoim]', '$obj[stoim]', '$obj[moder]', '".time()."', '$num_search', '$_SESSION[id]', '0', '$obj[type_category]', '$obj[operation_type]', '$obj[id_rf_region]')";
$db_sphinx->query($sql_sh, true);
//переносим метро
$sql4="SELECT * FROM sp_metro WHERE id_obj = $post[objId]";
$rez_metro=mysql_query($sql4);
while($m = mysql_fetch_assoc($rez_metro)) {
$sql = "INSERT INTO sp_metro(id_obj, id_metro) VALUES('$id', '$m[id_metro]')";
mysql_query($sql);
}
//переносим фото
$sqlSelectPhoto = "select oop.id, oop.object_photo_id, oop.sort_order from objects_object_photo oop where oop.object_id = $post[objId]";
$rezSelectPhoto = mysql_query($sqlSelectPhoto);
if (mysql_num_rows($rezSelectPhoto) > 0) {
$result = SelectelApi::getTokenAndUrl();
$token = $result[0];
$storageUrl = $result[1];
while ($objPh = mysql_fetch_assoc($rezSelectPhoto)) {
$sqlPhoto = "SELECT * FROM object_photo where id = $objPh[object_photo_id]";
$rezPhoto = mysql_query($sqlPhoto);
if (mysql_num_rows($rezPhoto) > 0) {
$photo = mysql_fetch_assoc($rezPhoto);
$pathInfo = pathinfo($photo['photo']);
if (stripos($photo['photo'], "http://") === false && stripos($photo['photo'], "https://") === false) {
$photo['photo'] = $_SERVER['DOCUMENT_ROOT'] . "/photos/" . $photo['photo'];
}
$content = file_get_contents($photo['photo']);
$ext = $pathInfo['extension'];
if (!$pathInfo['extension']) {
$ext = 'jpg';
}
if (strlen($ext) > 4) {
$ext = 'jpg';
}
$ph = md5($pathInfo['filename'].time())."_cpd.".$ext;
$one = mb_substr($ph, 0, 1);
$two = mb_substr($ph, 1, 1);
$three = mb_substr($ph, 3, 1);
$ph = "$one/$two/$three/$ph";
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one")) {
mkdir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one");
}
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one/$two")) {
mkdir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one/$two");
}
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one/$two/$three")) {
mkdir($_SERVER['DOCUMENT_ROOT'] . "/photos/$one/$two/$three");
}
$f1 = fopen($_SERVER['DOCUMENT_ROOT'] . "/photos/" . $ph, "a");
fwrite($f1, $content);
fclose($f1);
//загрузка в Selectel
$fp = $_SERVER['DOCUMENT_ROOT'] . "/photos/" . $ph;
$r = SelectelApi::uploadFile($storageUrl, $token, $fp, $ph, 'image/'.$ext);
//если выложили в Selectel
if ($r) {
//заменяем путь на новый
$ph = "https://data.joywork.ru/" . $ph;
//удаляем файл с локального сервера
unlink($fp);
}
$sqlInsPhoto = "INSERT INTO object_photo(photo) VALUES('$ph')";
mysql_query($sqlInsPhoto);
$photoId = mysql_insert_id();
$sqlInsPhotoLink = "INSERT INTO objects_object_photo(object_id, object_photo_id, sort_order) VALUES($id, $photoId, $objPh[sort_order])";
mysql_query($sqlInsPhotoLink);
}
}
}
//переносим адрес
$sqlLoc="SELECT * FROM object_location WHERE object_id = $post[objId]";
$rezLoc=mysql_query($sqlLoc);
while($loc = mysql_fetch_assoc($rezLoc)) {
$sqlInsLoc = "INSERT INTO object_location(`object_id`, `address`, `latitude`, `longitude`, `street`, `rf_region_rayon`, `city`, `deleted`, `part`) VALUES($id, '$loc[address]', '$loc[latitude]', '$loc[longitude]', '$loc[street]', '$loc[rf_region_rayon]', '$loc[city]', '$loc[deleted]', '$loc[part]')";
mysql_query($sqlInsLoc);
}
//переносим доп поля продажи
if ($obj['operation_type'] == 1) {
$sql77 = "SELECT * FROM sale_objects WHERE object_id=$post[objId]";
$rez77 = mysql_query($sql77);
while ($saleObj = mysql_fetch_assoc($rez77)) {
$sql88 = "INSERT INTO sale_objects (object_id, house_material, house_type, deal_type, build_year) VALUES ('$id', '$saleObj[house_material]', '$saleObj[house_type]', '$saleObj[deal_type]', '$saleObj[build_year]')";
mysql_query($sql88);
}
}
//переносим заметки
$sql4="SELECT * FROM user_object_events WHERE object_id = $post[objId] and user_id = $_SESSION[id]";
$rez_events=mysql_query($sql4);
while($event = mysql_fetch_assoc($rez_events)) {
$address = 'NULL';
if ($event['address']) {
$address = "'$event[address]'";
}
$sum = 'NULL';
if ($event['sum']) {
$sum = "'$event[sum]'";
}
$schDate = 'NULL';
if ($event['schedule_date']) {
$schDate = "'$event[schedule_date]'";
}
$comment = 'NULL';
if ($event['comment']) {
$comment = "'$event[comment]'";
}
$sql = "INSERT INTO user_object_events(user_id, object_id, create_date, type, address, sum, schedule_date, comment, calendar_view)
VALUES('$event[user_id]', '$id', '$event[create_date]', '$event[type]', $address, $sum, $schDate, $comment, '$event[calendar_view]')";
mysql_query($sql);
}
$com = 'Объект скопирован из Поиска (ID ' . $obj['id'] . '). Ссылка на первоисточник: <a target="_blank" href="' . $link .'">' . $link . '</a>';
$sql = "INSERT INTO user_object_events(user_id, object_id, create_date, type, address, sum, schedule_date, comment, calendar_view)
VALUES('$_SESSION[id]', '$id', NOW(), 'comment', NULL, NULL, NULL, '$com', '1')";
mysql_query($sql);
$sqlPriceHist = "INSERT INTO objects_price_history (object_id, date_change_price, price, price_ku) VALUES
($id, now(), '$obj[stoim]', 0)";
mysql_query($sqlPriceHist);
//переносим примечания
$sql5 = "SELECT * FROM object_notes WHERE object_id = $post[objId]";
$rez_notes = mysql_query($sql5);
while($note = mysql_fetch_assoc($rez_notes)) {
$sql = "INSERT INTO object_notes(object_id, message, created_at, created_by, updated_at, updated_by)
VALUES($id, '$note[message]', '$note[created_at]', '$note[created_by]', '$note[updated_at]', '$note[updated_by]')";
mysql_query($sql);
}
/**
* отправка хука
*/
$agencyId = (int)$agency->agencyId;
if($agencyId > 0){
$dataWhook = array('action'=>'object_create', 'object_id'=>$id, 'section'=>'object', 'user_id'=>$_SESSION['id'], 'agency_id'=>$agencyId);
$w_in = new WebHookIn(null, $agencyId);
$w_in->check_send($dataWhook);
}
}
}