Joywork/test_m.php

574 lines
20 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
//echo date('d.m.Y H:i:s', 1617968214);
set_time_limit(0);
ini_set('memory_limit', '8192M');
header('Content-Type: application/json');
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
require_once $_SERVER['DOCUMENT_ROOT'] . "/dadata/vendor/autoload.php";
$pdo = new MysqlPdo(hst, ndb, user, pass);
$sql = "SET NAMES 'utf8'";
$pdo->query($sql);
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
//require($_SERVER['DOCUMENT_ROOT']."/templates/new-header.php");
/*$ch = curl_init('https://joywork.ru/test_call.php');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
// curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_exec($ch);
//$content = json_encode($result, JSON_UNESCAPED_UNICODE);
//file_put_contents(__DIR__.'/log_hook.txt', date('d.m.Y H:i:s')." ".$content. " ".$this->url . "\n", FILE_APPEND);
curl_close($ch);*/
/*$agency_id = 8826;
$usersIds = array();
$sql_u = "SELECT * FROM users WHERE id in (select id from users where id=$agency_id or id_manager=$agency_id or id_manager in
(select id from users where id_manager=$agency_id or id_manager in
(select id from users where id_manager=$agency_id)))";
$q_u = $pdo->query($sql_u);
while($r_u = $pdo->fetch_assoc($q_u)){
// $allUsers[$r_u['phone']] = $r_u;
$user_id = (int)$r_u['id'];
$usersIds[] = (int)$r_u['id'];
$sql = "UPDATE users SET telegramm_chat_id=0, telegramm_notice=0, telegramm_kod = '' WHERE id = {$user_id}";
//$pdo->query($sql);
echo $sql."\n";
}
var_dump($usersIds);
/*$pdo = new MysqlPdo(hst, ndb, user, pass);
$sql = "SET NAMES 'utf8'";
$pdo->query($sql);
$sql = "SELECT * FROM `clients` where `phone2` like '%&quot;%'";
$q = $pdo->query($sql);
$num = 0;
//$cl = new Clients();
while($r = $pdo->fetch_assoc($q)){
echo $r['id']." - ".$r['phone2']."\n";
$phones = json_decode(html_entity_decode($r['phone2']), true);
$num++;
foreach($phones as $phone){
$sql_phone = "SELECT * FROM clients_phone2 WHERE client_id = {$r['id']} AND phone = '{$phone}'";
$q_phone = $pdo->query($sql_phone);
if($pdo->num_rows($q_phone) == 0){
$sql_in = "INSERT INTO `clients_phone2` (client_id, phone) VALUES ({$r['id']}, '{$phone}')";
echo $sql_in."\n";
// $pdo->query($sql_in);
}
echo $num."\n";
}
}
echo $num;*/
/*$ids = array();
$q = mysql_query("SELECT * FROM `bnru_objects` where old=0");
while($r = mysql_fetch_assoc($q)){
$ids[] = $r['object_id'];
}
foreach ($ids as $id){
$sql = "UPDATE objects SET id_rf_region = 42 WHERE id = {$id}";
mysql_query($sql);
$db_sphinx->query($sql, true);
}*/
/*$sql = "SELECT id FROM users WHERE id in (select id from users where id=13735 or id_manager=13735 or id_manager in (select id from users where id_manager=13735 or id_manager in (select id from users where id_manager=13735)))";
echo $sql;
$q = mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
echo $r['id'].",";
//$user->gen_token((int)$r['id']);
}*/
//$dates = getPeriod('dates', '01.12.2022', '30.11.2023');
/*$period = new DatePeriod(
new DateTime('28.03.2022'),
new DateInterval('P1D'),
new DateTime('02.04.2022 23:59')
);
$dates = array();
foreach ($period as $key => $value) {
$dates[] = $value->format('d.m.Y');
}*/
//print_r($dates);
//phpinfo();
//+4917670557257
/*$phone = '';
$sql = "SELECT * FROM clients WHERE opis = 'По фиду объектов' order by phone";
$q=mysql_query($sql);
$total = 0;
$objects = '';
$objectArr=array();
$id = 0;
$total2 = 0;
while($r=mysql_fetch_assoc($q)){
//echo json_encode($r,JSON_UNESCAPED_UNICODE)."\n";
if($phone==$r['phone']){
echo $phone.' - '.$r['id'].' - '.$r['objects']."\n";
// $del = "DELETE FROM clients WHERE id={$r['id']}";
// mysql_query($del);
$arrObj = json_decode(html_entity_decode($r['objects']), ENT_QUOTES);
foreach($arrObj as $oneObj){
$objectArr[] = strval($oneObj);
}
/* if($r['objects'] == $objects){
echo $objects.' - '.$r['id']."\n";
$total2++;
}*/
/* $total++;
} else {
if(count($objectArr) > 1){
$total2++;
echo $id."\n";
var_dump($objectArr);
$objList = htmlentities(json_encode($objectArr));
$up_client = "UPDATE clients SET objects='$objList' where id = $id";
echo $up_client."\n";
// mysql_query($up_client);
$del = "DELETE FROM clients WHERE id !={$id} and opis = 'По фиду объектов' and phone = '{$phone}'";
// mysql_query($del);
echo $del."\n";
// mysql_query($up_client);
}
$id = $r['id'];
$objectArr = array();
$arrObj = json_decode(html_entity_decode($r['objects']), ENT_QUOTES);
foreach($arrObj as $oneObj){
$objectArr[] = strval($oneObj);
}
}
$objects = $r['objects'];
$phone = $r['phone'];
}
echo $id."\n";
var_dump($objectArr);
echo $total."\n";
echo $total2."\n";*/
/*$sql = "SELECT e.id, e.client_id FROM `user_client_events` as e LEFT JOIN clients as c on c.id = e.client_id where `client_id` > 0 and c.id is NULL";
echo $sql."\n";
$q = mysql_query($sql);
$count=0;
while($r = mysql_fetch_assoc($q)){
$sql_d = "DELETE FROM `user_client_events` WHERE id=$r[id]";
echo $sql_d."\n";
mysql_query($sql_d);
$count++;
}
echo $count;*/
/*$sql = "SELECT events_clients.*, clients.funnel_id FROM `events_clients` LEFT JOIN clients on events_clients.client_id=clients.id WHERE event='stageedit' and funnel_id != 0 order by id";
$q = mysql_query($sql);
$text = '';
$id = 0;
$i = 0;
while ($r = mysql_fetch_assoc($q)){
if($r['dop_text'] == $text && $id == $r['client_id']){
echo $r['id'].'-'. $r['client_id']." - ". $r['dop_text']."\n\n";
//mysql_query("DELETE FROM events_clients WHERE id=".$r['id']);
$i++;
} else {
$text = $r['dop_text'];
$id = $r['client_id'];
}
}*/
/*$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
$sql = "SELECT * FROM `bnru_objects` where old =22690";
//$sql = "SELECT *, id as object_id FROM objects WHERE id_add_user in (9619,9568)";
$q=mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$sql1 = "DELETE FROM objects WHERE id=".$r['object_id'];
mysql_query($sql1);
$sql2="DELETE FROM sale_objects WHERE object_id=".$r['object_id'];
mysql_query($sql2);
$sql3="DELETE FROM objects_additional_information WHERE object_id=".$r['object_id'];
mysql_query($sql3);
$sql4 = "DELETE FROM bnru_objects WHERE object_id=".$r['object_id'];
mysql_query($sql4);
echo $sql1."\n";
echo $sql2."\n";
echo $sql3."\n";
echo $sql4."\n";
$sql6 = "SELECT * FROM `objects_object_photo` WHERE object_id = ".$r['object_id'];
echo $sql6."\n";
$q6 = mysql_query($sql6);
while($r6 = mysql_fetch_assoc($q6)){
$sql7 = "SELECT * FROM object_photo WHERE id = $r6[object_photo_id]";
$q7 = mysql_query($sql7);
$r7 = mysql_fetch_assoc($q7);
if(file_exists($_SERVER['DOCUMENT_ROOT'].$name)){
unlink($_SERVER['DOCUMENT_ROOT'].$name);
echo $name."\n";
}
mysql_query("DELETE FROM object_photo WHERE id = $r6[object_photo_id]");
}
$sql5 = "DELETE FROM `objects_object_photo` where `object_id`=".$r['object_id'];
mysql_query($sql5);
echo $sql5."\n";
//Удаление из сфинкс
$sql = "DELETE FROM objects_rt WHERE id=$r[object_id]";
$db_sphinx->query($sql, true);
$sql = "UPDATE objects SET del=1 WHERE id=$r[object_id]";
$db_sphinx->query($sql,true);
}*/
/*$bn = new ObjectsParserIndividual();
$url = "https://joywork.ru/kk.xml";
$objects = $bn->get_objects($url);*/
/*$Selectel = SelectelApi::getTokenAndUrl();
$token = $Selectel[0];
$storageUrl = $Selectel[1];
$rf = SelectelApi::uploadFile($storageUrl, $token, 'https://idoverie-media-s3.s3.eu-north-1.amazonaws.com/wp-content/uploads/2024/12/8deee9a7-61c2-452b-9735-d668aca23880.jpeg', '/4/4/8/4418271f5722e34f5d05c95affc977e8_ind.jpg', 'image/jpeg', true);
*/
/*$zip = new ZipArchive;
$res = $zip->open($_SERVER['DOCUMENT_ROOT'].'/server/YandexFlat.zip');
if ($res === TRUE) {
$zip->extractTo($_SERVER['DOCUMENT_ROOT'].'/server');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
/*
$img = "https://storage10.yucrm.ru/clients/poisk716/images/base/base_rent_objects/photo4858_1.jpg";
$ph = md5($img.time())."_ind.jpg";
$one = mb_substr($ph,0,1);
ftp_mkdir($conn, "/photos/$one");
$two = mb_substr($ph,1,1);
ftp_mkdir($conn, "/photos/$one/$two");
$three = mb_substr($ph,3,1);
ftp_mkdir($conn, "/photos/$one/$two/$three");
$dstFile = "/photos/$one/$two/$three/$ph";
if (ftp_put($conn, $dstFile, $img, FTP_ASCII)) {
echo "скопирован в $dstFile";
// copy($img,$_SERVER['DOCUMENT_ROOT']."/photos/".$new_path) ;
//echo $new_path."\n";
$photos['photo'.$num] = $dstFile;
} else {
echo "не скопирован в $dstFile";
}
ftp_close($conn); */
//copy("https://barion24.ru/files/1634227701_20211013_163733_01.jpeg",$_SERVER['DOCUMENT_ROOT']."/photos/b/8/5/b8b5c6ad4f365ed78168b05b50dcfe62_adresa.jpg");
//var_dump($bn->getDadate("Кировская область, Ленинский район, г. Киров, Октябрьский пр-кт., д.149"));
////
//
//$objects = $bn->get_objects($url); */
/*$sql="SELECT * from bnru_objects where old=0";
$q=mysql_query($sql);
while($r = mysql_fetch_assoc($q)){
$sql_obj = "SELECT * FROM objects WHERE id=".$r['object_id'];
$q_obj=mysql_query($sql_obj);
while($obj=mysql_fetch_assoc($q_obj)){
for($i=1;$i<21;$i++)
{
if($obj["photo$i"])
{
$ph = md5($obj["photo$i"].time())."_monolitkzn.jpg";
$one = mb_substr($ph,0,1);
if(! is_dir($_SERVER['DOCUMENT_ROOT']."/photos/$one")) mkdir($_SERVER['DOCUMENT_ROOT']."/photos/$one");
$two = mb_substr($ph,1,1);
if(! is_dir($_SERVER['DOCUMENT_ROOT']."/photos/$one/$two")) mkdir($_SERVER['DOCUMENT_ROOT']."/photos/$one/$two");
$three = mb_substr($ph,3,1);
if(! is_dir($_SERVER['DOCUMENT_ROOT']."/photos/$one/$two/$three")) mkdir($_SERVER['DOCUMENT_ROOT']."/photos/$one/$two/$three");
$new_path = "$one/$two/$three/$ph";
echo $new_path."\n";
copy($obj["photo$i"],$_SERVER['DOCUMENT_ROOT']."/photos/".$new_path) ;
$sql33 = "UPDATE objects SET photo$i='$new_path' WHERE id=$obj[id]";
//echo $obj['id'];
mysql_query($sql33,$mdb);
}
}
}
}*/
//echo count();
//foreach ($objects['realty-feed']['offer'] as $object){
// echo $object['type']."\n";
//echo $object['sales-agent']['phone']." - ". json_encode($bn->set_agents($object['sales-agent']['phone']))."\n";
//}
/*$metrosXml = $bn->XmlArray($url);
$bn->set_metros($metrosXml);
$metros = $bn->get_metros();
$bn->set_agents("http://topnlab.ru/export/bnspbcompany/cWxWL0Y3djVaYkJvdXIvRzRB/feed.xml");
$agents = $bn->get_agents();
$bn->set_rayons("https://www.bn.ru/xsd/listRegion/");
//var_dump($agents);
$objects = $bn->get_objects("http://topnlab.ru/export/bnspbcompany/cWxWL0Y3djVaYkJvdXIvRzRB/feed.xml");*/
//ar_dump($metros);
/*?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Отправка объектов на Zipal.ru</title>
</head>
<body>
<?php
/*$sql = "SELECT * from zipal_objects WHERE sended = 0 AND unpublish = 0 ORDER BY ID DESC";
$rez_obj = mysql_query($sql);
while($obj = mysql_fetch_assoc($rez_obj)) {*/
/* $obj['object_id'] = 1663567;
$obj['user_id'] = 5238;
$obj['zipal_id'] = null;
$res = Zipal::createObjectForZipal($mdb, $obj['object_id']);
var_dump($res);
// die();
$curUser = new User();
$curUser->get($obj['user_id']);
$requestToSend = [];
$login = $curUser->zipal_login;
$password = $curUser->zipal_password;
if (empty($login) || empty($password)) {
$login = $curUser->agencyZipalLogin;
$password = $curUser->agencyZipalPassword;
}
$requestToSend['login'] = $login;
$requestToSend['password'] = $password;
if ($obj['zipal_id'] == null || !$obj['zipal_id']) {
$requestToSend['method'] = 'CreateProperty';
$requestToSend['request'] = $res;
} else {
$requestToSend['method'] = 'UpdateProperty';
$requestToSend['request']['requestType'] = 'UpdatePropertyRequestType';
$requestToSend['request']['id'] = $obj['zipal_id'];
$requestToSend['request']['request'] = $res;
}
$request = json_encode(utf8ize($requestToSend));
//echo $request;
//echo "<br/>";
var_dump($requestToSend);
$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://dev.zipal.ru/ws/json", $obj['user_id'], $user_agent, $request);
//echo $result;
$jsonResult = json_decode($result, true);
if (!$jsonResult) {
$jsonResult['result'] = [];
$jsonResult['result']['status'] = "SuccessPropertyResponseType";
}
var_dump($jsonResult);
if ($jsonResult['resultCode'] == "FAIL") {
$sql = "UPDATE zipal_objects SET error_text = '$result' WHERE id = $obj[id]";
mysql_query($sql);
if (empty($obj['error_text'])) {
if (empty($curUser->zipal_balance)) {
$newBalance = $curUser->agencyZipalBalance + $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->agencyId;
mysql_query($sql);
} else {
$newBalance = $curUser->zipal_balance + $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->id;
mysql_query($sql);
}
$sql = "UPDATE objects SET add_to_zipal='0' WHERE id=$objectId";
mysql_query($sql);
}
$logText = "Ошибка отправки через кнопку С отчетами: $result";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$curUser->id', '$logText')";
mysql_query($sqlLog);
} else {
if ($jsonResult['result']['status'] == "ErrorPropertyResponseType") {
//$sql = "UPDATE zipal_objects SET error_text = '$result' WHERE id = $obj[id]";
//mysql_query($sql);
if (empty($obj['error_text'])) {
if (empty($curUser->zipal_balance)) {
$newBalance = $curUser->agencyZipalBalance + $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->agencyId;
mysql_query($sql);
} else {
//$newBalance = $curUser->zipal_balance + $obj['price'];
//$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->id;
//mysql_query($sql);
}
//$sql = "UPDATE objects SET add_to_zipal='0' WHERE id=$objectId";
//mysql_query($sql);
}
$logText = "Ошибка отправки через кнопку С отчетами: $result";
echo $logText;
//$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$curUser->id', '$logText')";
//mysql_query($sqlLog);
} else {
if ($jsonResult['result']['status'] == "SuccessPropertyResponseType" ) {
if (isset($jsonResult['result']['id'])) {
$zipal_id = $jsonResult['result']['id'];
//$sql = "UPDATE zipal_objects SET zipal_id = $zipal_id, error_text = NULL, sended = 1 WHERE id = $obj[id]";
//mysql_query($sql);
} else {
$sql = "UPDATE zipal_objects SET error_text = NULL, sended = 1 WHERE id = $obj[id]";
mysql_query($sql);
}
if (!empty($obj['error_text'])) {
//если была ошибка перед этим - вычитаем деньги и ставим флаг в JW
if (empty($curUser->zipal_balance)) {
$newBalance = $curUser->agencyZipalBalance - $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->agencyId;
mysql_query($sql);
} else {
$newBalance = $curUser->zipal_balance - $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->id;
mysql_query($sql);
}
}
// $sql = "UPDATE objects SET add_to_zipal='1' WHERE id=$objectId";
// mysql_query($sql);
$logText = "Объект отправлен через кнопку С отчетами";
//$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$curUser->id', '$logText')";
//mysql_query($sqlLog);
} else {
$sql = "UPDATE zipal_objects SET error_text = '$result' WHERE id = $obj[id]";
mysql_query($sql);
if (empty($obj['error_text'])) {
if (empty($curUser->zipal_balance)) {
$newBalance = $curUser->agencyZipalBalance + $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->agencyId;
mysql_query($sql);
} else {
$newBalance = $curUser->zipal_balance + $obj['price'];
$sql = "UPDATE users SET zipal_balance='$newBalance' WHERE id=" . $curUser->id;
mysql_query($sql);
}
$sql = "UPDATE objects SET add_to_zipal='0' WHERE id=$objectId";
mysql_query($sql);
}
$logText = "Ошибка отправки через кнопку С отчетами: $result";
$sqlLog = "INSERT INTO object_publish_log(object_id, created_at, user_id, log_text) VALUES ('$objectId', NOW(), '$curUser->id', '$logText')";
mysql_query($sqlLog);
}
}
//}
}
function utf8ize($mixed) {
if (is_array($mixed)) {
foreach ($mixed as $key => $value) {
$mixed[$key] = utf8ize($value);
}
} else if (is_string ($mixed)) {
return iconv(mb_detect_encoding($mixed, mb_detect_order(), true), "UTF-8", $mixed);
}
return $mixed;
}
?>
</body>
</html>*/