request; if($request == 'save_dep'){ $devId = (int)$data->dep_id; $roles = $data->roles; $name = $data->name; $agencyId = (int)$data->agency_id; if($devId == 0){ $sql = "INSERT INTO `departments` SET name = '{$name}', agency_id = {$agencyId}"; if(mysql_query($sql)){ $devId = mysql_insert_id(); } else { echo mysql_error(); exit(); } } else { $sql = "UPDATE `departments` SET name = '{$name}' WHERE `id` = {$devId}"; if(!mysql_query($sql)){ echo mysql_error(); } } foreach($roles as $role){ if(isset($role->id)){ $sql = "UPDATE `roles` SET `name` = '".$role->name."', `role` = '".$role->type."' WHERE `id` = ".$role->id; } else { $sql = "INSERT INTO `roles` SET `name` = '".$role->name."', `role` = '".$role->type."', `department_id` = ".$devId; } if(!mysql_query($sql)){ echo mysql_error(); exit(); } } } if($request == 'get_dep'){ $agency_id = (int)$data -> agency_id; $sql = "SELECT * FROM `departments` WHERE agency_id = {$agency_id}"; $res = array(); if($q = mysql_query($sql)){ while($r = mysql_fetch_assoc($q)){ $res[$r['id']] = $r; } } else { echo mysql_error(); exit(); } echo json_encode($res, JSON_UNESCAPED_UNICODE); } if($request == 'get_region_child'){ $region_id = json_decode($data->region_id); $html = ''; $region_rf = mysql_query("SELECT * FROM rf_regions WHERE parent = $region_id"); while ($row = mysql_fetch_assoc($region_rf)) { $html .= ''; } echo json_encode(['html' => ('')]); exit(); } if($request == 'get_dep_one'){ $devId = (int)$data->dep_id; $sql = "SELECT * FROM `departments` WHERE id = ".$devId; $q = mysql_query($sql); $res = mysql_fetch_assoc($q); $sql = "SELECT * FROM `roles` WHERE `department_id` = {$devId}"; $q = mysql_query($sql); $roles_base = array(); while($r = mysql_fetch_assoc($q)){ $roles_base[$r['id']] = $r; } $res['roles'] = $roles_base; echo json_encode($res, JSON_UNESCAPED_UNICODE); } if($request == 'delete_dep'){ $devId = (int)$data->dep_id; if(!mysql_query("DELETE FROM `departments` WHERE id = ".$devId)){ echo mysql_error(); } if(!mysql_query("DELETE FROM `roles` WHERE department_id = ".$devId)){ echo mysql_error(); } if(!mysql_query("UPDATE users SET department_id = 0, role_id = 0 WHERE department_id = ".$devId)){ echo mysql_error(); } } if($request == 'delete_role'){ $roleId = (int)$data->role_id; echo "DELETE FROM `roles` WHERE `id` = ".$roleId; if(!mysql_query("DELETE FROM `roles` WHERE `id` = ".$roleId)){ echo mysql_error(); } if(!mysql_query("UPDATE users SET department_id = 0, role_id = 0 WHERE role_id = ".$roleId)){ echo mysql_error(); } } if ($request == 'get_object_fields') { $agency_id = (int)$data->agency_id; $sql = "SELECT `fields`.*, `blocks`.`title` AS `block_title` FROM `object_fields` AS `fields` LEFT JOIN `object_fields_blocks` AS `blocks` ON (`fields`.`block_id`=`blocks`.`id` OR `fields`.`block_id`=0) WHERE `fields`.`agency_id`='$agency_id' GROUP BY `fields`.`id` ORDER BY `blocks`.`order`, `fields`.`order`"; if ($query = mysql_query($sql)) { $fields = array(); if (mysql_num_rows($query) > 0) { while($row = mysql_fetch_assoc($query)) { if ($row['block_id'] == 0) $block_title = 'Общие поля'; else $block_title = $row['block_title']; $fields[] = [ 'id' => $row['id'], 'name' => $row['name'], 'title' => $row['title'], 'type' => $row['type'], 'order' => $row['order'], 'block_id' => $row['block_id'], 'is_available' => $row['is_available'], 'is_filtrable' => $row['is_filtrable'], 'is_presentation' => $row['is_presentation'], 'is_required' => $row['is_required'], 'is_active' => $row['is_active'], 'block_title' => $block_title, ]; } } /*usort($fields, function ($a, $b) { return $a['block_id'] - $b['block_id']; });*/ echo json_encode($fields); } else { echo mysql_error(); } } if ($request == 'get_object_field') { //error_reporting(E_ALL | E_STRICT); //ini_set('display_errors', 1); $field_id = (int)$data->field_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `object_fields` WHERE `id` = '$field_id' AND `agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $field = mysql_fetch_assoc($query); $field_params = []; $param_d = isset($field['params']) ? json_decode(html_entity_decode($field['params'], ENT_QUOTES), true) : []; unset($field['params']); foreach ($param_d['items'] as $param) { if (!empty($param)) { if (!empty($param['name']) && !empty($param['value'])) { $field_params[] = [ 'name' => $param['name'], 'value' => $param['value'], 'mode' => 'saved', ]; } } } $field['params']['items'] = $field_params; echo json_encode(['success' => true, 'field' => (object)$field]); } else { echo mysql_error(); } exit(); } if ($request == 'get_field_translit') { $title = trim($data->title); $title = strip_tags(htmlspecialchars(trim($title))); $title = str_replace(' ', '_', $title); if (function_exists('transliterator_transliterate')) $title = transliterator_transliterate('Any-Latin; Latin-ASCII', $title); else $title = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $title); $title = preg_replace("/[^a-zA-Z0-9\.\[\]_| -]/", '', $title); $title = str_replace('__', '_', $title); $title = mb_substr($title, 0, 64); $title = ucwords(str_replace('_', ' ', strtolower($title))); $title = ucwords(str_replace(' ', '-', $title)); echo json_encode(['result' => strtolower($title)]); } if ($request == 'delete_object_field') { $field_id = (int)$data->field_id; $agency_id = (int)$data->agency_id; $sql = "DELETE FROM `object_fields` WHERE `id` = '$field_id' AND `agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } if ($request == 'delete_object_field_block') { $block_id = (int)$data->block_id; $agency_id = (int)$data->agency_id; $sql = "DELETE FROM `object_fields_blocks` WHERE `id` = '$block_id' AND `agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { mysql_query("UPDATE `object_fields` SET `block_id` = 0 WHERE `block_id` = '$block_id' AND `agency_id` = '$agency_id'"); echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } if ($request == 'save_object_field') { $field_id = (int)$data->field_id; $agency_id = (int)$data->agency_id; $param = (array)$data->param; if (is_null($param['order'])) $param['order'] = '0'; if (is_null($param['params'])) $param['params'] = 'NULL'; else $param['params'] = "'" . json_encode($param['params'], JSON_UNESCAPED_UNICODE) . "'"; if ($field_id) { $sql = "UPDATE `object_fields` SET `name` = '$param[name]', `title` = '$param[title]', `type` = '$param[type]', `is_available` = '$param[is_available]', `is_presentation` = '$param[is_presentation]', `is_filtrable` = '$param[is_filtrable]', `is_active` = '$param[is_active]', `is_required` = '$param[is_required]', `params` = $param[params], `block_id` = '$param[block_id]', `updated_by` = '$_SESSION[id]' WHERE `id` = '$field_id' AND `agency_id` = '$agency_id' LIMIT 1"; } else { $sql = "INSERT INTO `object_fields` ( `name`, `title`, `type`, `order`, `is_available`, `is_presentation`, `is_filtrable`, `is_active`, `is_required`, `params`, `block_id`, `agency_id`, `created_by` ) VALUES ( '$param[name]', '$param[title]', '$param[type]', '$param[order]', '$param[is_available]', '$param[is_presentation]', '$param[is_filtrable]', '$param[is_active]', '$param[is_required]', $param[params], '$param[block_id]', '$agency_id', '$_SESSION[id]' )"; } if (!empty($sql)) { if ($query = mysql_query($sql)) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } else { echo json_encode(['success' => false]); } } if ($request == 'save_object_fields_block') { $agency_id = (int)$data->agency_id; $block_id = (int)$data->block_id; $block_title = (string)$data->block_title; $block_order = (int)$data->block_order; if ($block_id) { $sql = "UPDATE `object_fields_blocks` SET `title` = '$block_title', `order` = '$block_order', `updated_by` = '$_SESSION[id]' WHERE `id` = '$block_id' AND `agency_id` = '$agency_id' LIMIT 1"; } else { $sql = "INSERT INTO `object_fields_blocks` ( `title`, `order`, `agency_id`, `created_by` ) VALUES ( '$block_title', '$block_order', '$agency_id', '$_SESSION[id]' )"; } if (!empty($sql)) { if ($query = mysql_query($sql)) { $sql3_1 = "SET @block_order:=0"; $sql3_2 = "UPDATE `object_fields_blocks` SET `order`=@block_order:=@block_order+1 WHERE `agency_id` = '$agency_id' ORDER BY `order` DESC"; mysql_query($sql3_1) && mysql_query($sql3_2); echo json_encode(['success' => true, 'block_id' => mysql_insert_id()]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } else { echo json_encode(['success' => false]); } } if ($request == 'set_block_order') { $block_id = (int)$data->block_id; $agency_id = (int)$data->agency_id; $sort_order = (int)$data->sort_order; $direct = $data->direct; $update_pid = ''; $update_other = ''; if ($direct == 'up') { $update_pid = '-'; $update_other = '+'; $sort_other = $sort_order - 1; } elseif ($direct == 'down') { $update_pid = '+'; $update_other = '-'; $sort_other = $sort_order + 1; } if (!empty($update_pid)) { $sql = "UPDATE `object_fields_blocks` SET `order` = `order` $update_other 1 WHERE `order` = '$sort_other' AND `agency_id` = '$agency_id'"; $sql2 = "UPDATE `object_fields_blocks` SET `order` = `order` $update_pid 1 WHERE `id` = '$block_id' AND `agency_id` = '$agency_id'"; } if (empty($sql) || empty($sql2)) exit(); if (mysql_query($sql) && mysql_query($sql2)) { $sql3_1 = "SET @block_order:=0"; $sql3_2 = "UPDATE `object_fields_blocks` SET `order`=@block_order:=@block_order+1 WHERE `agency_id` = '$agency_id' ORDER BY `order`"; mysql_query($sql3_1) && mysql_query($sql3_2); echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } if ($request == 'set_field_order') { $field_id = (int)$data->field_id; $agency_id = (int)$data->agency_id; $sort_order = (int)$data->sort_order; $direct = $data->direct; $update_pid = ''; $update_other = ''; if ($direct == 'up') { $update_pid = '-'; $update_other = '+'; $sort_other = $sort_order - 1; } elseif ($direct == 'down') { $update_pid = '+'; $update_other = '-'; $sort_other = $sort_order + 1; } if (!empty($update_pid)) { $sql = "UPDATE `object_fields` SET `order` = `order` $update_other 1 WHERE `order` = '$sort_other' AND `agency_id` = '$agency_id'"; $sql2 = "UPDATE `object_fields` SET `order` = `order` $update_pid 1 WHERE `id` = '$field_id' AND `agency_id` = '$agency_id'"; } if (empty($sql) || empty($sql2)) exit(); if (mysql_query($sql) && mysql_query($sql2)) { $sql3_1 = "SET @field_order:=0"; $sql3_2 = "UPDATE `object_fields` SET `order`=@field_order:=@field_order+1 WHERE `agency_id` = '$agency_id' ORDER BY `order`"; mysql_query($sql3_1) && mysql_query($sql3_2); echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } if ($request == 'get_field_types') { $type = $data->type; $selector = "object-fields-type-input"; if(isset($data->selector)){ $selector = $data->selector; } $html = ''; $list = [ ['value' => 0, 'label' => 'Строка'], ['value' => 1, 'label' => 'Число'], ['value' => 2, 'label' => 'Селект-бокс'], ['value' => 3, 'label' => 'Мульти-селект'], ['value' => 4, 'label' => 'Свитчер'], ['value' => 5, 'label' => 'Текст'], ]; foreach ($list as $key => $item) { $html .= ''; } echo json_encode(['list' => $list, 'html' => ('')]); exit(); } if ($request == 'get_object_field') { $field_id = $data->field_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `object_fields` WHERE `id` = '$field_id' AND `agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $field = mysql_fetch_assoc($query); echo json_encode(['success' => true, 'field' => (object)$field]); } else { echo mysql_error(); } } if ($request == 'get_field_block') { $block_id = $data->block_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `object_fields_blocks` WHERE `id` = '$block_id' AND `agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $field = mysql_fetch_assoc($query); echo json_encode(['success' => true, 'block' => (object)$field]); } else { echo mysql_error(); } } if ($request == 'get_field_blocks') { $block_id = (int)$data->block_id; $agency_id = (int)$data->agency_id; $html = ''; $list = [ 0 => [ 'id' => 0, 'title' => 'Общие поля', 'order' => 0, ], ]; $sql = "SELECT * FROM `object_fields_blocks` WHERE `agency_id` = '$agency_id' ORDER BY `order`"; if ($query = mysql_query($sql)) { while ($row = mysql_fetch_assoc($query)) { $id = $row['id']; $list[] = [ 'id' => $row['id'], 'title' => $row['title'], 'order' => $row['order'] ]; } } foreach ($list as $key => $item) { $html .= ''; } echo json_encode(['list' => (object)$list, 'html' => ('')]); exit(); } if ($request == 'save_client_req_fields') { /* ini_set('display_errors', 1); error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);*/ $field_id = (int)$data->field_id; $agency_id = (int)$data->agency_id; $param = (array)$data->param; $listPodgroups = $param['listPodgroups']; if (is_null($param['order'])) $param['order'] = '0'; if (is_null($param['params'])) $param['params'] = 'NULL'; else $param['params'] = "'" . json_encode($param['params'], JSON_UNESCAPED_UNICODE) . "'"; if ($param['req_type'] == 0) $param['req_type'] = '0'; else $param['req_type'] = "'" . json_encode($param['req_type'], JSON_UNESCAPED_UNICODE) . "'"; if(is_null($param['users_no_see']) || empty($param['users_no_see'])) { $param['users_no_see'] = 'NULL'; } else { $param['users_no_see'] = "'" . json_encode($param['users_no_see'], JSON_UNESCAPED_UNICODE) . "'"; } if((int)$param['is_no_see'] == 0) { $param['users_no_see'] = 'NULL'; } if ($field_id) { $sql = "UPDATE `client_req_fields` SET `title` = '$param[title]', `type` = '$param[type]', `is_req` = '$param[is_req]', `is_client` = '$param[is_client]', `is_required` = '$param[is_required]', `is_podgroup` = '$param[is_podgroup]', `is_podgroup_multiselect` = '$param[is_podgroup_multiselect]', `is_filtrable` = '$param[is_filtrable]', `req_type` = $param[req_type], `params` = $param[params], `updated_by` = '$_SESSION[id]', `users_no_see` = $param[users_no_see], `is_no_see` = $param[is_no_see] WHERE `id` = '$field_id' AND `agency_id` = '$agency_id' LIMIT 1"; } else { $sql = "INSERT INTO `client_req_fields` ( `title`, `type`, `is_req`, `is_client`, `is_required`, `is_podgroup`, `is_podgroup_multiselect`, `is_filtrable`, `params`, `req_type`, `agency_id`, `created_by`, `users_no_see`, `is_no_see` ) VALUES ( '$param[title]', '$param[type]', '$param[is_req]', '$param[is_client]', '$param[is_required]', '$param[is_podgroup]', '$param[is_podgroup_multiselect]', '$param[is_filtrable]', $param[params], $param[req_type], '$agency_id', '$_SESSION[id]', $param[users_no_see], $param[is_no_see] )"; } if (!empty($sql)) { if ($query = mysql_query($sql)) { echo json_encode(['success' => true]); if($param['is_podgroup']){ if ($field_id == 0){ $field_id = mysql_insert_id(); } $sql_podgroup = "SELECT id FROM client_req_fields_podgroup WHERE group_id={$field_id} AND agency_id = {$agency_id}"; $q_podgroup = mysql_query($sql_podgroup); while($r_podgroup = mysql_fetch_assoc($q_podgroup)){ if(!isset($listPodgroups->$r_podgroup['id'])){ mysql_query("DELETE FROM client_req_fields_podgroup WHERE id={$r_podgroup['id']}"); } } foreach($listPodgroups as $podgroup){ // var_dump($podgroup); if (is_null($podgroup->params)) $podgroup->params = 'NULL'; else $podgroup->params = "'" . json_encode($podgroup->params, JSON_UNESCAPED_UNICODE) . "'"; if(isset($podgroup->id) && $podgroup->id > 0){ $sql = "UPDATE `client_req_fields_podgroup` SET `title` = '$podgroup->title', `type` = '$podgroup->type', `is_required` = '$podgroup->is_required', `params` = $podgroup->params, `updated_by` = '$_SESSION[id]' WHERE `id` = '$podgroup->id' AND `agency_id` = '$agency_id' LIMIT 1"; } else { $sql = "INSERT INTO `client_req_fields_podgroup` ( `group_id`, `title`, `type`, `is_required`, `params`, `agency_id`, `created_by` ) VALUES ( $field_id, '$podgroup->title', '$podgroup->type', '$podgroup->is_required', $podgroup->params, '$agency_id', '$_SESSION[id]' )"; } // echo $sql; if (!empty($sql)) { if ($query = mysql_query($sql)) { } else { echo json_encode(['success' => false, 'error' => mysql_error()]); break; } } } } } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } else { echo json_encode(['success' => false]); } } if ($request == 'get_client_req_fields') { $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM client_req_fields WHERE `agency_id`=$agency_id order by id desc"; if ($query = mysql_query($sql)) { $fields = array(); if (mysql_num_rows($query) > 0) { while($row = mysql_fetch_assoc($query)) { $fields[] = [ 'id' => $row['id'], 'title' => $row['title'], 'is_filtrable' => $row['is_filtrable'], 'type' => $row['type'], 'is_client' => $row['is_client'], 'is_req' => $row['is_req'], 'req_type' => $row['req_type'], 'is_required' => $row['is_required'], 'params' => $row['params'], 'is_podgroup' => $row['is_podgroup'], 'is_podgroup_multiselect' => $row['is_podgroup_multiselect'], ]; } } echo json_encode($fields); } else { echo mysql_error(); } } if ($request == 'get_client_req_field') { $agency_id = (int)$data->agency_id; $field_id = (int)$data->field_id; $sql = "SELECT * FROM client_req_fields WHERE id=$field_id AND `agency_id`=$agency_id LIMIT 1"; if ($query = mysql_query($sql)) { $field = mysql_fetch_assoc($query); $list_podgroup = array(); if($field['is_podgroup'] > 0){ $sql = "SELECT * FROM client_req_fields_podgroup WHERE group_id=$field[id] AND `agency_id`=$agency_id"; $q = mysql_query($sql); while($r = mysql_fetch_assoc($q)){ $tempUserNo = null; if(!empty($r['users_no_see'])){ $tempUserNo = json_decode($r['users_no_see'], true); } $r['user_no_see'] = $tempUserNo; $list_podgroup[$r['id']] = $r; } } echo json_encode(['success' => true, 'field' => (object)$field, 'list_podgroup' => $list_podgroup]); } else { echo mysql_error(); } } if($request == 'delete_client_req_field'){ $agency_id = (int)$data->agency_id; $field_id = (int)$data->field_id; $sql = "DELETE FROM client_req_fields WHERE id=$field_id AND `agency_id`=$agency_id"; if ($query = mysql_query($sql)) { $sql = "DELETE FROM client_req_fields_podgroup WHERE group_id=$field_id AND `agency_id`=$agency_id"; if(!$query = mysql_query($sql)){ echo mysql_error(); } echo json_encode(['success' => true]); } else { echo mysql_error(); } } if ($request == 'get_api_services') { $service_id = $data->service_id; $explode_id = []; //открываем по несколько для всех. /*if (!in_array((int)$_SESSION['agency_id'], [4, 5427, 12061, 13735])) $explode_id = $data->explode_id;*/ $html = ''; $list = [ ['value' => 1, 'id' => 'avito', 'label' => 'Авито'], ['value' => 2, 'id' => 'cian', 'label' => 'ЦИАН'], ['value' => 3, 'id' => 'yandex', 'label' => 'Я.Недвижимость'], ['value' => 4, 'id' => 'domclick', 'label' => 'ДомКлик'], ]; if (!empty($explode_id)) { if (is_array($explode_id)) { foreach ($explode_id as $id) { foreach ($list as $key => $item) { if ((int)$item['value'] == (int)$id) { unset($list[$key]); } } } } else { foreach ($list as $key => $item) { if ((int)$item['value'] == (int)$explode_id) { unset($list[$key]); } } } } foreach ($list as $key => $item) { $html .= ''; } echo json_encode(['list' => $list, 'html' => ('')]); exit(); } if ($request == 'test_api') { $api_id = (int)$data->api_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`id` = '$api_id' AND `api`.`agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $credits = mysql_fetch_assoc($query); $api = new AdvertStats(); $serviceList = [ 1 => 'avito', 2 => 'cian', 3 => 'yandex', 4 => 'domclick', ]; $service_id = (int)$credits['service_id']; $results = $api->testAdvertApi($serviceList[$service_id], $credits['client_id'], $credits['secret_key'], $credits['ext_user_id']); echo json_encode($results); } else { echo mysql_error(); } } if ($request == 'on_meesage') { $api_id = (int)$data->api_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`id` = '$api_id' AND `api`.`agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $credits = mysql_fetch_assoc($query); $api = new AdvertStats(); $serviceList = [ 1 => 'avito', 2 => 'cian' ]; $service_id = (int)$credits['service_id']; $results = $api->on_message($serviceList[$service_id], $credits['client_id'], $credits['secret_key'], $credits['ext_user_id'], $credits['id']); echo json_encode($results); } else { echo mysql_error(); } } if ($request == 'off_meesage') { $api_id = (int)$data->api_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`id` = '$api_id' AND `api`.`agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { $credits = mysql_fetch_assoc($query); $api = new AdvertStats(); $serviceList = [ 1 => 'avito', 2 => 'cian' ]; $service_id = (int)$credits['service_id']; $results = $api->off_message($serviceList[$service_id], $credits['client_id'], $credits['secret_key'], $credits['ext_user_id'], $api_id); echo json_encode($results); } else { echo mysql_error(); } } if ($request == 'send_message') { error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $service_id = (int)$data->service_id; $agency_id = (int)$data->agency_id; $text = $data->text; //echo $text; $chat_id = $data->chat_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`service_id` = '$service_id' AND `api`.`agency_id` = '$agency_id'"; if ($query = mysql_query($sql)) { while($credits = mysql_fetch_assoc($query)){ $api = new AdvertStats(); $serviceList = [ 1 => 'avito', 2 => 'cian' ]; $service_id = (int)$credits['service_id']; $results = $api->send_message($serviceList[$service_id], $credits['client_id'], $credits['secret_key'], $credits['ext_user_id'], $text, $chat_id); if(isset($results['created_at'])){ echo json_encode($results); } } } else { echo mysql_error(); } } if ($request == 'get_agent_cian') { error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $service_id = (int)$data->service_id; $agency_id = (int)$data->agency_id; $agent_id = $data->agent_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`service_id` = '$service_id' AND `api`.`agency_id` = '$agency_id'"; if ($query = mysql_query($sql)) { while($credits = mysql_fetch_assoc($query)){ $api = new AdvertStats(); $serviceList = [ 1 => 'avito', 2 => 'cian' ]; $service_id = (int)$credits['service_id']; $results = $api->get_agent($serviceList[$service_id], $credits['client_id'], $credits['secret_key'], $credits['ext_user_id'], $agent_id); // if(isset($results['created_at'])){ echo json_encode($results); // } } } else { echo mysql_error(); } } if ($request == 'get_api') { $api_id = (int)$data->api_id; $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`id` = '$api_id' AND `api`.`agency_id` = '$agency_id' LIMIT 1"; if ($query = mysql_query($sql)) { echo json_encode(mysql_fetch_assoc($query)); } else { echo mysql_error(); } } if ($request == 'del_api') { $api_id = (int)$data->api_id; $agency_id = (int)$data->agency_id; $sql = "DELETE FROM `users_api` WHERE `id` = '$api_id' AND `agency_id` = '$agency_id' LIMIT 1"; if (mysql_query($sql)) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => mysql_error()]); } } if ($request == 'add_edit_api') { $agency_id = (int)$data->agency_id; $api_id = (int)$data->api_id; $service_id = (int)$data->service_id; $client_id = (string)$data->client_id; $secret_key = (string)$data->secret_key; $ext_user_id = (string)$data->ext_user_id; $use_for_complexes = (int)$data->use_for_complexes; $status = (int)$data->status; if (!isset($use_for_complexes)) { $use_for_complexes = 0; } $errors = []; if ($api_id == 0 && empty($service_id)) $errors[] = 'Поле `Площадка` является обязательным к заполнению.'; if ($service_id == 1 && empty($client_id)) $errors[] = 'Поле `ID клиента` является обязательным к заполнению.'; if ($service_id == 1 && empty($secret_key)) $errors[] = 'Поле `API-ключ` является обязательным к заполнению.'; if ($service_id == 1 && empty($ext_user_id)) $errors[] = 'Поле `ID пользователя` является обязательным к заполнению.'; if ($service_id == 3 && empty($secret_key)) $errors[] = 'Поле `Токен авторизации` является обязательным к заполнению.'; if ($service_id == 4 && empty($client_id)) $errors[] = 'Поле `ID компании` является обязательным к заполнению.'; if ($service_id == 4 && empty($secret_key)) $errors[] = 'Поле `Токен авторизации` является обязательным к заполнению.'; if ($service_id == 1 && preg_match('#[^A-z0-9-_]#', $client_id)) $errors[] = 'Поле `ID клиента` должно содержать только цифры и буквы латинского алфавита, символы `-` и `_`.'; if ($service_id == 2 && preg_match('#[^0-9]#', $client_id)) $errors[] = 'Поле `ID компании` должно содержать только цифры.'; if (!empty($errors)) { echo json_encode(['success' => false, 'errors' => $errors]); exit(); } if ($api_id) { $sql = "UPDATE `users_api` SET `client_id` = '$client_id', `secret_key` = '$secret_key', `ext_user_id` = '$ext_user_id', `status` = '$status', `use_for_complexes` = '$use_for_complexes', `updated_by` = '$_SESSION[id]' WHERE `id` = '$api_id' AND `service_id` = '$service_id' AND `agency_id` = '$agency_id' LIMIT 1"; } else { $sql = "INSERT INTO `users_api` ( `service_id`, `client_id`, `secret_key`, `ext_user_id`, `status`, `agency_id`, `created_by`, `use_for_complexes` ) VALUES ( '$service_id', '$client_id', '$secret_key', '$ext_user_id', '$status', '$agency_id', '$_SESSION[id]', '$use_for_complexes' )"; } if (!empty($sql)) { if ($query = mysql_query($sql)) { $api_id = mysql_insert_id(); echo json_encode(['success' => true, 'api_id' => $api_id]); } else { echo json_encode(['success' => false, 'errors' => [mysql_error()]]); } } else { echo json_encode(['success' => false]); } } if ($request == 'get_api_list') { $agency_id = (int)$data->agency_id; $sql = "SELECT * FROM `users_api` AS `api` WHERE `api`.`agency_id` = '$agency_id' ORDER BY `api`.`service_id`"; if ($query = mysql_query($sql)) { $fields = array(); if (mysql_num_rows($query) > 0) { while($row = mysql_fetch_assoc($query)) { $fields[] = [ 'id' => $row['id'], 'agency_id' => $row['agency_id'], 'service_id' => $row['service_id'], 'client_id' => $row['client_id'], 'secret_key' => $row['secret_key'], 'ext_user_id' => $row['ext_user_id'], 'status' => $row['status'], 'is_messages' => $row['is_messages'], 'created_at' => $row['created_at'], 'updated_at' => $row['updated_at'], 'use_for_complexes' => $row['use_for_complexes'], ]; } } echo json_encode($fields); } else { echo mysql_error(); } } if ($request == 'set_advert_prices') { $id = (int)$data->id; $agency_id = (int)$data->agency_id; $region_id = (int)$data->region; $region_child_id = (int)$data->region_child; $operation_type_id = (int)$data->deal_type; $rent_type_id = (int)$data->rent_type; $type_id = (int)$data->object_type; $commerce_type_id = (int)$data->commerce_type; $avito = (double)$data->avito; $cian = (double)$data->cian; $domclick = (double)$data->domclick; $jcat = (double)$data->jcat; $yandex = (double)$data->yandex; /*error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1);*/ $advert_budget = new AdvertBudgets(); $props = [ 'id' => $id, 'agency_id' => $agency_id, 'region_id' => $region_id, 'region_child_id' => $region_child_id, 'operation_type_id' => $operation_type_id, 'rent_type_id' => $rent_type_id, 'type_id' => $type_id, 'commerce_type_id' => $commerce_type_id, 'avito' => $avito, 'cian' => $cian, 'domclick' => $domclick, 'jcat' => $jcat, 'yandex' => $yandex, ]; if (!$props['id']) { $check_props = $props; $check_props['id'] = null; $limits = $advert_budget->getAdvertPrices($props); if (!empty($limits)) { $error = 'Похоже, что настройки с такими критериями объекта уже существуют! Вы можете '; $error .= 'переключиться для их редактирования.'; echo json_encode(['success' => false, 'errors' => $error]); exit(); } } $results = $advert_budget->setAdvertPrices($props); echo json_encode([ 'success' => $results['success'], 'errors' => (isset($results['errors'])) ? $results['errors'] : null ]); } if ($request == 'get_advert_prices') { $id = (int)$data->id; $advert_budget = new AdvertBudgets(); $prices = [ 'id' => null, 'region_id' => 0, 'region_child_id' => null, 'operation_type_id' => 0, 'type_id' => 0, 'rent_type_id' => null, 'commerce_type_id' => 0, 'avito' => 0, 'cian' => 0, 'yandex' => 0, 'domclick' => 0, 'jcat' => 0, 'zipal' => 0, ]; if ($id) $prices = $advert_budget->getAdvertPrices(['id' => $id]); echo json_encode($prices); } if ($request == 'get_advert_prices_list') { $advert_budget = new AdvertBudgets(); $prices = $advert_budget->getAdvertPrices(); echo json_encode(['success' => true, 'list' => $prices]); } if ($request == 'del_advert_limits') { $id = (int)$data->id; $advert_budget = new AdvertBudgets(); if ($id) $results = $advert_budget->deleteAdvertPrice($id); echo json_encode($results); } if($request == 'save_key_telegramm'){ $key = false; if(isset($data->key_telegramm)){ $key = $data->key_telegramm; } if(isset($data->user_id)){ $user_id = (int)$data->user_id; $sql = "UPDATE users SET telegramm_kod='{$key}' WHERE id = {$user_id}"; mysql_query($sql); } echo json_encode(array('done'=>'ok')); } if($request == 'save_key_max'){ $key = false; if(isset($data->key_max)){ $key = $data->key_max; } if(isset($data->user_id)){ $user_id = (int)$data->user_id; $sql = "UPDATE users SET max_kod='{$key}' WHERE id = {$user_id}"; mysql_query($sql); } echo json_encode(array('done'=>'ok')); } if($request == 'get_sources_connection'){ /*error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1);*/ $agency_id = $data->agency_id; $filter = $data->filter; $page = 1; if((int)$data->page) $page = $data->page; $sc = new SourcesConnection($agency_id); $sc->set_page($page); echo json_encode($sc->get_sources_connection($filter), JSON_UNESCAPED_UNICODE); } if($request == 'get_all_sources'){ $agency_id = $data->agency_id; $sc = new SourcesConnection($agency_id); echo json_encode($sc->get_all_sources(), JSON_UNESCAPED_UNICODE); } if($request == 'get_activites_list'){ $agency_id = $data->agency_id; $sc = new SourcesConnection($agency_id); echo json_encode($sc->get_activites(), JSON_UNESCAPED_UNICODE); } if($request == 'get_users_list'){ $agency_id = $data->agency_id; $user_id = $data->user_id; $sc = new SourcesConnection($agency_id); $sc->set_user_id(19895); echo json_encode($sc->get_users_list(), JSON_UNESCAPED_UNICODE); } if($request == 'get_funnels_list'){ $agency_id = $data->agency_id; $funnelClass = new Funnel(); $section = null; if(isset($data->section)){ $section = $data->section; } $funnelClass->set_agency_id($agency_id); echo json_encode($funnelClass->get_funnels($section), JSON_UNESCAPED_UNICODE); } if($request == 'get_steps_list'){ $agency_id = $data->agency_id; $funnel_id = $data->funnel_id; $action = ''; if(isset($data->action)){ $action = $data->action; } $funnelClass = new Funnel(); $section = null; if(isset($data->section)){ $section = $data->section; } $funnelClass->set_agency_id($agency_id); echo json_encode($funnelClass->get_steps_funnel($funnel_id, $action), JSON_UNESCAPED_UNICODE); } if($request == 'save_source_connect'){ $agency_id = $data->agency_id; $user_id = $data->user_id; $item = $data->item; $sc = new SourcesConnection($agency_id); $sc->set_user_id($user_id); echo json_encode($sc->save($item), JSON_UNESCAPED_UNICODE); } if($request == 'get_data_source'){ $agency_id = $data->agency_id; $source_id = $data->source_id; $sc = new SourcesConnection($agency_id); echo json_encode($sc->get_data_source($source_id), JSON_UNESCAPED_UNICODE); } if($request == 'del_source_connect'){ $agency_id = $data->agency_id; $user_id = $data->user_id; $delete_id = $data->delete_id; $sc = new SourcesConnection($agency_id); $sc->set_user_id($user_id); echo json_encode($sc->delete_source_connect($delete_id), JSON_UNESCAPED_UNICODE); } if($request == 'get_logs_connection'){ $agency_id = $data->agency_id; $filter = $data->filter; $page = 1; if((int)$data->page) $page = $data->page; $sc = new SourcesConnection($agency_id); $sc->set_page($page); echo json_encode($sc->get_logs_connection($filter), JSON_UNESCAPED_UNICODE); } if($request == 'set_enable_webhooks'){ $agency_id = $data->agency_id; $enable_webhooks = (int)$data->enable_webhooks; $wh = new WebHookIn(null, $agency_id); echo json_encode($wh->set_enable_webhook($enable_webhooks), JSON_UNESCAPED_UNICODE); } if($request == 'get_enable_webhooks'){ $agency_id = $data->agency_id; $page = 1; if((int)$data->page) $page = $data->page; $wh = new WebHookIn(null, $agency_id); echo json_encode($wh->get_enable_webhook(), JSON_UNESCAPED_UNICODE); } if($request == 'save_webhook'){ /*error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1);*/ $agency_id = $data->agency_id; $user_id = $data->user_id; $item = $data->item; $wh = new WebHookIn(null, $agency_id); $wh->set_user_id($user_id); echo json_encode($wh->save_webhook($item), JSON_UNESCAPED_UNICODE); } if($request == 'get_webhooks'){ error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $agency_id = $data->agency_id; $user_id = $data->user_id; $wh = new WebHookIn(null, $agency_id); echo json_encode($wh->get_webhooks_list(), JSON_UNESCAPED_UNICODE); } if($request == 'del_webhook'){ $agency_id = $data->agency_id; $delete_id = $data->delete_id; $wh = new WebHookIn(null, $agency_id); //$sc->set_user_id($user_id); echo json_encode($wh->delete_webhook($delete_id), JSON_UNESCAPED_UNICODE); }