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

574 lines
20 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
//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>*/