valeur_param) { $OrdreImportEmpr=unserialize($obj->valeur_param); } else { $querry = "DESCRIBE empr;"; $res = pmb_mysql_query($querry); $nbr = pmb_mysql_num_rows($res); if($nbr) { $k = 0;$OrdreImportEmpr=array(); for($j=0;$j<$nbr;$j++) { $row=pmb_mysql_fetch_row($res); $OrdreImportEmpr[$row[0]] = 0; } } // recup des champs perso $querry = "SELECT * from empr_custom;"; $res = pmb_mysql_query($querry); if (pmb_mysql_num_rows($res)) { while (($row=pmb_mysql_fetch_array($res,PMB_MYSQL_ASSOC))){ $OrdreImportEmpr[$row['name']] = 0; } } } print " "; function show_import_choix_fichier($dbh,$from_ldap) { global $msg; global $charset; global $current_module ; // $result = pmb_mysql_query("Select duree_adhesion, libelle From empr_categ;") or die($msg["err_sql"]); // premier formulaire pour avoir le nom du fichier a importer, le s?parateur de champ // et indiquer dans quel groupe importation va allez if (!$from_ldap) { $formtype="
"; } function show_import($dbh, $buffer,$from_ldap) { // formulaire o? l'on choisi dans quel champ on met les donn?es qui souvent // proviennent d'une autre base de donn?e, le code ne supporte que les fichiers // texte, il se peut que la page "plante" si vous envoyer des donn?es qui pourrait // ?tre incompatible, il faut faire en sorte qu'ils soient du m?me type sauf execptions // genre un vachar qui va dans le year(int), s'il n'y a pas de lettre. Le code est // loin d'?tre STABLE, il faut donc faire attantion ? ne pas envoyer des donn?es erron?es. global $msg; global $OrdreImportEmpr; global $import_lec; global $Sep_Champs; global $current_module ; print "".$msg["champ_dans_base_donnee"]." | "; print "".$msg["champ_dans_texte"]." | "; print "".$msg["first_line_file"]." | "; // print "||||||||||||
$row[0] | "; print ""; $k++; if (empty($_POST['plus1'])) $ordre[$k] = $OrdreImportEmpr[$row[0]]; else $ordre[$k] = $_POST['plus1']; // print " "; // print " | "; // $val_buff2 = $buffer[ $ordre[$k] ]; // print ""; print " | "; } // pas r?ussi a le faire fonctionn? comme du monde!! pas le temp /*elseif ($row[0] == "empr_date_adhesion") { print " | "; print "empr_date_adhesion)."'>"; print " | empr_date_adhesion)."¶m1=form_expiration¶m2=form_expiration_lib&auto_submit=NO&date_anterieure=YES', 'date_retour', 'toolbar=no, dependent=yes, width=200, height=200')\"> | "; }*/ elseif ($row[0] == "id_empr" || $row[0] == "empr_categ" || $row[0] == "empr_codestat" || $row[0] == "empr_creation" || $row[0] == "empr_modif" || $row[0] == "empr_date_adhesion" || $row[0] == "empr_date_expiration" ||$row[0] == "empr_ldap") { print "$row[0] | "; print ""; print " | "; } elseif(in_array($row[0], array('empr_cb', 'empr_nom', 'empr_login'))) { print " | $row[0] * | "; print ""; print " | "; }else { print " | $row[0] | "; print ""; print " | "; } print " |
".htmlentities($msg['1131'], ENT_QUOTES, $charset)." | ||||||||||||||
".$row['name']." | "; print ""; print " | "; print " |
".$querry); if (pmb_mysql_num_rows($result) >= 1) { // choisir la date ? deleter d'apr?s les dates d'exiprations print "
".$msg["ut_date_exp"].$row[0]." | "; print ""; print " |
";
if (!$from_ldap) {
if (!($_FILES['import_lec']['tmp_name'])) {
print $msg["click_prec_fic"];
} elseif (!(move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/".basename($_FILES['import_lec']['tmp_name'])))) {
print $msg["fic_no_tel"]."
";
}
$ficher = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" );
$import_lec = basename($_FILES['import_lec']['tmp_name']);
} else {
$ficher = @fopen( "./temp/ldap_users.txt", "r" );
$import_lec = "./temp/ldap_users.txt";
$Sep_Champs='|';
}
if($ficher) {
$buffer = fgets($ficher, 1000);
$buffer = import_empr::get_encoded_buffer($buffer);
$buffer = explode ($Sep_Champs, $buffer);
$cpt = count($buffer) - 1;
// de 1 jusqu'? la fin, le 0 est comme null!
for($j=$cpt; $j>=0; $j--)
$buffer[$j+1] = trim($buffer[$j]);
$buffer[0] = "";
fclose($ficher);
show_import($dbh, $buffer, $from_ldap);
}
}
elseif($Deleter || $Precedent)
choix_supp_empr($dbh,$from_ldap);
else
{
//print "Vous devez choisir un fichier!";
show_import_choix_fichier($dbh,$from_ldap);
}
break;
case 'enregistre':
$from_ldap=$_POST['from_ldap'];
if ($Actualiser){
//print "Actualiser";
//print_r ($import_lec);
//print "test";
//$ficher = @fopen($_POST[import_lec], 'rb');
//print "
".$HTTP_POST_FILES['import_lec']."test";
//$ficher = @fopen($import_lec, 'rb');
save_fields_association();
if ($from_ldap){
$ficher = @fopen( "./temp/ldap_users.txt", "r" );
$Sep_Champs='|';
} else {
$ficher = @fopen( "./temp/".$import_lec, "r" );
}
if($ficher) {
$buffer = fgets($ficher, 1000);
$buffer = import_empr::get_encoded_buffer($buffer);
$buffer = explode ($Sep_Champs, $buffer);
$cpt = count($buffer) - 1;
// de 1 jusqu'? la fin, le 0 est comme null!
for($j=$cpt; $j>=0; $j--)
$buffer[$j+1] = trim($buffer[$j]);
$buffer[0] = "";
fclose($ficher);
show_import($dbh, $buffer,$from_ldap);
}
}
if ($Enregistrer) {
save_fields_association();
// download le fichier au complet
//print "Enregistrer
";
//print "
".$import_lec;
//$ficher = @fopen($import_lec, 'rb');
//$ficher = @fopen($import_lec, 'rb');
if ($from_ldap) {
$file_lec = "./temp/ldap_users.txt";
$Sep_Champs='|';
} else {
$file_lec = "./temp/$import_lec";
}
$ficher = fopen( $file_lec, "r" );
if($file_lec != './temp/' && $ficher) {
//champs perso
$perso=array();
$querry = "SELECT * from empr_custom;";
$res = pmb_mysql_query($querry);
$k=0;
if (pmb_mysql_num_rows($res)) {
while ($row=pmb_mysql_fetch_array($res,PMB_MYSQL_ASSOC)) {
$perso[$k++]=$row;
}
}
//printr($perso,'','PERSO');die;
$result = pmb_mysql_query("Select duree_adhesion From empr_categ where id_categ_empr='$_POST[selectGroupe]';") or die($msg["err_sql"]);
$row = pmb_mysql_fetch_row($result);
$dur=htmlentities($row[0],ENT_QUOTES, $charset);
// mise en tampon du ficher
$buffer = fread ( $ficher, filesize ($file_lec));
$buffer = import_empr::get_encoded_buffer($buffer);
if (preg_match('/\r\n/',$buffer)) {
//txt msdos
$bufferLine = explode("\r\n", $buffer);
} else {
//txt linux
$bufferLine = explode("\n", $buffer);
}
// on enl?ve les [enter] de trop en fin de fichiers
// ? faire si le temp, enlever les enter(/r/n) en millieu du fichier
// s'il y en a, le prog va ins?rer des donn?es vide et les affichers
// comme erreur
// si le fichier est vide sa va cr?er une boucle sans fin!!!
while(end($bufferLine) == "")
array_pop($bufferLine);
// check la table empr
$desc_empr = desc_table($dbh, "empr");
/*
print $desc_empr[0][0].", "; // mysql_field_nom
print $desc_empr[0][1].", "; // mysql_field_type
print $desc_empr[0][2].", "; // mysql_field_longeur
print $desc_empr[0][3];", "; // estNumerique ou non!
print $desc_table[$j][4]; // auto_increment ou non!
*/
$nbChamp_empr = count($desc_empr);
//
// traitement du buffer pour chaque ligne
//
foreach($bufferLine as $dummykey=>$tmp){
$bufferChamp = explode ($Sep_Champs, $tmp);
$cpt = count($bufferChamp) - 1;
// de 1 ? la fin, le 0 est comme null!
for($j=$cpt; $j>=0; $j--) {
// el?ve les " et les espaces en debut et fin du string(pour chaque champ!)
$bufferChamp[$j+1] = trim($bufferChamp[$j], "\"");
$bufferChamp[$j+1] = pmb_mysql_escape_string( $bufferChamp[$j+1] );
}
$bufferChamp[0] = "";
if ( return_cb($dbh, $bufferChamp[${$desc_empr[1][0]}]) ) {
// ca veut dire que c'est un update d'une personne deja dans la BD
for($i = 1; $i < $nbChamp_empr; $i++){
if(!$desc_empr[$i][4] and $bufferChamp[${$desc_empr[$i][0]}]){ // s'il n'est pas auto incr?mentable
$query2 = 'update empr set '.$desc_empr[$i][0].' = "'.substr ( $bufferChamp[${$desc_empr[$i][0]}], 0, $desc_empr[$i][2]).'" where empr_cb = "'.$bufferChamp[${$desc_empr[1][0]}].'";';
$res = pmb_mysql_query($query2) or print $msg["upd_echoue"]."
".$query2."
";
}
}
// update pour inserer la date de creation , modif, date_adhesion...
$query2 = 'update empr set empr_modif = "'.aujourdhui().'" where empr_cb = "'.$bufferChamp[${$desc_empr[1][0]}].'";';
$res = pmb_mysql_query($query2) or print $msg["upd_echoue"]."
".$query2."
".$query2."
".$query2."
".$query."
".$query2."
".$query."
".$query2."
".$query2."
".$query2."
".$query2."
".$query2."
".$query2."
".$query2."
".$req_location."
".$req_login."
".$query2."
".$querry."
".$querry."
".$querry."
"; print ""; } else die($msg["choix_fi"]); } break; case 'ConfirmationDel': print "
".$desc_empr[$i][0]." | "; } print "
---|
$row[$i] | "; print "
"; print '
'; print "".$empr[0]." | "; print "
$row[$i] | "; print "
"; } } print ""; break; default: if(!isset($from_ldap)) $from_ldap = 0; show_import_choix_fichier($dbh,$from_ldap); break; }