Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 166 → Rev 167

/gestion/manager/htdocs/import_user.php
15,6 → 15,23
<tr><td valign="middle" align="left">
<CENTER><H3>&Eacute;tat actuel de la base : nombre de groupe =
<?php
function getImportFileList(){
$importFile = array();
if ($handle = opendir('/tmp')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$ext = pathinfo($file ,PATHINFO_EXTENSION);
$name = substr($file, 0, -(strlen($ext)+1)); //Retirer les lettres de l'extension ET le point
if ($ext=="pwd"){
$importFile[] = $name;
}
}
}
closedir($handle);
}
return $importFile;
}
 
function creatlog ($login,$password,$service,$RS_out)
{
/* génère un fichier en sortie avec les info de connexion en clair */
72,8 → 89,9
$group = $_POST ['groupe'];
$destination = '/tmp/import_file.txt';
list($name_file , $extension) = explode("." , $_FILES['import-users']['name']);
$extension = strstr($_FILES['import-users']['name'], '.');
$file_out = "/tmp/$name_file.pwd" ;
$extension = strstr($_FILES['import-users']['name'], '.');
$tmpdate = date("Ymd-hms");
$file_out = "/tmp/$tmpdate-$name_file.pwd" ;
if ($choix == "csv")
//import d'un fichier txt
{
188,11 → 206,13
echo "<TABLE width=\"100%\" border=0 cellspacing=0 cellpadding=1>";
echo "<tr bgcolor=\"#666666\"><td>";
echo "<TABLE width=\"100%\" border=0 cellspacing=0 cellpadding=2>";
echo "<tr><td valign=\"middle\" align=\"left\">";
echo "<tr><td valign=\"middle\" align=\"left\" colspan=\"2\">";
echo "<CENTER><H3>Importer &agrave; partir d'un fichier texte (format TXT)</H3></CENTER>";
echo "Cette fonctionalit&eacute; ne supporte actuellement qu'une liste simple de noms d'usagers (les uns sous les autres).<br>";
echo "Pour chaque importation, un fichier contenant les identifiants et les mots de passe des usagers est g&eacute;n&eacute;r&eacute; sous : /tmp/nomdufichier.pwd";
echo "<FORM action='$_SERVER[PHP_SELF]' method=POST ENCTYPE=\"multipart/form-data\">";
echo "</td></tr>";
echo "<tr><td valign=\"middle\" align=\"left\">";
echo "<br><FORM action='$_SERVER[PHP_SELF]' method=POST ENCTYPE=\"multipart/form-data\">";
echo "Fichier (.txt) : <input type=\"file\" name=\"import-users\"><br>";
echo "D&eacute;finissez leur service (facultatif) : <input type=\"input\" name=\"service\" value=\"\"><br>";
echo "D&eacute;finissez leur groupe (conseill&eacute;) : <input type=\"input\" name=\"groupe\" value=\"\"><br>";
199,7 → 219,20
echo "<input type='hidden' name='choix' value='csv'>";
if (($choix == "csv") && isset($result)) echo $result."<BR>";
echo "<input type=\"submit\" value=\"Envoyer\">";
echo "</FORM>";
echo "</FORM></td>";
echo "<td>";
$ImportFileList = getImportFileList();
if (count($ImportFileList) > 0){
echo "Fichiers import&eacute;s des derni&egrave;res 24h.";
echo "<ul>";
foreach ( $ImportFileList as $ImportFile ) //on parcours le tableau
{
echo "<li>".$ImportFile." ( <a href=\"import_file.php?file=$ImportFile\">txt</a> - <a href=\"import_file.php?file=$ImportFile&format=pdf\">pdf</a> )</li>";
}
echo "</ul>";
} else {
echo "<br>";
}
echo "</TD></TR></TABLE>";
echo "</TD></TR></TABLE>";
echo "<TABLE width=\"100%\" border=0 cellspacing=0 cellpadding=1>";
/gestion/manager/htdocs/import_file.php
0,0 → 1,83
<?php
require('../../lib/fpdf16/fpdf.php');
 
class fichePDF extends FPDF {
 
function Header()
{
 
}
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Arial italique 8
$this->SetFont('Arial','I',8);
//Couleur du texte en gris
$this->SetTextColor(128);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}
 
function lirefichier($fichier)
{
$this->AddPage();
//Lecture des lignes du fichier
$lines = file($fichier);
$n = 1;
foreach($lines as $line){
//Times 12
$this->SetFont('Times','',10);
//Sortie du texte justifié
$this->Cell(0,5,utf8_decode($line));
$this->Ln();
++$n;
if ($n > (50)){ // on affiche 50 ligne par page soit 5 fiches usagers
$this->AddPage();
$n = 1;
}
}
}
}
 
function getImportFile($importFileName, $format = "txt"){
$importFile = "/tmp/$importFileName.pwd";
if(is_file($importFile)&&is_readable($importFile)){
if ($format=="txt"){
//telechargement
$taille=filesize($importFile);
header("Content-Type: application/x-download");
header("Content-Length: $taille");
header("Content-Disposition: attachment; filename=\"$importFileName.txt\"");
header("Cache-Control: private, max-age=0, must-revalidate");
header("Pragma: public");
header("Content-Type: application/force-download; filename=\"$importFileName.txt\"");
ini_set("zlib.output_compression","0");
readfile($importFile);
exit();
}elseif ($format=="pdf"){
$pdf=new fichePDF();
$pdf->lirefichier($importFile);
$pdf->Output($importFileName.".pdf","D");
}else{
getImportFile($importFileName,"txt");
}
} else {
return false;
}
}
if (isset($_GET['file']) && $_GET['file']){
if (isset($_GET['format'])){
$format = $_GET['format'];
} else {
$format = "txt";
}
if (getImportFile($_GET['file'], $format)){
//fichier en cour de téléchargement
} else {
echo "erreur 2 ";
}
} else {
echo "erreur 1 ";
}
?>