Joywork/cron/unpublishPackageToZipal.php
2026-05-22 21:21:54 +03:00

102 lines
4.0 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
set_time_limit(0);
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Снятие с публикации пакетов объектов на Zipal.ru</title>
</head>
<body>
<?php
$sql = "SELECT * from advertising_package_object_publish WHERE zipal_id IS NOT NULL and sended = 1 and published = 1 and unpublish = 1";
$rez_obj = mysql_query($sql);
while($obj = mysql_fetch_assoc($rez_obj)) {
$unpublishUserId = isset($obj['unpublish_user_id']) ? $obj['unpublish_user_id'] : $obj['user_id'];
$curUser = new User();
$curUser->get($unpublishUserId);
$objectId = $obj['object_id'];
$packageId = $obj['advertising_package_id'];
$sqlPackData = "SELECT * from advertising_package WHERE id = $packageId";
$package = mysql_fetch_assoc(mysql_query($sqlPackData));
$requestToSend = [];
$login = $curUser->zipal_login;
$password = $curUser->zipal_password;
if (empty($login) || empty($password)) {
$login = $curUser->agencyZipalLogin;
$password = $curUser->agencyZipalPassword;
}
if ($obj['zipal_id']) {
$requestToSend = [];
$requestToSend['login'] = $login;
$requestToSend['password'] = $password;
$requestToSend['method'] = 'Depublish';
$requestToSend['request'] = [];
$requestToSend['request']['requestType'] = 'ObjectRequestType';
$requestToSend['request']['objectId'] = $obj['zipal_id'];
$request = json_encode($requestToSend);
//echo $request;
//echo "<br/>";
$user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; HTC_Touch_Diamond2_T5353; Windows Phone 6.5)';
//делаем запрос к zipal
$result = curl_request_zipal_json("https://zipal.ru/ws/json", $unpublishUserId, $user_agent, $request);
//echo $result;
$jsonResult = json_decode($result, true);
if ($jsonResult['resultCode'] == "FAIL") {
$sql = "UPDATE advertising_package_object_publish SET error_text = '$result' WHERE id = $obj[id]";
mysql_query($sql);
$logText = "Ошибка отмены публикации через пакет $package[name] (ID = $packageId): $result";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$unpublishUserId', '$logText')";
mysql_query($sqlLog);
} else {
if ($jsonResult['resultCode'] == "OK") {
$sql = "UPDATE advertising_package_object_publish SET error_text = NULL, unpublish = 0 WHERE id = $obj[id]";
mysql_query($sql);
$logText = "Отмена публикации через пакет $package[name] (ID = $packageId)";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$unpublishUserId', '$logText')";
mysql_query($sqlLog);
//проставляем дату отмены в статистике
$sqlUpdateStat = "UPDATE object_publish_statistic SET unpublish_user_id = '$unpublishUserId', publish_end_date = NOW() WHERE object_id = $objectId AND advertising_package_object_publish_id = $obj[id] AND (publish_end_date IS NULL OR publish_end_date > NOW())";
mysql_query($sqlUpdateStat);
} else {
$sql = "UPDATE advertising_package_object_publish SET error_text = '$result' WHERE id = $obj[id]";
mysql_query($sql);
$logText = "Ошибка отмены публикации через пакет $package[name] (ID = $packageId): $result";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$unpublishUserId', '$logText')";
mysql_query($sqlLog);
}
}
}
}
?>
</body>
</html>