Import focntionnel avec vérification

This commit is contained in:
Prof Langues 2020-10-06 08:29:14 +02:00
parent 03568f6641
commit 5291f058a7
2 changed files with 38 additions and 39 deletions

View File

@ -555,7 +555,7 @@ class user extends common {
if($this->isPost()) { if($this->isPost()) {
// Lecture du CSV et construction du tableau // Lecture du CSV et construction du tableau
$file = $this->getInput('userImportCSVFile',helper::FILTER_STRING_SHORT, true); $file = $this->getInput('userImportCSVFile',helper::FILTER_STRING_SHORT, true);
$filePath = helper::baseUrl(false) . self::FILE_DIR . 'source/' . $file; $filePath = self::FILE_DIR . 'source/' . $file;
if (file_exists ($filePath)) { if (file_exists ($filePath)) {
$rows = array_map(function($row) { return str_getcsv($row, $this->getInput('userImportSeparator') ); }, file($filePath)); $rows = array_map(function($row) { return str_getcsv($row, $this->getInput('userImportSeparator') ); }, file($filePath));
$header = array_shift($rows); $header = array_shift($rows);
@ -566,45 +566,44 @@ class user extends common {
// Stockage des données // Stockage des données
foreach($csv as $item ) { foreach($csv as $item ) {
// Nettoyage de l'identifiant // Nettoyage de l'identifiant
$userId = helper::filter($item['id'] , self::FILTER_ID); $userId = helper::filter($item['id'] , helper::FILTER_ID);
// N'insére que les utilisateurs dont l'id n'existe pas // N'insére que les utilisateurs dont l'id n'existe pas
if( !$this->getData(['user', $userId]) ) { // Vérifier la présence des champs
// Vérifier la présence des champs if( !$this->getData(['user', $userId])
if ( $item['prenom'] AND $item['prenom']
AND $item['nom'] AND $item['nom']
AND $item['groupe'] AND $item['groupe']
AND $item['email'] AND $item['email']
AND $userId ) AND $userId )
{ {
// Enregistre le user // Enregistre le user
$this->setData([ $this->setData([
'user', 'user',
$userId, [ $userId, [
'firstname' => $item['prenom'], 'firstname' => $item['prenom'],
'forgot' => 0, 'forgot' => 0,
'group' => $item['groupe'], 'group' => $item['groupe'],
'lastname' => $item['nom'], 'lastname' => $item['nom'],
'mail' => $item['email'], 'mail' => $item['email'],
'pseudo' => $item['prenom'], 'pseudo' => $item['prenom'],
'signature' => 1, // Pseudo 'signature' => 1, // Pseudo
'password' => uniqid() // A modifier à la première connexion 'password' => uniqid() // A modifier à la première connexion
]]); ]]);
$item['notification'] = 'Ok';
// Création du tableau de confirmation } else {
self::$users[] = [ $item['notification'] = 'Pb';
$userId,
$item['nom'],
$item['prenom'],
self::$groups[$item['groupe']],
$item['prenom'],
$item['email']
];
$notification = 'Import efectué';
$success = true;
} else {
$success = 3;
}
} }
// Création du tableau de confirmation
self::$users[] = [
$userId,
$item['nom'],
$item['prenom'],
self::$groups[$item['groupe']],
$item['prenom'],
$item['email'],
$item['notification']
];
} }
} else { } else {
$notification = 'Erreur de lecture : ' . $file; $notification = 'Erreur de lecture : ' . $file;

View File

@ -38,5 +38,5 @@
</div> </div>
<?php echo template::formClose(); ?> <?php echo template::formClose(); ?>
<?php if ($module::$users): ?> <?php if ($module::$users): ?>
<?php echo template::table([1, 3, 3, 1, 1,3], $module::$users, ['Identifiant', 'Nom', 'Prénom','Groupe', 'Pseudo', 'eMail']); ?> <?php echo template::table([1, 3, 3, 1, 1, 2, 1, 1 ], $module::$users, ['Identifiant', 'Nom', 'Prénom','Groupe', 'Pseudo', 'eMail', 'Statut']); ?>
<?php endif;?> <?php endif;?>