102 lines
4.0 KiB
PHP
102 lines
4.0 KiB
PHP
|
|
<?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>
|