146 lines
3.8 KiB
PHP
146 lines
3.8 KiB
PHP
<?php
|
|
require_once 'vendor/autoload.php';
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
require_once 'Framework/Controleurrequete.php'; // OK
|
|
require_once 'Modele/Messagerie.php';
|
|
|
|
class ControleurAjaximporterdestinatairesms extends Controleurrequete
|
|
{
|
|
private $messagerie;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->messagerie = new Messagerie();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
}
|
|
|
|
public function exportermodele()
|
|
{
|
|
$destinataires = $this->messagerie->getModeleDestinataireSms();
|
|
|
|
// Excel
|
|
$headerXLS = array
|
|
(
|
|
_('Destinataire'),
|
|
_('Destination')
|
|
);
|
|
|
|
$dataXLS = array();
|
|
|
|
foreach ($destinataires as $destinataire)
|
|
{
|
|
$dataXLS[]=$destinataire;
|
|
}
|
|
|
|
$classeur = new Spreadsheet();
|
|
$classeur->getProperties()->setCreator("INTER-SANTE");
|
|
$classeur->setActiveSheetIndex(0);
|
|
$feuille=$classeur->getActiveSheet();
|
|
$feuille->setTitle(_('MODEL DEST SMS'));
|
|
$feuille->fromArray($headerXLS, NULL, 'A1', true);
|
|
$feuille->fromArray($dataXLS, NULL, 'A2', true);
|
|
|
|
//Forcer le téléchargement vers le navigateur;
|
|
$fichier = 'Temp/MODEL_DEST_SMS'."_".uniqid().".xlsx";
|
|
|
|
$writer = new Xlsx($classeur);
|
|
$writer->save($fichier);
|
|
|
|
$t_html =' <div class="alert alert-success"> ';
|
|
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
|
|
$t_html .=' </div ';
|
|
echo $t_html;
|
|
|
|
exit();
|
|
}
|
|
|
|
public function importermodele()
|
|
{
|
|
$succesImport = "1";
|
|
|
|
$cheminFichier = $this->requete->getParametreFormulaire("cheminFichier");
|
|
|
|
$this->messagerie->initIinsererLigneDestinataireSms();
|
|
|
|
$dataXLS = array();
|
|
|
|
$fichier = "Temp/import/".$cheminFichier;
|
|
|
|
if (!file_exists($fichier))
|
|
{
|
|
$succesImport = "0";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Fichier introubable sur le serveur !", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
|
|
$docXLS = new PHPExcel_Reader_Excel2007();
|
|
|
|
$Excel = $docXLS->load($fichier);
|
|
|
|
$Excel->setActiveSheetIndex(0);
|
|
|
|
$feuille=$Excel->getActiveSheet();
|
|
|
|
$derniereLigne = $feuille->getHighestRow();
|
|
$derniereColonne = $feuille->getHighestColumn();
|
|
|
|
$tableauExcel = $feuille->toArray(null, true, true, true);
|
|
|
|
/*
|
|
$idDestintaire, $libelleDestinataire, $destination
|
|
*/
|
|
|
|
for ($i = 2; $i <= $derniereLigne; $i++)
|
|
{
|
|
$idDestintaire = $i-1;
|
|
$libelleDestinataire = trim($tableauExcel[$i]['A']);
|
|
$destination = trim($tableauExcel[$i]['B']);
|
|
|
|
if ($libelleDestinataire<=" ")
|
|
{
|
|
$succesImport = "0";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Revoir nom destinataire!", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
|
|
if (strlen($destination)<6)
|
|
{
|
|
$succesImport = "0";
|
|
$this->genererVueAjax(array('message_erreur_excel' => $libelleDestinataire." => Revoir No de destination!", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
|
|
$this->messagerie->insererLigneDestinataireSms($idDestintaire, $libelleDestinataire, $destination);
|
|
|
|
/*
|
|
echo "Ligne ". $i . " => OK";
|
|
echo "<BR>";
|
|
*/
|
|
}
|
|
if ($succesImport=="1")
|
|
{
|
|
$this->messagerie->majetape();
|
|
}
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Fichier temporaire extrait du serveur avec succes!", 'succes_impot_execl' => "1"));
|
|
exit();
|
|
}
|
|
|
|
public function majetape()
|
|
{
|
|
$this->messagerie->majetape();
|
|
}
|
|
|
|
public function init()
|
|
{
|
|
$destinataire_selections = $this->messagerie->getdestinatairesselectionnes();
|
|
|
|
$destinataire_non_selections = $this->messagerie->getdestinatairesnonselectionnes();
|
|
|
|
$this->genererVueAjax(array('destinataire_selections' => $destinataire_selections, 'destinataire_non_selections' => $destinataire_non_selections));
|
|
}
|
|
|
|
} |