137 lines
4.6 KiB
PHP
137 lines
4.6 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/../database/database.php';
|
|
|
|
class configuracionModel {
|
|
|
|
private PDO $db;
|
|
|
|
public function __construct() {
|
|
$this->db = Database::getConnection();
|
|
}
|
|
|
|
// OBTENER CONFIGRACIÓN
|
|
|
|
public function obtenerConfiguracion() {
|
|
|
|
$sql = "SELECT nombre, direccion, ciudad, codigo_postal, provincia, telefono, email, cond_iva, cuit, iva, inicio_act,
|
|
hora_apertura_maniana, hora_cierre_maniana, hora_apertura_tarde, hora_cierre_tarde, mail_automatico, logo_ruta, cargo_cancelacion_servicio,
|
|
email_emisor, contrasenia_emisor
|
|
FROM configuracion WHERE id = 1";
|
|
|
|
$stmt = $this->db->prepare($sql);
|
|
|
|
$stmt->execute();
|
|
|
|
return $stmt->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
// ACTUALIZAR CONFIGURACIÓN
|
|
|
|
public function actualizarConfiguracion(array $datosEmpresa): bool {
|
|
|
|
$sql = "UPDATE configuracion
|
|
SET nombre = :nombre,
|
|
direccion = :direccion,
|
|
ciudad = :ciudad,
|
|
codigo_postal = :codigo_postal,
|
|
provincia = :provincia,
|
|
telefono = :telefono,
|
|
email = :email,
|
|
cond_iva = :cond_iva,
|
|
cuit = :cuit,
|
|
iva = :iva,
|
|
hora_apertura_maniana = :hora_apertura_maniana,
|
|
hora_cierre_maniana = :hora_cierre_maniana,
|
|
hora_apertura_tarde = :hora_apertura_tarde,
|
|
hora_cierre_tarde = :hora_cierre_tarde,
|
|
mail_automatico = :mail_automatico,
|
|
cargo_cancelacion_servicio = :cargo_cancelacion_servicio,
|
|
email_emisor = :email_emisor,
|
|
contrasenia_emisor = :contrasenia_emisor
|
|
WHERE id = 1";
|
|
|
|
$stmt = $this->db->prepare($sql);
|
|
|
|
return (bool) $stmt->execute([
|
|
'nombre' => $datosEmpresa['nombre'],
|
|
'direccion' => $datosEmpresa['direccion'],
|
|
'ciudad' => $datosEmpresa['ciudad'],
|
|
'codigo_postal' => $datosEmpresa['codigo_postal'],
|
|
'provincia' => $datosEmpresa['provincia'],
|
|
'telefono' => $datosEmpresa['telefono'],
|
|
'email' => $datosEmpresa['email'],
|
|
'cond_iva' => $datosEmpresa['cond_iva'],
|
|
'cuit' => $datosEmpresa['cuit'],
|
|
'iva' => $datosEmpresa['iva'],
|
|
'hora_apertura_maniana' => $datosEmpresa['hora_apertura_maniana'],
|
|
'hora_cierre_maniana' => $datosEmpresa['hora_cierre_maniana'],
|
|
'hora_apertura_tarde' => $datosEmpresa['hora_apertura_tarde'],
|
|
'hora_cierre_tarde' => $datosEmpresa['hora_cierre_tarde'],
|
|
'mail_automatico' => $datosEmpresa['mail_automatico'],
|
|
'cargo_cancelacion_servicio' => $datosEmpresa['cargo_cancelacion_servicio'],
|
|
'email_emisor' => $datosEmpresa['email_emisor'],
|
|
'contrasenia_emisor' => $datosEmpresa['contrasenia_emisor']
|
|
]);
|
|
}
|
|
|
|
// OBTENER EL MONTO AL CANCELAR EL SERVICIO
|
|
|
|
public function obtenerCargoCancelacion(): float {
|
|
|
|
$sql = "SELECT cargo_cancelacion_servicio FROM configuracion WHERE id = 1";
|
|
|
|
$stmt = $this->db->prepare($sql);
|
|
|
|
$stmt->execute();
|
|
|
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
return isset($row['cargo_cancelacion_servicio']) ? (float) $row['cargo_cancelacion_servicio'] : 0.0;
|
|
}
|
|
|
|
// OBTENER DATOS NECESARIOS PARA EL ENVIO DE EMAIL
|
|
|
|
public function obtenerDatosEnvioMail(): array {
|
|
|
|
$sql = "SELECT direccion, ciudad, telefono, email, hora_apertura_maniana, hora_cierre_maniana, hora_apertura_tarde, hora_cierre_tarde, email_emisor, contrasenia_emisor, mail_automatico, cargo_cancelacion_servicio FROM configuracion
|
|
WHERE id = 1";
|
|
|
|
$stmt = $this->db->prepare($sql);
|
|
|
|
$stmt->execute();
|
|
|
|
return $stmt->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
// OBTENER FECHA DE ULTIMO BACKUP
|
|
|
|
public function obtenerFechaUltimoBackup(): ?string {
|
|
|
|
$backupDir = __DIR__ . '/../backups/';
|
|
|
|
$archivos = glob($backupDir . '*.sql');
|
|
|
|
if (!$archivos) {
|
|
return null;
|
|
}
|
|
|
|
// Ordenar por fecha de modificación (más reciente primero)
|
|
|
|
usort($archivos, function ($a, $b) {
|
|
return filemtime($b) - filemtime($a);
|
|
});
|
|
|
|
// Tomar el archivo más reciente
|
|
|
|
$ultimoArchivo = $archivos[0];
|
|
|
|
// Obtener fecha desde filemtime
|
|
|
|
$timestamp = filemtime($ultimoArchivo);
|
|
|
|
// Formatear a Y-m-d
|
|
|
|
return date('Y-m-d', $timestamp);
|
|
}
|
|
} |