production/Controleur/ControleurAjaxipbann.php
2025-12-02 11:29:44 +00:00

141 lines
3.8 KiB
PHP
Executable File

<?php
require_once 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
require_once 'Framework/Controleurrequete.php';
require_once 'Modele/Logconnexion.php';
class ControleurAjaxipbann extends Controleurrequete
{
private $logconnexion;
public function __construct() {
$this->logconnexion = new Logconnexion();
}
public function index()
{
// $login = $this->requete->getParametreFormulaire("login");
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$logconnexions = $this->logconnexion->getipbann($ipConnexion, $debut, $fin);
$this->genererVueAjax(array('logconnexions' => $logconnexions));
}
public function exporteripbann()
{
// $login = $this->requete->getParametreFormulaire("login");
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$logconnexions = $this->logconnexion->getipbannexport($ipConnexion, $debut, $fin);
// Excel
$headerXLS = array
(
_('Updated'),
_('IP'),
_('Tentatives'),
_('Réactivé'),
_('Système')
);
$dataXLS = array();
foreach ($logconnexions as $logconnexion)
{
$dataXLS[]=$logconnexion;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('IP BANNIS'));
$feuille->setCellValue('A1', convertirc(_("IP BANNIS")));
$feuille->mergeCells('A1:E1');
$feuille->setCellValue('A2', convertirc(_("IP Connexion")." : " . $ipConnexion));
$feuille->mergeCells('A2:E2');
$feuille->setCellValue('A3', convertirc(_("PERIODE")." : " . dateLang($debut) . " <==> " . dateLang($fin)));
$feuille->mergeCells('A3:E3');
$feuille->fromArray($headerXLS, NULL, 'A5', true);
$feuille->fromArray($dataXLS, NULL, 'A6', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_IP_BANN'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur );
$writer->save($fichier);
$t_html =' <div id ="div_export_a" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
public function hsitoriquebannissementip()
{
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$logconnexions = $this->logconnexion->gethsitoriquebannissementip($ipConnexion) ;
$this->genererVueAjax
(
array
(
'logconnexions' => $logconnexions,
'ipConnexion' => $ipConnexion,
)
);
}
public function hsitoriquereactivationip()
{
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$logconnexions = $this->logconnexion->gethsitoriquereactivationip($ipConnexion) ;
$this->genererVueAjax
(
array
(
'logconnexions' => $logconnexions,
'ipConnexion' => $ipConnexion,
)
);
}
public function reactiverip()
{
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$motif = $this->requete->getParametreFormulaire("motif");
$this->logconnexion->reactiverip($ipConnexion, $motif) ;
}
public function initreactiverip()
{
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$idLigne = $this->requete->getParametreFormulaire("idLigne");
$this->genererVueAjax
(
array
(
'ipConnexion' => $ipConnexion,
'idLigne' => $idLigne,
)
);
}
}