126 lines
5.5 KiB
PHP
126 lines
5.5 KiB
PHP
<?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']);
|
||
}
|
||
}
|