-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #151 from ResidenciaTICBrisa/refactor
Refatoração dos códigos em PHP do plugin
- Loading branch information
Showing
5 changed files
with
213 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,8 +31,7 @@ function aprovar_formulario($id) { | |
$estado_atual = $wpdb->get_var($wpdb->prepare("SELECT situacao FROM lc_formulario WHERE id = %d", $id)); | ||
|
||
// Atualiza o status do formulário para 'Aprovado' no banco de dados | ||
$query = $wpdb->prepare("UPDATE lc_formulario SET situacao = 'Aprovado' WHERE id = %d", $id); | ||
$resultado = $wpdb->query($query); | ||
alteraStatus($wpdb, $id, 'Aprovado'); | ||
|
||
// Verifica se o estado anterior era 'Negado' para enviar o e-mail de notificação | ||
if ($estado_atual === 'Negado' || $estado_atual === 'Pendente') { | ||
|
@@ -60,16 +59,32 @@ function aprovar_formulario($id) { | |
// Redireciona de volta para a mesma página após a atualização | ||
echo '<script>window.location.href = window.location.href;</script>'; | ||
} | ||
|
||
function alteraStatus($wpdb, $id, $newStatus){ | ||
if (!isset($wpdb) || empty($id) || empty($newStatus)) { | ||
return false; | ||
} | ||
|
||
// Atualiza o status do formulário no banco de dados | ||
$query = $wpdb->prepare("UPDATE lc_formulario SET situacao = %s WHERE id = %d", $newStatus, $id); | ||
$resultado = $wpdb->query($query); | ||
|
||
if($resultado === false) { | ||
// Trate o erro aqui | ||
return false; | ||
} | ||
|
||
return true; | ||
} | ||
|
||
// Função para rejeitar o formulário | ||
function rejeitar_formulario($id) { | ||
global $wpdb; | ||
|
||
// Busca o estado atual do formulário | ||
$estado_atual = $wpdb->get_var($wpdb->prepare("SELECT situacao FROM lc_formulario WHERE id = %d", $id)); | ||
|
||
// Atualiza o status do formulário para 'Negado' no banco de dados | ||
$query = $wpdb->prepare("UPDATE lc_formulario SET situacao = 'Negado' WHERE id = %d", $id); | ||
$resultado = $wpdb->query($query); | ||
alteraStatus($wpdb, $id, 'Negado'); | ||
|
||
// Verifica se o estado anterior era 'Aprovado' ou 'Pendente' para enviar o e-mail de notificação | ||
if ($estado_atual === 'Aprovado' || $estado_atual === 'Pendente') { | ||
|
@@ -104,100 +119,3 @@ function excluir_formulario($id) { | |
// Redireciona de volta paloucademia de policiara a mesma página após a atualização | ||
echo '<script>window.location.href = window.location.href;</script>'; | ||
} | ||
// Verifica se o parâmetro "action" foi enviado via POST | ||
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['action'])) { | ||
// Verifica a ação do formulário | ||
if ($_POST['action'] === 'approve' && isset($_POST['id'])) { | ||
aprovar_formulario($_POST['id']); | ||
} | ||
elseif ($_POST['action'] === 'reprove' && isset($_POST['id'])) { | ||
rejeitar_formulario($_POST['id']); | ||
} | ||
elseif ($_POST['action'] === 'exclude' && isset($_POST['id'])) { | ||
excluir_formulario($_POST['id']); | ||
} | ||
} | ||
?> | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<!-- Linkando css --> | ||
<link rel="stylesheet" href="<?php echo plugin_dir_url(__FILE__); ?>style-admin.css"> | ||
</head> | ||
<body> | ||
<div id="div_admin"> | ||
<div id="div-mapa_botoes"> | ||
<div id="mapa_admin" class="div-mapa_botoes_filho" style="height: 300px; width: 60%; margin-bottom: 10px;"></div> | ||
<div id="botoes_admin" class="div-mapa_botoes_filho" style="width: 30%; margin-bottom: 10px;"> | ||
<?php | ||
global $wpdb; | ||
|
||
$query_aprovados = "SELECT * FROM lc_formulario WHERE situacao='Aprovado'"; | ||
$query_negados = "SELECT * FROM lc_formulario WHERE situacao='Negado'"; | ||
$query_pendentes = "SELECT * FROM lc_formulario WHERE situacao='Pendente'"; | ||
|
||
$aprovados = $wpdb->get_results($query_aprovados); | ||
$negados = $wpdb->get_results($query_negados); | ||
$pendentes = $wpdb->get_results($query_pendentes); | ||
echo '<button value="Aprovado" onclick="filtrar(this)">' . count($aprovados) . ' Aprovados</button>'; | ||
echo '<button value="Negado" onclick="filtrar(this)">' . count($negados) . ' Negados</button>'; | ||
echo '<button value="Pendente" onclick="filtrar(this)">' . count($pendentes) . ' Pendentes</button>'; | ||
?> | ||
</div> | ||
</div> | ||
<div id="contador_resultados"> | ||
</div> | ||
<div id=filtros> | ||
<form method="post"> | ||
<div id="busca_nome_container" class="filtro"> | ||
<input type="text" id="busca_nome" placeholder="Pesquise pelo nome" oninput="filtrar()"> | ||
</div> | ||
</form> | ||
<select id="selecao_servico" class="filtro" onchange="filtrar()" required> | ||
<option value="" selected disabled>Selecione...</option> | ||
<option value="bar/restaurante">Bares/restaurantes</option> | ||
<option value="entretenimento">Entretenimento</option> | ||
<option value="beleza">Beleza</option> | ||
<option value="hospedagem">Hospedagem</option> | ||
<option value="ensino">Ensino</option> | ||
<option value="academia">Academia</option> | ||
<option value="">Todos</option> | ||
</select> | ||
</div> | ||
<div class="wrap"> | ||
<div id="confirmModal" class="modal"> | ||
<div class="modal-content"> | ||
<p id="confirmMessage"></p> | ||
<button id="confirmBtn" onclick=>Confirmar</button> | ||
<button id="cancelBtn">Cancelar</button> | ||
</div> | ||
</div> | ||
<table class="wp-list-table widefat striped" id="tabela"> | ||
<thead> | ||
<tr> | ||
<th class="sort-header">Nome <button class="sort-btn" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th class="sort-header">Email <button class="sort-btn sort-by-email" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th>Latitude</th> | ||
<th>Longitude</th> | ||
<th>Serviço</th> | ||
<th>Descrição</th> | ||
<th class="sort-header">Data e hora <button class="sort-btn sort-by-date" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th>Status</th> | ||
<th>Ações</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<?php | ||
echo '<script src="' . plugin_dir_url(__FILE__) . 'admin_script.js"></script>'; | ||
?> | ||
</div> | ||
</div> | ||
|
||
<!-- Carregue o jQuery antes de qualquer outro script que o utilize --> | ||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> | ||
<!-- Carregue o Leaflet antes de qualquer script que o utilize --> | ||
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script> | ||
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" /> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,4 +21,96 @@ function mostrar_dados() { | |
$dados_formulario = $wpdb->get_results("SELECT * FROM lc_formulario"); | ||
|
||
require 'formulario-admin-page.php'; | ||
|
||
// Verifica se o parâmetro "action" foi enviado via POST | ||
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['action'])) { | ||
// Verifica a ação do formulário | ||
if ($_POST['action'] === 'approve' && isset($_POST['id'])) { | ||
aprovar_formulario($_POST['id']); | ||
} | ||
elseif ($_POST['action'] === 'reprove' && isset($_POST['id'])) { | ||
rejeitar_formulario($_POST['id']); | ||
} | ||
elseif ($_POST['action'] === 'exclude' && isset($_POST['id'])) { | ||
excluir_formulario($_POST['id']); | ||
} | ||
} | ||
?> | ||
<!DOCTYPE html> | ||
<html> | ||
<head> | ||
<!-- Linkando css --> | ||
<link rel="stylesheet" href="<?php echo plugin_dir_url(__FILE__); ?>style-admin.css"> | ||
</head> | ||
<body> | ||
<div id="div_admin"> | ||
<div id="div-mapa_botoes"> | ||
<div id="mapa_admin" class="div-mapa_botoes_filho" style="height: 300px; width: 60%; margin-bottom: 10px;"></div> | ||
<div id="botoes_admin" class="div-mapa_botoes_filho" style="width: 30%; margin-bottom: 10px;"> | ||
<?php | ||
global $wpdb; | ||
|
||
$query_aprovados = "SELECT * FROM lc_formulario WHERE situacao='Aprovado'"; | ||
$query_negados = "SELECT * FROM lc_formulario WHERE situacao='Negado'"; | ||
$query_pendentes = "SELECT * FROM lc_formulario WHERE situacao='Pendente'"; | ||
|
||
$aprovados = $wpdb->get_results($query_aprovados); | ||
$negados = $wpdb->get_results($query_negados); | ||
$pendentes = $wpdb->get_results($query_pendentes); | ||
echo '<button value="Aprovado" onclick="filtrar(this)">' . count($aprovados) . ' Aprovados</button>'; | ||
echo '<button value="Negado" onclick="filtrar(this)">' . count($negados) . ' Negados</button>'; | ||
echo '<button value="Pendente" onclick="filtrar(this)">' . count($pendentes) . ' Pendentes</button>'; | ||
?> | ||
</div> | ||
</div> | ||
<div id="contador_resultados"> | ||
</div> | ||
<div id=filtros> | ||
<form method="post"> | ||
<div id="busca_nome_container" class="filtro"> | ||
<input type="text" id="busca_nome" placeholder="Pesquise pelo nome" oninput="filtrar()"> | ||
</div> | ||
</form> | ||
<select id="selecao_servico" class="filtro" onchange="filtrar()" required> | ||
<option value="" selected disabled>Selecione...</option> | ||
<option value="bar/restaurante">Bares/restaurantes</option> | ||
<option value="entretenimento">Entretenimento</option> | ||
<option value="beleza">Beleza</option> | ||
<option value="hospedagem">Hospedagem</option> | ||
<option value="ensino">Ensino</option> | ||
<option value="academia">Academia</option> | ||
<option value="">Todos</option> | ||
</select> | ||
</div> | ||
<div class="wrap"> | ||
<table class="wp-list-table widefat striped" id="tabela"> | ||
<thead> | ||
<tr> | ||
<th class="sort-header">Nome <button class="sort-btn" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th class="sort-header">Email <button class="sort-btn sort-by-email" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th>Latitude</th> | ||
<th>Longitude</th> | ||
<th>Serviço</th> | ||
<th>Descrição</th> | ||
<th class="sort-header">Data e hora <button class="sort-btn sort-by-date" data-order="asc"><span class="sort-icon">▴</span></button></th> | ||
<th>Status</th> | ||
<th>Ações</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<?php | ||
echo '<script src="' . plugin_dir_url(__FILE__) . 'admin_script.js"></script>'; | ||
?> | ||
</div> | ||
</div> | ||
|
||
<!-- Carregue o jQuery antes de qualquer outro script que o utilize --> | ||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> | ||
<!-- Carregue o Leaflet antes de qualquer script que o utilize --> | ||
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script> | ||
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" /> | ||
|
||
</body> | ||
</html> | ||
<?php | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.