query($sql); $request = $data->request; if($request == 'get_files'){ $result = array(); $row = array(); $id = $data->id; $type = $data->type; $pole = ''; $table = 'user_client_events'; if($type == 'client'){ $pole = 'client_id'; $table = 'user_client_events'; } else if($type == 'req'){ $pole = 'req_id'; $table = 'user_client_events'; } else if($type == 'object'){ $pole = 'object_id'; $table = 'user_object_events'; } $sql = "SELECT * FROM clients_files as c WHERE {$pole} = {$id} AND event_id > 0 AND (SELECT id from {$table} WHERE id=c.event_id)>0"; /* if($_SESSION['id'] == 5238){ echo $sql; }*/ $q = $pdo->query($sql, true); if($pdo->num_rows($q) > 0){ while($r = $pdo->fetch_assoc($q)){ if(!empty($r['name'])){ $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/"; if($r['client_id'] > 0){ $file .= "clients/".$r['client_id']."/"; } else if($r['req_id'] > 0){ $file .= "reqs/".$r['req_id']."/"; } else if($r['object_id'] > 0){ $file .= "objects/".$r['object_id']."/"; } $file .= $r['guid'].'.'.$r['type']; $r['type'] = 'id'; $r['href'] = '/download_file.php?id='.$r['id']; $unix_time = filemtime($file); $r['date'] = date('d.m.Y в H:i', $unix_time); if(!isset($result['names'][$r['name_id']])){ $result['names'][$r['name_id']] = array('type'=>'id', 'from'=>$type, 'from_id'=>$id, 'id'=>(int)$r['name_id']); } if(file_exists($file)){ $row[$r['name_id']][] = $r; } } } } if($type == 'client' || $type == 'req'){ $sql = "SELECT * FROM `funnel_files` WHERE {$pole} = {$id}"; $q = $pdo->query($sql, true); if($pdo->num_rows($q) > 0){ while($r = $pdo->fetch_assoc($q)){ if(!empty($r['name'])){ $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/funnels/"; if($r['client_id'] > 0){ $file .= "clients/".$r['client_id']."/"; } else if($r['req_id'] > 0){ $file .= "req/".$r['req_id']."/"; } $file .= $r['guid'].'.'.$r['type']; $r['type'] = 'guid'; $r['href'] = '/download_file.php?guid='.$r['guid']; $unix_time = filemtime($file); $r['date'] = date('d.m.Y в H:i', $unix_time); if(!isset($result['names'][$r['etap_id']])){ $result['names'][$r['etap_id']] = array('type'=>'guid', 'from'=>$type, 'from_id'=>$id, 'id'=>(int)$r['etap_id']); } if(file_exists($file)){ $row[$r['etap_id']][] = $r; } } } } } if($type == 'req'){ //поиск файлов по объекту $sql = "SELECT id, type_id, object_id FROM requisitions WHERE id = {$id}"; $q = $pdo->query($sql, true); $r = $pdo->fetch_assoc($q); if($r['type_id'] == 2 && $r['object_id'] > 0){ $sql = "SELECT * FROM `clients_files` as c WHERE object_id = {$r['object_id']} AND (SELECT id from user_object_events WHERE id=c.event_id)>0"; $q = $pdo->query($sql, true); if($pdo->num_rows($q) > 0){ while($r = $pdo->fetch_assoc($q)){ if(!empty($r['name'])){ $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/"; if($r['object_id'] > 0){ $file .= "objects/".$r['object_id']."/"; } $file .= $r['guid'].'.'.$r['type']; $r['type'] = 'id'; $r['href'] = '/download_file.php?id='.$r['id']; $unix_time = filemtime($file); $r['date'] = date('d.m.Y в H:i', $unix_time); if(!isset($result['names'][$r['name_id']])){ $result['names'][$r['name_id']] = array('type'=>'id', 'from'=>'object', 'from_id'=>$r['object_id'], 'id'=>(int)$r['name_id']); } if(file_exists($file)){ $row[$r['name_id']][] = $r; } } } } } } if($type == 'object'){ //Поиск файлов по заявкам $sql_r = "SELECT id, type_id, object_id FROM requisitions WHERE object_id = {$id} AND type_id = 2 and deleted = 0"; $q_r = $pdo->query($sql_r, true); if($pdo->num_rows($q_r) > 0){ $req = $pdo->fetch_assoc($q_r); $sql = "SELECT * FROM `clients_files` as c WHERE req_id = {$req['id']} AND (SELECT id from user_client_events WHERE id=c.event_id)>0"; $q = $pdo->query($sql, true); if($pdo->num_rows($q) > 0){ while($r = $pdo->fetch_assoc($q)){ if(!empty($r['name'])){ $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/"; if($r['req_id'] > 0){ $file .= "reqs/".$req['id']."/"; } $file .= $r['guid'].'.'.$r['type']; $r['type'] = 'id'; $r['href'] = '/download_file.php?id='.$r['id']; $unix_time = filemtime($file); $r['date'] = date('d.m.Y в H:i', $unix_time); if(!isset($result['names'][$r['name_id']])){ $result['names'][$r['name_id']] = array('type'=>'id', 'from'=>'req', 'from_id'=>$req['id'], 'id'=>(int)$r['name_id']); } if(file_exists($file)){ $row[$r['name_id']][] = $r; } } } } $sql = "SELECT * FROM `funnel_files` WHERE req_id = {$req['id']}"; $q = $pdo->query($sql, true); if($pdo->num_rows($q) > 0){ while($r = $pdo->fetch_assoc($q)){ if(!empty($r['name'])){ $file = $_SERVER['DOCUMENT_ROOT'] . "/upload/funnels/"; if($r['req_id'] > 0){ $file .= "req/".$r['req_id']."/"; } $file .= $r['guid'].'.'.$r['type']; $r['type'] = 'guid'; $r['href'] = '/download_file.php?guid='.$r['guid']; $unix_time = filemtime($file); $r['date'] = date('d.m.Y в H:i', $unix_time); if(!isset($result['names'][$r['etap_id']])){ $result['names'][$r['etap_id']] = array('type'=>'guid', 'from'=>'req', 'from_id'=>$req['id'], 'id'=>(int)$r['etap_id']); } if(file_exists($file)){ $row[$r['etap_id']][] = $r; } } } } } } $result['list'] = $row; foreach ($result['names'] as $key => $res) { if($res['type'] == 'id'){ if($key == 0){ $result['names'][$key]['name'] = "Без названия"; } else { $sql_n = "SELECT * FROM names_client_files WHERE id={$key}"; $q_n = $pdo->query($sql_n, true); $r_n = $pdo->fetch_assoc($q_n); $result['names'][$key]['name'] = $r_n['name']; } } else if($res['type'] == 'guid'){ $sql_n = "SELECT * FROM funnel_steps WHERE id={$key}"; $q_n = $pdo->query($sql_n, true); $r_n = $pdo->fetch_assoc($q_n); $result['names'][$key]['name'] = $r_n['name']; } } echo json_encode($result, JSON_UNESCAPED_UNICODE); exit; }