-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Transferência da página gateway_pagamento.php para a nova estrutura d…
…e diretórios do módulo de contribuição [Issue #727]
- Loading branch information
1 parent
0af2c1a
commit 0e95dff
Showing
11 changed files
with
905 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,115 @@ | ||
<?php | ||
|
||
require_once '../model/GatewayPagamento.php'; | ||
require_once '../dao/GatewayPagamentoDAO.php'; | ||
|
||
class GatewayPagamentoController | ||
{ | ||
/**Realiza os procedimentos necessários para inserir um Gateway de pagamento na aplicação */ | ||
public function cadastrar() | ||
{ | ||
$nome = $_POST['nome']; | ||
$endpoint = $_POST['endpoint']; | ||
$token = $_POST['token']; | ||
|
||
try { | ||
$gatewayPagamento = new GatewayPagamento($nome, $endpoint, $token); | ||
$gatewayPagamento->cadastrar(); | ||
header("Location: ../view/gateway_pagamento.php?msg=cadastrar-sucesso"); | ||
} catch (Exception $e) { | ||
header("Location: ../view/gateway_pagamento.php?msg=cadastrar-falha"); | ||
} | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para buscar os gateways de pagamento da aplicação | ||
*/ | ||
public function buscaTodos() | ||
{ | ||
try { | ||
$gatewayPagamentoDao = new GatewayPagamentoDAO(); | ||
$gateways = $gatewayPagamentoDao->buscaTodos(); | ||
return $gateways; | ||
} catch (PDOException $e) { | ||
echo 'Erro na busca de gateways de pagamento: ' . $e->getMessage(); | ||
} | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para remover um gateway de pagamento do sistema. | ||
*/ | ||
public function excluirPorId() | ||
{ | ||
$gatewayId = trim($_POST['gateway-id']); | ||
|
||
if (!$gatewayId || empty($gatewayId) || $gatewayId < 1) { | ||
//parar operação | ||
header("Location: ../view/gateway_pagamento.php?msg=excluir-falha#mensagem-tabela"); | ||
exit(); | ||
} | ||
|
||
try { | ||
$gatewayPagamentoDao = new GatewayPagamentoDAO(); | ||
$gatewayPagamentoDao->excluirPorId($gatewayId); | ||
header("Location: ../view/gateway_pagamento.php?msg=excluir-sucesso#mensagem-tabela"); | ||
} catch (Exception $e) { | ||
header("Location: ../view/gateway_pagamento.php?msg=excluir-falha#mensagem-tabela"); | ||
} | ||
//echo 'O id do gateway que será excluído é: '.$gatewayId; | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para alterar as informações de um gateway de pagamento do sistema | ||
*/ | ||
public function editarPorId() | ||
{ | ||
$gatewayId = $_POST['id']; | ||
$gatewayNome = $_POST['nome']; | ||
$gatewayEndepoint = $_POST['endpoint']; | ||
$gatewayToken = $_POST['token']; | ||
|
||
try { | ||
$gatewayPagamento = new GatewayPagamento($gatewayNome, $gatewayEndepoint, $gatewayToken); | ||
$gatewayPagamento->setId($gatewayId); | ||
$gatewayPagamento->editar(); | ||
header("Location: ../view/gateway_pagamento.php?msg=editar-sucesso#mensagem-tabela"); | ||
} catch (Exception $e) { | ||
header("Location: ../view/gateway_pagamento.php?msg=editar-falha#mensagem-tabela"); | ||
} | ||
//echo 'Editando gateway de id: '.$gatewayId; | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para ativar/desativar um gateway de pagamento no sistema | ||
*/ | ||
public function alterarStatus() | ||
{ | ||
$gatewayId = $_POST['id']; | ||
$status = trim($_POST['status']); | ||
|
||
if (!$gatewayId || empty($gatewayId)) { | ||
http_response_code(400); | ||
echo json_encode(['Erro' => 'O id deve ser maior ou igual a 1.']);exit; | ||
} | ||
|
||
if (!$status || empty($status)) { | ||
http_response_code(400); | ||
echo json_encode(['Erro' => 'O status informado não é válido.']);exit; | ||
} | ||
|
||
if ($status === 'true') { | ||
$status = 1; | ||
} elseif ($status === 'false') { | ||
$status = 0; | ||
} | ||
|
||
try { | ||
$gatewayPagamentoDao = new GatewayPagamentoDAO(); | ||
$gatewayPagamentoDao->alterarStatusPorId($status, $gatewayId); | ||
echo json_encode(['Sucesso']); | ||
} catch (Exception $e) { | ||
http_response_code(500); | ||
echo json_encode(['Erro'=>'Ocorreu um problema no servidor.']);exit; | ||
} | ||
} | ||
} |
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 |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<?php | ||
require_once('../dao/ConexaoDAO.php'); | ||
class TesteController{ | ||
public function teste(){ | ||
echo 'Hello World'; | ||
print_r(ConexaoDAO::conectar()); | ||
} | ||
} |
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 |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?php | ||
//Sanitizes the request parameters | ||
$controller = trim(htmlspecialchars($_REQUEST['nomeClasse'])); | ||
$function = trim(htmlspecialchars($_REQUEST['metodo'])); | ||
|
||
try { | ||
if (!$controller || !$function) { | ||
throw new InvalidArgumentException('Operação Inválida, controladora e função não definidas'); | ||
} | ||
|
||
$controllerPath = $controller . '.php'; //Prepare the require path | ||
|
||
if (!file_exists($controllerPath)) { | ||
throw new InvalidArgumentException('Operação Inválida, arquivo da controladora inexistente'); | ||
} | ||
|
||
require_once($controllerPath); | ||
|
||
if (!class_exists($controller)) { | ||
throw new InvalidArgumentException('Operação Inválida, controladora inexistente'); | ||
} | ||
|
||
$controllerObject = new $controller(); //Instance the controller type object | ||
|
||
if (!method_exists($controllerObject, $function)) { | ||
throw new InvalidArgumentException('Operação Inválida, método inexistente'); | ||
} | ||
|
||
$controllerObject->$function(); //Calls the controller function | ||
} catch (InvalidArgumentException $e) { | ||
http_response_code(400); | ||
exit("Erro: {$e->getMessage()}"); | ||
} |
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 |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<?php | ||
require_once('../../../config.php'); | ||
class ConexaoDAO{ | ||
public static function conectar(){ | ||
$pdo = new PDO('mysql:host='.DB_HOST.'; dbname='.DB_NAME.'; charset=utf8',DB_USER,DB_PASSWORD); | ||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
return $pdo; | ||
} | ||
} |
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 |
---|---|---|
@@ -0,0 +1,108 @@ | ||
<?php | ||
//requisitar arquivo de conexão | ||
|
||
require_once '../dao/ConexaoDAO.php'; | ||
|
||
class GatewayPagamentoDAO{ | ||
|
||
private $pdo; | ||
|
||
public function __construct() | ||
{ | ||
$this->pdo = ConexaoDAO::conectar(); | ||
} | ||
|
||
/** | ||
* Inseri um gateway de pagamento no banco de dados da aplicação | ||
*/ | ||
public function cadastrar($nome, $endpoint, $token, $status){ | ||
/*Lógica da aplicação */ | ||
//definir consulta SQL | ||
$sqlCadastrar = "INSERT INTO contribuicao_gatewayPagamento (plataforma, endpoint, token, status) | ||
VALUES (:plataforma, :endpoint, :token, :status)"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlCadastrar); | ||
$stmt->bindParam(':plataforma', $nome); | ||
$stmt->bindParam(':endpoint', $endpoint); | ||
$stmt->bindParam(':token', $token); | ||
$stmt->bindParam(':status', $status); | ||
//executar | ||
$stmt->execute(); | ||
} | ||
|
||
/** | ||
* Busca os gateways de pagamento registrados no banco de dados da aplicação | ||
*/ | ||
public function buscaTodos(){ | ||
//definir consulta sql | ||
$sqlBuscaTodos = "SELECT * from contribuicao_gatewayPagamento"; | ||
//executar | ||
$resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); | ||
//retornar resultado | ||
return $resultado; | ||
} | ||
|
||
/** | ||
* Remover o gateway de pagamento que possuí id equivalente no banco de dados da aplicação | ||
*/ | ||
public function excluirPorId($id){ | ||
//definir consulta sql | ||
$sqlExcluirPorId = "DELETE FROM contribuicao_gatewayPagamento WHERE id=:id"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlExcluirPorId); | ||
$stmt->bindParam(':id', $id); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato excluído | ||
$gatewayExcluido = $stmt->rowCount(); | ||
|
||
if($gatewayExcluido < 1){ | ||
throw new Exception(); | ||
} | ||
} | ||
|
||
/** | ||
* Modifica os campos da tabela contribuicao_gatewaypagamento relacionados ao id informado | ||
*/ | ||
public function editarPorId($id, $nome, $endpoint, $token){ | ||
//definir consulta sql | ||
$sqlEditarPorId = "UPDATE contribuicao_gatewayPagamento SET plataforma =:nome, endpoint =:endpoint, token =:token WHERE id=:id"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlEditarPorId); | ||
$stmt->bindParam(':nome', $nome); | ||
$stmt->bindParam(':endpoint', $endpoint); | ||
$stmt->bindParam(':token', $token); | ||
$stmt->bindParam(':id', $id); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato alterado | ||
$gatewayExcluido = $stmt->rowCount(); | ||
|
||
if($gatewayExcluido < 1){ | ||
throw new Exception(); | ||
} | ||
} | ||
|
||
/** | ||
* Modifica o campo status da tabela contribuica_gatewayPagamento de acordo com o id fornecido | ||
*/ | ||
public function alterarStatusPorId($status, $gatewayId){ | ||
//definir consulta sql | ||
$sqlAlterarStatusPorId = "UPDATE contribuicao_gatewayPagamento SET status =:status WHERE id=:gatewayId"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlAlterarStatusPorId); | ||
$stmt->bindParam(':status', $status); | ||
$stmt->bindParam(':gatewayId', $gatewayId); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato alterado | ||
$gatewayAlterado = $stmt->rowCount(); | ||
|
||
if($gatewayAlterado < 1){ | ||
throw new Exception(); | ||
} | ||
} | ||
} |
Oops, something went wrong.