Joywork/cron/getZipalPackageLinks.php

164 lines
6.2 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
set_time_limit(0);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Получение ссылок объектов на Zipal.ru</title>
</head>
<body>
<?php
$hour = date("G");
$remainder = $hour % 2;
if($remainder == 0){
$sql = "SELECT id, user_id, zipal_id, object_id from advertising_package_object_publish WHERE sended = 1 and published = 1 and active = 1 ORDER BY id DESC";
} else {
$sql = "SELECT id, user_id, zipal_id, object_id from advertising_package_object_publish WHERE sended = 1 and published = 1 and active = 1 ORDER BY id ASC";
}
$rez_obj = mysql_query($sql);
while($object = mysql_fetch_assoc($rez_obj)) {
$objId = $object['object_id'];
$curUser = new User();
$curUser->get($object['user_id']);
$requestToSend = [];
$login = $curUser->zipal_login;
$password = $curUser->zipal_password;
if (empty($login) || empty($password)) {
$login = $curUser->agencyZipalLogin;
$password = $curUser->agencyZipalPassword;
}
$requestToSend = [];
$requestToSend['login'] = $login;
$requestToSend['password'] = $password;
$requestToSend['method'] = 'GetReport';
$requestToSend['request'] = [];
$requestToSend['request']['requestType'] = 'GetReportRequestType';
$requestToSend['request']['id'] = $object['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", $object['user_id'], $user_agent, $request);
//echo $result;
$jsonResult = json_decode($result, true);
if ($jsonResult['resultCode'] == "OK") {
$sql = "UPDATE object_feed_stat SET updated = 0 WHERE zipal_id = '$object[zipal_id]' and object_id = $objId and zipal_code is not null";
mysql_query($sql);
$sql = "UPDATE zipal_objects_posting SET updated = 0 WHERE zipal_id = '$object[zipal_id]' and object_id = $objId";
mysql_query($sql);
if (count($jsonResult['result']['link']) > 0) {
foreach ($jsonResult['result']['link'] as $link) {
$zipalCode = $link['destination'];
$targetName = $ZIPAL_TARGETS[$zipalCode];
if (!$targetName) {
$targetName = $zipalCode;
}
$zipalStatus = $link['status'];
if ($link['status'] == "SUCCESS") {
$zipalStatus = 'Размещено';
}
if ($link['status'] == "SUCCESS") {
$zipalStatus = 'Размещено';
}
if ($link['status'] == "WAITING") {
$zipalStatus = 'Ожидание размещения';
}
if ($link['status'] == "IGNORED") {
$zipalStatus = 'Временно не предоставляется';
}
//заполняем таблицу статусов размещения
if ($object['zipal_id']) {
$sqlPosting = "SELECT id FROM zipal_objects_posting WHERE object_id = $objId and zipal_id = '$object[zipal_id]' and zipal_code = '$zipalCode'";
$rezPosting = mysql_query($sqlPosting);
} else{
$sqlPosting = "SELECT id FROM zipal_objects_posting WHERE object_id = $objId and zipal_code = '$zipalCode'";
$rezPosting = mysql_query($sqlPosting);
}
if (mysql_num_rows($rezPosting) > 0) {
$stat = mysql_fetch_assoc($rezPosting);
$id = $stat['id'];
$sql = "UPDATE zipal_objects_posting SET zipal_status='$zipalStatus', updated = 1, deleted = 0, zipal_id = '$object[zipal_id]' WHERE id=$id";
mysql_query($sql);
} else {
$sql = "INSERT INTO zipal_objects_posting(object_id, zipal_name, zipal_status, deleted, updated, zipal_code, zipal_id) ";
$sql .= " VALUES($objId, '$targetName', '$zipalStatus', 0, 1,'$zipalCode', '$object[zipal_id]')";
mysql_query($sql);
}
//заполняем ссылки
if ($link['status'] == "SUCCESS") {
$objectLink = $link['link'];
if ($object['zipal_id']) {
$sql = "SELECT id FROM object_feed_stat WHERE object_id = $objId and zipal_id = '$object[zipal_id]' and zipal_code = '$zipalCode'";
$rez = mysql_query($sql);
} else {
$sql = "SELECT id FROM object_feed_stat WHERE object_id = $objId and zipal_code = '$zipalCode'";
$rez = mysql_query($sql);
}
if (mysql_num_rows($rez) > 0) {
$stat = mysql_fetch_assoc($rez);
$id = $stat['id'];
$sql = "UPDATE object_feed_stat SET link='$objectLink', deleted = 0, updated = 1, zipal_id = '$object[zipal_id]' WHERE id=$id";
mysql_query($sql);
} else {
$sql = "INSERT INTO object_feed_stat(object_id, link, feed_name, view_count, call_count, deleted, updated, zipal_code, zipal_id) ";
$sql .= " VALUES($objId, '$objectLink', '$targetName', 0, 0, 0, 1,'$zipalCode', '$object[zipal_id]')";
mysql_query($sql);
}
}
}
}
$sql = "UPDATE object_feed_stat SET deleted = 1 WHERE zipal_id = '$object[zipal_id]' and updated = 0 and object_id = $objId and zipal_code is not null";
mysql_query($sql);
$sql = "UPDATE zipal_objects_posting SET deleted = 1 WHERE zipal_id = '$object[zipal_id]' and updated = 0 and object_id = $objId";
mysql_query($sql);
}
}
?>
</body>
</html>