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

122 lines
3.9 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 ControleurAjaxlogpagesvisit extends Controleurrequete
{
private $logconnexion;
public function __construct() {
$this->logconnexion = new Logconnexion();
}
public function index()
{
$login = $this->requete->getParametreFormulaire("login");
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$vue = $this->requete->getParametreFormulaire("vue");
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$logconnexions = $this->logconnexion->getlogpagesvisitcumul($login, $ipConnexion, $vue, $debut, $fin);
$this->genererVueAjax(array('logconnexions' => $logconnexions));
}
public function detail()
{
$login = $this->requete->getParametreFormulaire("login");
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$vue = $this->requete->getParametreFormulaire("vue");
$codeApplication = $this->requete->getParametreFormulaire("codeApplication");
$application = $this->requete->getParametreFormulaire("application");
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$logconnexions = $this->logconnexion->getlogpagesvisitdetail($login, $ipConnexion, $vue, $codeApplication, $debut, $fin);
$this->genererVueAjax
(
array
(
'logconnexions' => $logconnexions,
'login' => $login,
'ipConnexion' => $ipConnexion,
'vue' => $vue,
'codeApplication' => $codeApplication,
'application' => $application,
'debut' => $debut,
'fin' => $fin,
)
);
}
public function exporterlogpagesvisit()
{
$login = $this->requete->getParametreFormulaire("login");
$ipConnexion = $this->requete->getParametreFormulaire("ipConnexion");
$vue = $this->requete->getParametreFormulaire("vue");
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$logconnexions = $this->logconnexion->getlogpagesvisitcumulexport($login, $ipConnexion, $vue, $debut, $fin);
// Excel
$headerXLS = array
(
_('Application'),
_('Vue'),
_('Login'),
_('IP'),
_('Occurences')
);
$dataXLS = array();
foreach ($logconnexions as $logconnexion)
{
$dataXLS[]=$logconnexion;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('PAGES VISTEES'));
$feuille->setCellValue('A1', convertirc(_("LOGS PAGES VISTEE")));
$feuille->mergeCells('A1:E1');
$feuille->setCellValue('A2', convertirc(_("Login")." : " . $login));
$feuille->mergeCells('A2:E2');
$feuille->setCellValue('A3', convertirc(_("IP")." : " . $ipConnexion));
$feuille->mergeCells('A3:E3');
$feuille->setCellValue('A4', convertirc(_("Vue")." : " . $vue));
$feuille->mergeCells('A4:E4');
$feuille->setCellValue('A5', convertirc(_("PERIODE")." : " . dateLang($debut) . " <==> " . dateLang($fin)));
$feuille->mergeCells('A5:E5');
$feuille->fromArray($headerXLS, NULL, 'A7', true);
$feuille->fromArray($dataXLS, NULL, 'A8', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_LOGS_PG_VISIT'."_".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();
}
}