Untitled
unknown
php
2 years ago
22 kB
2
Indexable
<?php ini_set('max_execution_time', 0); $pastaId = get_field('pasta'); define("PASTA_ID", $pastaId); echo PASTA_ID; //ID CORTE CARTEGORIAS 26 //ID CORTE DOCUMENTO 12 if ($pastaId): $isValid = true; // Navega pelos subdiretórios if (isset($_GET['sub'])) { $tree = explode(':', strip_tags($_GET['sub'])); // Checa se o caminho de subdiretórios é válido foreach($tree as $dir) { $sub = new WP_Term_Query(array( 'taxonomy' => 'nt_wmc_folder', 'parent' => $pastaId, 'slug' => $dir, 'hide_empty' => false )); if (count($sub->get_terms())) { $pastaId = $sub->get_terms()[0]->term_taxonomy_id; } else { $isValid = false; } } } else { $sub = new WP_Term_Query(array( 'taxonomy' => 'nt_wmc_folder', 'parent' => $pastaId, 'slug' => $dir, 'hide_empty' => false )); } function get_con() { // $con = new PDO("mysql:host=10.211.0.59;dbname=transparencia", "usrtransparencia", "tDQW7J$53B6j"); //$con = new PDO("mysql:host=localhost;dbname=transparencia;charset=utf8", "root", "root",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $con = new PDO("mysql:host=10.0.70.78;dbname=transparencia;charset=utf8","usrtransparencia", "tDQW7J$53B6j",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // $con->exec("set names utf8"); return $con; } function existe_arquivo($importacao_id,$importacao_id_pai) { $con = get_con(); $id_pai = get_id_categoria($importacao_id_pai); // echo $id_pai; // echo $importacao_id; $rs = $con->prepare("SELECT id FROM transparencia.documento WHERE importacao_id = ? AND categoria_id = ?"); $rs->bindParam(1, $importacao_id); $rs->bindParam(2, $id_pai); if($rs->execute()) { if($rs->rowCount() > 0) { return true; } } else { print_r($rs->errorInfo()); } return false; } function existe_categoria($importacao_id,$importacao_id_pai) { $con = get_con(); $id_pai = get_id_categoria($importacao_id_pai); // echo $id_pai; // echo $importacao_id; $rs = $con->prepare("SELECT id FROM transparencia.categoria WHERE importacao_id = ? AND categoria_id = ?"); $rs->bindParam(1, $importacao_id); $rs->bindParam(2, $id_pai); if($rs->execute()) { if($rs->rowCount() > 0) { return true; } } return false; } function get_id_categoria($importacao_id) { $con = get_con(); $rs = $con->prepare("SELECT id FROM transparencia.categoria WHERE categoria.importacao_id = ?"); $rs->bindParam(1, $importacao_id); if($rs->execute()){ if($rs->rowCount() > 0){ while($row = $rs->fetch(PDO::FETCH_OBJ)){ return $row->id; } } } return null; } function get_categoria_name_pai($nome,$pai_importacao) { $con = get_con(); $nome = html_entity_decode($nome); $rs = $con->prepare("SELECT importacao_id FROM transparencia.categoria WHERE categoria.nome = ? and categoria.categoria_id = ?"); $id_pai = get_id_categoria($pai_importacao); $rs->bindParam(1, $nome,PDO::PARAM_STR); $rs->bindParam(2,$id_pai); // echo '<br>'.$id_pai .'<---->'. $nome; if($rs->execute()){ if($rs->rowCount() > 0){ while($row = $rs->fetch(PDO::FETCH_OBJ)){ return $row->importacao_id; } } else { echo 'sem registros'; return null; } } else { print_r($rs->errorInfo()); } return null; } function add_arquivo($nome,$arquivo,$ano,$mes,$importacao_id_pai,$importacao_id,$tipo,$create_at,$update_at) { // echo $importacao_id_pai; $de_para = [710,625]; if(in_array($importacao_id_pai, $de_para)) { $importacao_id_pai = PASTA_ID; } if (!existe_arquivo($importacao_id,$importacao_id_pai)) { $id_pai = get_id_categoria($importacao_id_pai); insert_arquivo($nome,$arquivo,$ano,$mes,$id_pai,$importacao_id,$tipo,$create_at,$update_at); } return false; } function insert_arquivo($nome,$arquivo,$ano,$mes,$categoria_id,$importacao_id,$tipo,$create_at,$update_at) { try { ECHO 'TENTOU INSERIR ARQUIVO!'; $publicado = 1; $ordem = 1; $usuario_created_id = 2; $con = get_con(); $stmt = $con->prepare("INSERT INTO transparencia.documento (nome, arquivo, ano,mes,categoria_id,importacao_id, tipo,publicado,usuario_created_id,usuario_updated_id,created_at,updated_at) VALUES(?, ?, ?, ?, ?, ?, ?,?,?,?,?,?)"); $stmt->bindParam(1,$nome); $stmt->bindParam(2,$arquivo); $stmt->bindParam(3,$ano); $stmt->bindParam(4,$mes); $stmt->bindParam(5,$categoria_id); $stmt->bindParam(6,$importacao_id); $stmt->bindParam(7,$tipo); $stmt->bindParam(8,$publicado); $stmt->bindParam(9,$usuario_created_id); $stmt->bindParam(10,$usuario_created_id); $stmt->bindParam(11,$create_at); $stmt->bindParam(12,$update_at); // $stmt->bindParam(4,1); $stmt->execute(); } catch (PDOException $e) { echo("Error ao adicionar novo arquivo: ".$nome); echo "Insert Error: " . $e->getMessage(); } } function insert_categoria($nome,$categoria_id,$importacao_id,$slug) { try { $ordem = 1; $con = get_con(); $now = date('Y-m-d H:i:s'); $stmt = $con->prepare("INSERT INTO transparencia.categoria (nome, categoria_id, importacao_id,slug,ordem,created_at,updated_at) VALUES(?, ?,?,?,?,?,?)"); $stmt->bindParam(1,$nome); $stmt->bindParam(2,$categoria_id); $stmt->bindParam(3,$importacao_id); $stmt->bindParam(4,$slug); $stmt->bindParam(5,$ordem); $stmt->bindParam(6,$now); $stmt->bindParam(7,$now); // $stmt->bindParam(4,1); $stmt->execute(); } catch (PDOException $e) { echo("Error ao adicionar nova categoria: ".$nome); echo "Insert Error: " . $e->getMessage(); } } function add_categoria($nome,$id_importacao,$importacao_id_pai,$slug) { // echo $importacao_id_pai; $de_para = [710,625]; if(in_array($importacao_id_pai, $de_para)) { $importacao_id_pai = PASTA_ID; } if (!existe_categoria($id_importacao,$importacao_id_pai)) { $id_pai = get_id_categoria($importacao_id_pai); echo $id_pai; $nome = html_entity_decode($nome); insert_categoria($nome,$id_pai,$id_importacao,$slug); } return false; } function get_pasta_object($pasta_id) { $pastas = new WP_Term_Query(array( 'taxonomy' => 'nt_wmc_folder', 'term_taxonomy_id' => $pasta_id, // 'term_ids' => 750, 'hide_empty' => false, 'meta_key' => 'folder_position', 'orderby' => 'meta_value_num', 'order' => 'ASC' )); foreach($pastas->get_terms() as $pasta) { return $pasta; } } function get_pasta($pasta_id,$nome_pasta) { $pasta = get_pasta_object($pasta_id); $pai = get_pasta_object($pasta->parent); // var_dump($pasta); echo '<li><i class="fas fa-folder mr-2"></i> <a href="?sub='. $pai->term_id .''. $pai->slug .'">'. $pai->name .'(' .$pai->term_id.')</a></li>'; echo '<ul class="pastas">'; // echo $pasta->name; add_categoria($pasta->name,$pasta->term_id,$pai->term_id,$pasta->slug); get_files($pasta->term_id,null,$pasta->term_id,null); echo '<li><i class="fas fa-folder mr-2" ></i>'. $nome_pasta .'('.$pasta_id.')</li>'; // exit(); get_pastas($pasta_id,null,$pai->term_id); echo '</ul>'; } function get_query_sub_pastas($pasta_id) { $pastas = new WP_Term_Query(array( 'taxonomy' => 'nt_wmc_folder', 'parent' => $pasta_id, 'hide_empty' => false, 'meta_key' => 'folder_position', 'orderby' => 'meta_value_num', 'order' => 'ASC' )); return $pastas; } function get_files($pasta_id,$periodo_ano=null,$categoria_pai_migracao=null,$new_local=null) { $meses = ['janeiro','fevereiro','marco','abril','maio','junho','julho','agosto','setembro','outubro','novembro','dezembro']; $comAcentos = array('à', 'á', 'â', 'ã', 'ä', 'å', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ü', 'ú', 'ÿ', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'O', 'Ù', 'Ü', 'Ú'); $semAcentos = array('a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'y', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U'); $meses_value = ['janeiro' => 1, 'fevereiro' => 2, 'marco' => 3, 'abril'=> 4, 'maio'=> 5, 'junho'=> 6, 'julho'=> 7, 'agosto'=> 8, 'setembro'=> 9, 'outubro'=> 10, 'novembro'=> 11, 'dezembro' => 12]; $arquivos = new WP_Query(array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'posts_per_page' => 1000000, 'orderby' => 'title', 'order' => 'DESC', 'tax_query' => array( array( 'include_children' => false, 'taxonomy' => 'nt_wmc_folder', 'field' => 'term_taxonomy_id', 'terms' => $pasta_id ) ) )); if ($arquivos->have_posts()) { echo '<ul class="pastas">'; while($arquivos->have_posts()) { $arquivos->the_post(); // print get_the_title(); $get_the_title = str_replace($comAcentos, $semAcentos, get_the_title()); $periodo_mes = contains(strtolower($get_the_title),$meses) == false ? null: $meses_value[contains(strtolower($get_the_title),$meses)]; $url_file = wp_get_attachment_url(); $parametros = "'".get_the_title()."','".$pasta_id."','".$url_file."','".$periodo_ano."','".$periodo_mes."'"; //adicionando os arquivos! $nome = html_entity_decode(get_the_title()); $base_url = 'http://localhost:8888/portal/'; $base_url_2 = 'http://localhost/portal/'; $remote_url = 'https://www.mppi.mp.br/internet/'; $arquivo = str_replace($base_url,$remote_url,wp_get_attachment_url()); $arquivo = str_replace($base_url_2,$remote_url,$arquivo); $extension = pathinfo($arquivo, PATHINFO_EXTENSION); if (preg_match('/\b\d{4}\b/', $nome, $matches)) { $ano = $matches[0]; } else { $ano = 1900; } if($ano == null) { $ano = $periodo_ano; } $mes = $periodo_mes; $categoria_id = ($new_local != null) ? $new_local : $pasta_id; $importacao_id = get_the_ID(); $tipo = 1; if($extension == 'pdf'){ $tipo = 2; } $now = date('Y-m-d H:i:s'); $print = 'Nome: ->'.$nome; $print .= '<br>Arquivo: ->'.$arquivo; $print .= '<br>ano: ->'.$ano; $print .= '<br>mes: ->'.$mes; $print .= '<br>categoria_id: ->'.$categoria_id; $print .= '<br>importacao_id: ->'.$importacao_id; $print .= '<br>tipo: ->'.$tipo; $print .= '<br>now: ->'.$now; var_dump($nome); echo $print; // $nome,$arquivo,$ano,$mes,$categoria_id,$importacao_id,$tipo,$create_at,$update_at add_arquivo($nome,$arquivo,$ano,$mes,$categoria_id,$importacao_id,$tipo,$now,$now); // exit(); echo '<li onclick="alerta_file('.$parametros.')"><i class="fas fa-file mr-2"></i>'.$periodo_mes.'/'.$periodo_ano.' -> '.get_the_title() .'('.$categoria_pai_migracao.') </li>'; } echo '</ul>'; } } function contains($str, $arr=null) { foreach($arr as $a) { if (stripos($str,$a) !== false) return $a; } return false; } function get_pai_object($id_importacao) { $pasta = get_pasta_object($id_importacao); echo '<br>NOME DA PASTA NO GET PAI ' .$pasta->name; $pai = get_pasta_object($pasta->parent); echo '<br>NOME DO PAI NO GET PAI ' .$pai->name; if(is_numeric($pai->name)) { while(is_numeric($pai->name)) { $pai = get_pasta_object($pai->parent); } } echo '<br>NOME DO PAI RETORNADO NO GET PAI ' .$pai->name; return $pai; } function return_pai_imported($pai_object) { $importacao_id_pai = $pai_object->term_id; $de_para = [710,625]; if(in_array($importacao_id_pai, $de_para)) { $importacao_id_pai = PASTA_ID; } return get_categoria_name_pai($pai_object->name,$importacao_id_pai); } function get_pastas($pasta_id,$periodo_ano=null,$categoria_pai_migracao=null) { $pastas = get_query_sub_pastas($pasta_id); if (count($pastas->get_terms())) { echo !is_numeric($periodo_ano) ? '<ul class="pastas">' : ''; foreach($pastas->get_terms() as $pasta) { $pai = return_pai_imported(get_pai_object($pasta->term_id)); echo '<br>ID DO PAI RETORNADO PELO NOME ' .$pai; // while(is_numeric($pai->name)) // { // $pai = get_pasta_object($pasta->parent); // } // $categoria_pai_migracao = is_numeric($pai->name) ? $pai->parent : $pasta_id; $categoria_pai_migracao = $pai; $str_cat = ' ( IDIMPORTACAO : '. $pasta->term_id.') ( IDIMPORTACAO-PAI : '.$categoria_pai_migracao.')( PASTA_ID'.$pasta_id.')'; echo !is_numeric($pasta->name) ? '<li><i class="fas fa-folder mr-2"></i><a href="?sub='.$pasta->slug .'">'. $pasta->name .$str_cat.'</a>' : ''; $periodo_ano = $periodo_ano; $periodo_ano = is_numeric($pasta->name) ? intval($pasta->name) : $periodo_ano; // $categoria_pai_migracao = $categoria_pai_migracao == null ? $pasta_id: $categoria_pai_migracao; $pasta_id_file = $pasta->term_id; $new_local = null; // echo $pasta->name.'<------>'.$categoria_pai_migracao; if(get_categoria_name_pai($pasta->name,$categoria_pai_migracao) == null ) { if (!is_numeric($pasta->name)) { ECHO 'NAO ENTROU NO NEW LOCAL'; echo $categoria_pai_migracao.'-'.$pasta->name; add_categoria($pasta->name,$pasta->term_id,$categoria_pai_migracao,$pasta->slug); } else { $new_local = $categoria_pai_migracao; } } else { // echo 'ENTROU NO NEWLOCAL'; $new_local = get_categoria_name_pai($pasta->name,$categoria_pai_migracao); } // if(is_numeric($pasta->name)) // { // echo 'ENTROU NO NEWLOCAL2'; // $new_local = $categoria_pai_migracao; // } get_files($pasta->term_id,$periodo_ano,$categoria_pai_migracao,$new_local); get_pastas($pasta->term_id,$periodo_ano,$categoria_pai_migracao); echo !is_numeric($periodo_ano) ? '</li>' : ''; } echo !is_numeric($pasta->name) ? '</ul>' : ''; } } // $nome = 'TESTE IGO ARQUIVO'; // $arquivo = 'documentos/2023/07/62ef8d942ad82ab1cc290caf57d4f494/doc.odt'; // $mes = 1; // $ano = 2022; // $categoria_id = 24; // $importacao_id = 10000; // $tipo = 3; // insert_arquivo($nome,$arquivo,$ano,$mes,$categoria_id,$importacao_id,$tipo); // var_dump(existe_categoria(null,'Contato')); // echo existe_categoria(1,4); // var_dump(the_title()); get_pasta($pastaId, get_the_title()); echo 'TUDO TERMINADO'; // Lista os diretórios if ($isValid): $pastas = new WP_Term_Query(array( 'taxonomy' => 'nt_wmc_folder', 'parent' => $pastaId, 'hide_empty' => false, 'meta_key' => 'folder_position', 'orderby' => 'meta_value_num', 'order' => 'ASC' )); $parentSlug = isset($_GET['sub']) ? $_GET['sub'] .':' : ''; echo '<ul class="pastas">'; foreach($pastas->get_terms() as $pasta) { echo '<li><i class="fas fa-folder mr-2"></i> <a href="?sub='. $parentSlug .''. $pasta->slug .'">'. $pasta->name .'</a></li>'; } echo '</ul>'; // if (!count($pastas->get_terms())): // Lista os arquivos $paged = get_query_var('paged') ? get_query_var('paged') : 1; $ordenacao = get_field('ordenacao_de_arquivos'); if ($ordenacao && $ordenacao == 'nome') { $arquivos = new WP_Query(array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'posts_per_page' => 25, 'paged' => $paged, 'orderby' => 'title', 'order' => 'DESC', 'tax_query' => array( array( 'include_children' => false, 'taxonomy' => 'nt_wmc_folder', 'field' => 'term_taxonomy_id', 'terms' => $pastaId ) ) )); } else { $arquivos = new WP_Query(array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'posts_per_page' => 25, 'paged' => $paged, 'tax_query' => array( array( 'include_children' => false, 'taxonomy' => 'nt_wmc_folder', 'field' => 'term_taxonomy_id', 'terms' => $pastaId ) ) )); } ?> <ul class="pasta-arquivos"> <?php if ($arquivos->have_posts()): while($arquivos->have_posts()): $arquivos->the_post(); ?> <li> <?php include 'content/content-file.php' ?> </li> <?php endwhile; endif; ?> </ul> <?php $total = $arquivos->max_num_pages; if ($total > 1){ $current_page = max(1, get_query_var('paged')); // Pagination fix $temp_query = $wp_query; $wp_query = NULL; $wp_query = $arquivos; the_posts_pagination(array( 'type' => 'list', 'current' => $current_page, 'total' => $total )); $wp_query = NULL; $wp_query = $temp_query; } ?> <?php //endif; ?> <?php endif; ?> <?php endif; ?> <script> function alerta_file(nome,categoria_pai_id,url_file,periodo_ano,periodo_mes) { alert('nome :' + nome + ' categoria_pai_id :' + categoria_pai_id + ' url_file : ' + url_file + ' periodo_ano : ' + periodo_ano + ' periodo_mes :' + periodo_mes); } </script> <?php exit; ?>
Editor is loading...