get_session(); $usr_id = $session->get_usr_id(); $user = User_Adapter::getInstance($usr_id, $appbox); phrasea::headers(); ?> count($test1) && count($test2) < 20)) $separateur = ";"; while ($ARRAY[] = fgetcsv($FILE, 1024, $separateur)) ; fclose($FILE); array_pop($ARRAY); return $ARRAY; } } $request = http_request::getInstance(); $parm = $request->get_parms("act", "modelToAplly", "sr"); $conn = $appbox->get_connection(); $models = null; if ($parm["act"] == "STEP2" || $parm["act"] == "STEP3") { $admBasid = array_keys($user->ACL()->get_granted_base(array('manage'))); $admBasid = implode(', ',$admBasid); if ($parm["act"] == "STEP2") { $sql = "SELECT usr.usr_id,usr.usr_login FROM usr INNER JOIN basusr ON (basusr.usr_id=usr.usr_id) WHERE usr.model_of = :usr_id AND base_id in($admBasid) AND usr_login not like '(#deleted_%)' GROUP BY usr_id"; $stmt = $conn->prepare($sql); $stmt->execute(array(':usr_id' => $usr_id)); $models = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); } } $equivalenceToMysqlField['civilite'] = 'usr_sexe'; $equivalenceToMysqlField['gender'] = 'usr_sexe'; $equivalenceToMysqlField['usr_sexe'] = 'usr_sexe'; $equivalenceToMysqlField['nom'] = 'usr_nom'; $equivalenceToMysqlField['name'] = 'usr_nom'; $equivalenceToMysqlField['last name'] = 'usr_nom'; $equivalenceToMysqlField['last_name'] = 'usr_nom'; $equivalenceToMysqlField['usr_nom'] = 'usr_nom'; $equivalenceToMysqlField['first name'] = 'usr_prenom'; $equivalenceToMysqlField['first_name'] = 'usr_prenom'; $equivalenceToMysqlField['prenom'] = 'usr_prenom'; $equivalenceToMysqlField['usr_prenom'] = 'usr_prenom'; $equivalenceToMysqlField['identifiant'] = 'usr_login'; $equivalenceToMysqlField['login'] = 'usr_login'; $equivalenceToMysqlField['usr_login'] = 'usr_login'; $equivalenceToMysqlField['usr_password'] = 'usr_password'; $equivalenceToMysqlField['password'] = 'usr_password'; $equivalenceToMysqlField['mot de passe'] = 'usr_password'; $equivalenceToMysqlField['usr_mail'] = 'usr_mail'; $equivalenceToMysqlField['email'] = 'usr_mail'; $equivalenceToMysqlField['mail'] = 'usr_mail'; $equivalenceToMysqlField['adresse'] = 'adresse'; $equivalenceToMysqlField['adress'] = 'adresse'; $equivalenceToMysqlField['address'] = 'adresse'; $equivalenceToMysqlField['ville'] = 'ville'; $equivalenceToMysqlField['city'] = 'ville'; $equivalenceToMysqlField['zip'] = 'cpostal'; $equivalenceToMysqlField['zipcode'] = 'cpostal'; $equivalenceToMysqlField['zip_code'] = 'cpostal'; $equivalenceToMysqlField['cpostal'] = 'cpostal'; $equivalenceToMysqlField['cp'] = 'cpostal'; $equivalenceToMysqlField['code_postal'] = 'cpostal'; $equivalenceToMysqlField['tel'] = 'tel'; $equivalenceToMysqlField['telephone'] = 'tel'; $equivalenceToMysqlField['phone'] = 'tel'; $equivalenceToMysqlField['fax'] = 'fax'; $equivalenceToMysqlField['job'] = 'fonction'; $equivalenceToMysqlField['fonction'] = 'fonction'; $equivalenceToMysqlField['function'] = 'fonction'; $equivalenceToMysqlField['societe'] = 'societe'; $equivalenceToMysqlField['company'] = 'societe'; $equivalenceToMysqlField['activity'] = 'activite'; $equivalenceToMysqlField['activite'] = 'activite'; $equivalenceToMysqlField['pays'] = 'pays'; $equivalenceToMysqlField['country'] = 'pays'; $equivalenceToMysqlField['ftp_active'] = 'activeFTP'; $equivalenceToMysqlField['compte_ftp_actif'] = 'activeFTP'; $equivalenceToMysqlField['ftpactive'] = 'activeFTP'; $equivalenceToMysqlField['activeftp'] = 'activeFTP'; $equivalenceToMysqlField['ftp_adress'] = 'addrFTP'; $equivalenceToMysqlField['adresse_du_serveur_ftp'] = 'addrFTP'; $equivalenceToMysqlField['addrftp'] = 'addrFTP'; $equivalenceToMysqlField['ftpaddr'] = 'addrFTP'; $equivalenceToMysqlField['loginftp'] = 'loginFTP'; $equivalenceToMysqlField['ftplogin'] = 'loginFTP'; $equivalenceToMysqlField['ftppwd'] = 'pwdFTP'; $equivalenceToMysqlField['pwdftp'] = 'pwdFTP'; $equivalenceToMysqlField['destftp'] = 'destFTP'; $equivalenceToMysqlField['destination_folder'] = 'destFTP'; $equivalenceToMysqlField['dossier_de_destination'] = 'destFTP'; $equivalenceToMysqlField['passive_mode'] = 'passifFTP'; $equivalenceToMysqlField['mode_passif'] = 'passifFTP'; $equivalenceToMysqlField['passifftp'] = 'passifFTP'; $equivalenceToMysqlField['retry'] = 'retryFTP'; $equivalenceToMysqlField['nombre_de_tentative'] = 'retryFTP'; $equivalenceToMysqlField['retryftp'] = 'retryFTP'; $equivalenceToMysqlField['by_default__send'] = 'defaultftpdatasent'; $equivalenceToMysqlField['by_default_send'] = 'defaultftpdatasent'; $equivalenceToMysqlField['envoi_par_defaut'] = 'defaultftpdatasent'; $equivalenceToMysqlField['defaultftpdatasent'] = 'defaultftpdatasent'; $equivalenceToMysqlField['prefix_creation_folder'] = 'prefixFTPfolder'; $equivalenceToMysqlField['prefix_de_creation_de_dossier'] = 'prefixFTPfolder'; $equivalenceToMysqlField['prefixFTPfolder'] = 'prefixFTPfolder'; if ($parm["act"] == "STEP2" && (!isset($_FILES['fileusers']) || (isset($_FILES['fileusers']) && $_FILES['fileusers']['error']))) { print("
ERROR : " . $_FILES['fileusers']['error'] . "
"); $parm["act"] = ""; } if ($parm["act"] == "STEP3") { $nbcreation = 0; $ARRAY = unserialize($parm["sr"]); $nblignes = sizeof($ARRAY); // compte le nombre de ligne $nbcol = sizeof($ARRAY[0]); // nombre de colonne par ligne for ($i = 1; $i < $nblignes; $i++) // pour chaque ligne.... { $curUser = NULL; for ($j = 0; $j < $nbcol; $j++) // affiche colonne par colonne { if (!isset($equivalenceToMysqlField[$ARRAY[0][$j]])) continue; if ($equivalenceToMysqlField[$ARRAY[0][$j]] == "usr_sexe" && isset($ARRAY[$i][$j])) { switch ($ARRAY[$i][$j]) { case "Mlle": case "Mlle.": case "mlle": case "Miss": case "miss": case "0": $curUser[$equivalenceToMysqlField[$ARRAY[0][$j]]] = 0; break; case "Mme": case "Madame": case "Ms": case "Ms.": case "1": $curUser[$equivalenceToMysqlField[$ARRAY[0][$j]]] = 1; break; case "M": case "M.": case "Mr": case "Mr.": case "Monsieur": case "Mister": case "2": $curUser[$equivalenceToMysqlField[$ARRAY[0][$j]]] = 2; break; } } else { if (isset($ARRAY[$i][$j])) $curUser[$equivalenceToMysqlField[$ARRAY[0][$j]]] = trim($ARRAY[$i][$j]); } } # on va cree ici le user et ses droits # on verifie juste le login et le password if (isset($curUser['usr_login']) && trim($curUser['usr_login']) !== '' && isset($curUser['usr_password']) && trim($curUser['usr_password']) !== "") { $loginNotExist = !User_Adapter::get_usr_id_from_login($curUser['usr_login']); if ($loginNotExist) { $user = User_Adapter::create($appbox, $curUser['usr_login'], $curUser['usr_password'], $curUser['usr_mail'], false); $newid = $user->get_id(); $admBasid = array_keys($user->ACL()->get_granted_base(array('manage'))); $template_user = User_Adapter::getInstance($parm["modelToAplly"], $appbox); $user->ACL()->apply_model($template_user, $admBasid); $nbcreation++; } } } ?>
users was created.

Close
<< Back

- Row \"" . $ARRAY[0][$j] . "\" will be ignored"; } else { if (($equivalenceToMysqlField[$ARRAY[0][$j]]) == 'usr_login') $logindefined = true; if (($equivalenceToMysqlField[$ARRAY[0][$j]]) == 'usr_password') $pwddefined = true; } } $outTmp = ""; if (!$logindefined) $outTmp.= "
- Row \"login\" is missing, script has stopped !"; if (!$pwddefined) $outTmp.= "
- Row \"password\" is missing, script has stopped !"; if ($out != "") $out.="\n
"; if (!$logindefined || !$pwddefined) $out = $outTmp; else { // On continu les tests !! // on verifie (pour chacun) que le login n'existe pas deja et aussi que les mots de passe sont pas vides $nblignes = sizeof($ARRAY); // nombre de ligne $nbcol = sizeof($ARRAY[0]); // nombre de colonne par ligne for ($i = 1; $i < $nblignes; $i++) // pour chaque ligne.... { $out2 = ""; $hasVerifLogin = false; $hasVerifPwd = false; for ($j = 0; $j < $nbcol; $j++) // colonne par colonne { $ARRAY[$i][$j] = trim($ARRAY[$i][$j]); if (!isset($equivalenceToMysqlField[$ARRAY[0][$j]])) continue; // verif du login if (($equivalenceToMysqlField[$ARRAY[0][$j]]) == 'usr_login') { $loginToadd = trim($ARRAY[$i][$j]); if ($loginToadd == "") $out2.= " login is empty."; elseif (isset($loginNew[$loginToadd])) $out2.= " Le login \"" . $loginToadd . "\" is already defined in the file (line " . $loginNew[$loginToadd] . ")."; else { if (User_Adapter::get_usr_id_from_login($loginToadd)) { $out2.= " Login \"" . $loginToadd . "\" already exists in database."; } else { $loginNew[$loginToadd] = ($i + 1); } } $hasVerifLogin = true; } // verif du pwd if (($equivalenceToMysqlField[$ARRAY[0][$j]]) == 'usr_password') { if (trim($ARRAY[$i][$j]) == "") { $out2.= " password is empty ."; } $hasVerifPwd = true; } if ($hasVerifLogin && $hasVerifPwd) $j = $nbcol; if (($j + 1) >= $nbcol) { if ($out2 != "") { $out .= "
Line " . ( $i + 1) . " :"; $out .= "$out2
"; } else $nbusrToadd++; } } } } if ($out != "") { // on affiche les erreurs ?>
 Warning 
Number of users who's ready to be create : $nbusrToadd"; /* ------------- ON ALLEGE LE TABLEAU ---------------- */ for ($i = 1; $i < sizeof($ARRAY); $i++) for ($j = 0; $j < sizeof($ARRAY[0]); $j++) if ((isset($ARRAY[$i][$j]) && trim($ARRAY[$i][$j]) == "") || (!isset($equivalenceToMysqlField[$ARRAY[0][$j]]))) unset($ARRAY[$i][$j]); /* -------------------------------------------------- */ ?>
0 && count($models) > 0) { echo "
Select a model to apply on users :"; echo " "; ?>

Cancel      Add users
you need define a model before importing a list of users.

Close

Close
Upload a "csv" file CSV for users creation
you can download an example by clicking here
and his documentation here


User's file :



Send this file