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']);
|
|||
|
|
}
|
|||
|
|
}
|