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

65 lines
2.8 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');
if (is_array($_SESSION['checked'])) {
/**
* Есть ли отправка вебхуков
*/
$currentUser = new User;
$currentUser->get($_SESSION['id']);
$is_object_webhook = false;
$w = new WebHookIn(null, $currentUser->agencyId);
$is_object_webhook = $w->check_hook('object_restore', 'object');
$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'];
$canUnArchive = false;
if ($obj['id_add_user'] > 0) {
if ($obj['id_add_user'] == $_SESSION['id']) {
$canUnArchive = true;
} else {
if ($obj['id_add_user'] != $_SESSION['id'] && ($currentUser->agency == 1 || $currentUser->manager == 1 || $currentUser->users_admin == 1)) {
$objectUser = new User;
$objectUser->get($obj['id_add_user']);
//если добавлено пользователем агентства
if (isset($objectUser->agencyId) && $objectUser->agencyId == $currentUser->agencyId) {
$canUnArchive = true;
} else {
// или самим агентством
if ($currentUser->agencyId == $obj['id_add_user']) {
$canUnArchive = true;
}
}
}
}
}
if ($obj && $canUnArchive) {
$newDate = date("Y-m-d H:i:s");
$sql = "UPDATE objects SET date_add = '$newDate', archive = 0 WHERE objects.id = $objId";
mysql_query($sql);
$sql = "UPDATE objects SET date_add = " . time() . ", archive = 0 WHERE id = $objId";
$db_sphinx->query($sql, true);
$com = 'Объект возвращен в работу';
$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);
if($is_object_webhook){
$w->save_webhook_cron($currentUser->id, 'object', 'object_restore', $objId);
}
}
}
unset($_SESSION['checked']);
}
}