| Server IP : 74.208.250.37 / Your IP : 216.73.216.233 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/brainwavemx/app/Controller/admin/ |
Upload File : |
<?php
declare(strict_types=1);
namespace App\Controller\Admin;
use App\Model\ClientesModel;
use App\Model\ConfigModel;
use Bigcommerce\Api\Client;
use Jasny\Auth\Auth;
use Jasny\Auth\Authz;
use Mosaico\Auth\AuthStorage;
use Mosaico\Config;
use Mosaico\Controller\BaseController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class ClientesController extends BaseController
{
public function __construct()
{
$this->auth();
}
protected $clientesModel;
public function list(Request $request): string
{
$this->clientesModel = new ClientesModel();
$clientes = $this->clientesModel->getClientes();
return $this->template(
'clientes',
[
'clientes' => $clientes,
]
);
}
public function listBigCommerce(): string
{
$config = new ConfigModel();
$store = $config->getValue('api_bigcommerce_store');
$token = $config->getValue('api_bigcommerce_token');
$clientid = $config->getValue('api_bigcommerce_clientid');
Client::configure([
'client_id' => $clientid,
'auth_token' => $token,
'store_hash' => $store,
]);
Client::verifyPeer(false);
$array = [
'limit' => 250,
];
$clientes = Client::getCustomers($array);
return $this->template(
'clientesbc',
[
'sitename' => 'Dimnsa Middleware',
'clientes' => $clientes,
]
);
}
public function edit(Request $request, int $id): string
{
$this->clientesModel = new ClientesModel();
$cliente = $this->clientesModel->getCliente($id);
return $this->template(
'clienteEdit',
[
'id' => $id,
'cliente' => $cliente,
]
);
}
public function update(Request $request): string
{
$cliente = $_POST;
$response = [];
$id = $cliente['id_cliente'] ?? 0;
$response['status'] = false;
$response['message'] = '';
if (empty($cliente)) {
return json_encode($response);
}
$this->clientesModel = new ClientesModel();
$response['status'] = $this->clientesModel->updateCliente($cliente);
if ($response['status']) {
$response['message'] = '<div class="alert alert-success text-center">' .
'El cliente ' . $id . ' ha sido actualizado' .
'</div>';
}
return json_encode($response);
}
public function direcciones(Request $request): string
{
$this->clientesModel = new ClientesModel();
$direcciones = $this->clientesModel->getDirecciones();
return $this->template(
'direcciones',
[
'direcciones' => $direcciones,
]
);
}
public function direccionEdit(Request $request, int $id): string
{
$this->clientesModel = new ClientesModel();
$direccion = $this->clientesModel->getDireccion($id);
is_bool($direccion) ?
$id_pais = 0 :
$id_pais = $direccion->row['id_pais'];
$paises = $this->clientesModel->getPaises();
$estados = $this->clientesModel->getEstadosPais((int) $id_pais);
return $this->template(
'direccionEdit',
[
'direccion' => $direccion,
'paises' => $paises,
'estados' => $estados,
]
);
}
public function getEstadosPais(int $id_pais): string
{
$id_estado = $_POST['id_estado'] ?? 0;
$this->clientesModel = new ClientesModel();
$estados = $this->clientesModel->getEstadosPais($id_pais);
is_bool($estados) ?
$array = [] :
$array = $estados->rows;
return $this->template(
'direccionEstados',
[
'estados' => $array,
'id_estado' => $id_estado,
]
);
}
public function direccionUpdate(Request $request): string
{
$direccion = $_POST;
$response = [];
$id = $direccion['id_direccion'] ?? 0;
$response['status'] = false;
$response['message'] = '';
if (empty($direccion)) {
return json_encode($response);
}
$this->clientesModel = new ClientesModel();
$response['status'] = $this->clientesModel->updatedireccion($direccion);
if ($response['status']) {
$response['message'] = '<div class="alert alert-success text-center">' .
'La dirección ' . $id . ' ha sido actualizada' .
'</div>';
}
return json_encode($response);
}
}