Joywork/ajax/selectedToArchive.php

126 lines
5.5 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($_SESSION['checked'])) {
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
$reasonId = isset($_POST['reason_id']) ? intval($_POST['reason_id']) : 0;
$comment = isset($_POST['comment']) ? mysql_real_escape_string($_POST['comment']) : '';
$reasonText = '';
if ($reasonId > 0) {
$sqlReason = "SELECT name FROM archive_object_reason WHERE id = $reasonId";
$rezReason = mysql_query($sqlReason);
if ($reasonRow = mysql_fetch_assoc($rezReason)) {
$reasonText = $reasonRow['name'];
}
}
$currentUser = new User;
$currentUser->get($_SESSION['id']);
if (!$currentUser->agencyId) {
$currentUser->agencyId = $_SESSION['id'];
}
/**
* Есть ли отправка вебхуков
*/
$is_object_webhook = false;
$w = new WebHookIn(null, $currentUser->agencyId);
$is_object_webhook = $w->check_hook('object_archive', 'object');
if (is_array($_SESSION['checked'])) {
$sql = 'SELECT objects.* FROM objects WHERE objects.id IN (' . implode(',', array_map('intval', $_SESSION['checked'])) . ')';
$res = mysql_query($sql);
while ($obj = mysql_fetch_assoc($res)) {
$objId = $obj['id'];
$canArchive = false;
if ($obj['id_add_user'] > 0) {
$objectUser = new User;
$objectUser->get($obj['id_add_user']);
if (!$objectUser->agencyId)
$objectUser->agencyId = $obj['id_add_user'];
if (isset($objectUser->agencyId) && $objectUser->agencyId == $currentUser->agencyId)
$canArchive = true;
}
if ($obj && $canArchive) {
$ad = (int)$obj['use_in_advert'];
if($ad == 1){
$tel = new Telegram();
$tel->object_ad($obj['id'], 0);
}
//$sql = "UPDATE objects SET archive = 1, use_in_advert=0, add_to_bn_feed=0, add_to_emls_feed=0, add_to_avito_feed=0, add_to_yandex_feed=0, add_to_zipal=0 WHERE objects.id = $objId";
$sql = "UPDATE objects SET archive = 1, use_in_advert=0, add_to_bn_feed=0,
add_to_emls_feed=0, add_to_avito_feed=0, add_to_cian_feed=0, add_to_domclick_feed=0, add_to_yandex_feed=0, add_to_zipal=0, is_main = 0
WHERE id=$objId";
mysql_query($sql);
$moderationAdvertClass = new ModerationAdvert();
$moderationAdvertClass->checkAndClear($objId,'use_in_advert');
//Запрос сфинкс
$sql = "UPDATE objects SET archive = 1, use_in_advert=0, add_to_bn_feed=0,
add_to_emls_feed=0, add_to_avito_feed=0, add_to_cian_feed=0, add_to_domclick_feed=0, add_to_yandex_feed=0, add_to_zipal=0 WHERE id = $objId";
$db_sphinx->query($sql, true);
$sql = "SELECT count(id) FROM zipal_objects WHERE zipal_id is not null and object_id = $objId";
$rez = mysql_query($sql);
$countButton = mysql_result($rez,0);
if ($countButton > 0) {
$sql = "UPDATE zipal_objects SET sended = 1, published = 1, unpublish = 1, unpublish_user_id = $currentUser->id WHERE object_id = $objId";
mysql_query($sql);
}
$sql = "SELECT count(id) FROM advertising_package_object_publish WHERE zipal_id is not null and object_id = $objId";
$rez = mysql_query($sql);
$countPack = mysql_result($rez,0);
if ($countPack > 0) {
$sql = "UPDATE advertising_package_object_publish SET sended = 1, published = 1, unpublish = 1, active = 0, unpublish_user_id = $currentUser->id WHERE object_id = $objId";
mysql_query($sql);
}
if ($countButton > 0 || $countPack > 0) {
$logText = "Отправлен на отмену публикации в связи с перемещением в архив";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objId', NOW(), '$currentUser->id', '$logText')";
mysql_query($sqlLog);
}
$com = 'Объект перенесен в Архив по причине: ';
$com = $com . $reasonText;
if ($comment) {
$com = $com . '<br/>Комментарий: ' . $comment;
}
$sql = "INSERT INTO user_object_events(user_id, object_id, create_date, type, address, sum, schedule_date, comment, calendar_view)
VALUES('$_SESSION[id]', '$objId', NOW(), 'comment', NULL, NULL, NULL, '$com', '1')";
mysql_query($sql);
$sqlUpdateStat = "UPDATE object_publish_statistic SET unpublish_user_id = '$currentUser->id', publish_end_date = NOW(), days_count = DATEDIFF(NOW(), publish_start_date)
WHERE object_id = $objId AND unpublish_user_id IS NULL AND advertising_package_object_publish_id IS NULL AND zipal_objects_id IS NULL";
mysql_query($sqlUpdateStat);
if($is_object_webhook){
$w->save_webhook_cron($currentUser->id, 'object', 'object_archive', $objId);
}
}
}
unset($_SESSION['checked']);
}
}