Joywork/ajax/copyObjectFromArchive.php
2026-05-22 21:21:54 +03:00

256 lines
12 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}
}