212 lines
7.0 KiB
PHP
212 lines
7.0 KiB
PHP
<?php
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/ajax/vue_php_function.php");
|
|
|
|
$data = json_decode(file_get_contents("php://input"));
|
|
|
|
$pdo = new MysqlPdo(hst, ndb, user, pass);
|
|
|
|
$sql = "SET NAMES 'utf8'";
|
|
|
|
$pdo->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;
|
|
}
|