".gettext("Annuaire")."\n"; @session_start(); $_SESSION["pageaide"]="Annuaire"; aff_trailer ("7"); if (!isset($_SESSION['comptes_crees'])) { $_SESSION['comptes_crees'] = array(array()) ; // un sous-tableau par compte ; le deuxième tavbleau est, dans l'ordre nom, prenom, classe (?? en fait, non) (ou 'prof'), uid, password array_splice($_SESSION['comptes_crees'], 0, 1); } $nom=isset($_POST['nom']) ? $_POST['nom'] : (isset($_GET['nom']) ? $_GET['nom'] : ""); $prenom=isset($_POST['prenom']) ? $_POST['prenom'] : (isset($_GET['prenom']) ? $_GET['prenom'] : ""); $naissance=isset($_POST['naissance']) ? $_POST['naissance'] : (isset($_GET['naissance']) ? $_GET['naissance'] : ""); $userpw=isset($_POST['userpw']) ? $_POST['userpw'] : ""; $sexe=isset($_POST['sexe']) ? $_POST['sexe'] : (isset($_GET['sexe']) ? $_GET['sexe'] : ""); $categorie=isset($_POST['categorie']) ? $_POST['categorie'] : ""; $add_user=isset($_POST['add_user']) ? $_POST['add_user'] : ""; $string_auth=isset($_POST['string_auth']) ? $_POST['string_auth'] : ""; $string_auth1=isset($_POST['string_auth1']) ? $_POST['string_auth1'] : ""; $dummy=isset($_POST['dummy']) ? $_POST['dummy'] : ""; $dummy1=isset($_POST['dummy1']) ? $_POST['dummy1'] : ""; if (is_admin("Annu_is_admin",$login)=="Y") { if ( $add_user && ($string_auth || $string_auth1) ) { exec ("/usr/bin/python ".$path_to_wwwse3."/includes/decode.py '$string_auth'",$Res); $naissance = $Res[0]; exec ("/usr/bin/python ".$path_to_wwwse3."/includes/decode.py '$string_auth1'",$Res1); if(isset($Res1[0])) {$userpwd = $Res1[0];} else {$userpwd=false;} } // Ajout d'un utilisateur if ( (!isset($_POST['add_user'])) || ( !$nom || !$prenom ) // absence de nom ou de prenom || ( $userpwd && !verifPwd($userpwd) ) // mot de passe invalide || ( $naissance && !verifDateNaissance($naissance) ) // date de naissance invalide || ( ($naissance && verifDateNaissance($naissance)) && ($userpwd && !verifPwd($userpwd)) ) // date de naissance mais password invalide // || ($userpwd && !verifPwd($userpwd) ) // password invalide ) { ?>
 
 
'; echo gettext('Si le champ mot de passe est laissé vide, un mot de passe sera créé selon la politique de mot de passe par défaut qui est définie à : '); switch ($pwdPolicy) { case 0: // date de naissance echo gettext("date de naissance (YYYYMMDD)"); echo gettext("
Si ni la date de naissance ni le mot de passe ne sont renseignées, un mot de passe semi-aléatoire sera généré"); break; case 1: // semi-aleatoire echo gettext("semi-aléatoire (6 car.)"); break; case 2: // aleatoire echo gettext("aléatoire (8 car.)"); break; } echo '
'; ?>
Féminin  \n"; ?> Masculin  \n"; ?>
">
".gettext("Vous devez obligatoirement renseigner les champs : nom, prénom !")."
\n"; } elseif ( !$naissance && !$userpwd ) { echo "
"; echo gettext("Vous devez obligatoirement renseigner un des deux champs �mot de passe� ou �date de naissance�."); echo "

\n"; } else { if ( ($userpwd) && !verifPwd($userpwd) ){ echo "
"; echo gettext("Vous devez proposer un mot de passe d'une longueur comprise entre 4 et 8 caractères alphanumériques avec obligatoirement un des caractères spéciaux suivants")." ".$char_spec." ".gettext("ou à défaut laisser le champ mot de passe vide et dans ce cas un mot de passe sera créé.")."

\n"; } if ( ($naissance) && !verifDateNaissance($naissance) ){ echo "
"; echo gettext("Le champ date de naissance doit être obligatoirement au format AnnéeMoisJour (YYYYMMDD)."); echo "

\n"; } } } } else { // Verification si ce nouvel utilisateur n'existe pas deja $prenom = stripslashes($prenom); $nom = stripslashes($nom); // suppression des apostrophes - tant pis pour la noblesse $prenom = str_replace("'", "", $prenom); $nom = str_replace("'", "", $nom); $cn =utf8_encode($prenom." ".$nom); $people_exist=search_people("(cn=$cn)"); if (count($people_exist)) { echo "
"; echo gettext("Echec de création : L'utilisateur")." $prenom $nom".gettext(" est déja présent dans l'annuaire."); echo "

\n"; } else { switch ($pwdPolicy) { case 0: // date de naissance if ((!$naissance) && (!$userpwd) ) { exec("/usr/share/se3/sbin/gen_pwd.sh -s", $out); $userpwd=$out[0]; $naissance="00000000"; } else { if (!$userpwd) $userpwd=$naissance; } break; case 1: // semi-aleatoire if (!$naissance ) $naissance="00000000"; if (!$userpwd) { exec("/usr/share/se3/sbin/gen_pwd.sh -s", $out); $userpwd=$out[0]; } break; case 2: // aleatoire if (!$naissance ) $naissance="00000000"; if (!$userpwd) { exec("/usr/share/se3/sbin/gen_pwd.sh -a", $out); $userpwd=$out[0]; } break; } // Creation du nouvel utilisateur //echo "
/usr/share/se3/sbin/userAdd.pl \"$prenom\" \"$nom\" \"$userpwd\" \"$naissance\" \"$sexe\" \"$categorie\"
"; exec ("/usr/share/se3/sbin/userAdd.pl \"$prenom\" \"$nom\" \"$userpwd\" \"$naissance\" \"$sexe\" \"$categorie\"",$AllOutPut,$ReturnValue); // Compte rendu de creation if ($ReturnValue == "0") { if($sexe=="M"){ echo gettext("L'utilisateur ")." $prenom $nom ".gettext(" a été créé avec succès.")."
"; } else { echo gettext("L'utilisateur ")." $prenom $nom ".gettext(" a été créée avec succès.")."
"; } $users = search_people ("(cn=$cn)"); if ( count ($users) ) { echo gettext("Son identifiant est ")."".$users[0]["uid"]."
\n"; echo gettext("Son mot de passe est ")."".$userpwd."
\n"; $nouveau = array('nom'=>"$nom", 'pre'=>"$prenom", 'uid'=>$users[0]["uid"], 'pwd'=>"$userpwd"); $_SESSION['comptes_crees'][]=$nouveau; echo "
  • ".gettext("Ajouter à des groupes...")."\n"; } if((isset($_POST['create_home']))&&($_POST['create_home']=='y')) { echo "

    Création du dossier personnel de ".$users[0]["uid"]."
    "; exec("sudo /usr/share/se3/shares/shares.avail/mkhome.sh ".$users[0]["uid"],$ReturnValue2); echo "

    ";
    						foreach($ReturnValue2 as $key => $value) {
    							echo "$value";
    						}
    						echo "
    \n"; } } else { echo "
    ".gettext("Erreur lors de la création du nouvel utilisateur")." $prenom $nom (".gettext("type d'erreur :")." $ReturnValue) ,".gettext(" veuillez contacter")." ".gettext("l'administrateur du système")."

    \n"; echo "


    \n"; echo "

    NOTES : A propos des erreurs, une erreur 255 peut apparaître quand on tente d'ajouter un utilisateur toto (qui n'existait pas dans la branche People), alors qu'un toto existait dans un groupe (Eleves, Profs ou Administratifs).

    \n"; } } } include("listing.inc.php"); } else { echo "
    ".gettext("Cette application, nécessite les droits d'administrateur du serveur SambaEdu !")."
    "; } include ("pdp.inc.php"); ?>