[427] | 1 | #!/bin/sh |
---|
| 2 | # $1 base epo |
---|
| 3 | if [ $# -ne 1 ] |
---|
| 4 | then |
---|
| 5 | FIC=~/epo-base.txt |
---|
| 6 | elif [ -r $1 ] |
---|
| 7 | then |
---|
| 8 | FIC=$1 |
---|
| 9 | else |
---|
| 10 | echo no file found |
---|
| 11 | exit 1 |
---|
| 12 | fi |
---|
| 13 | exec < $FIC |
---|
[409] | 14 | while read A B C D E F G H I J K L M N O P Q R S T U V W X |
---|
| 15 | do |
---|
| 16 | echo |
---|
| 17 | echo |
---|
| 18 | Nom=$(echo $A|sed -e 's/_/ /g') |
---|
| 19 | Prenom=$B |
---|
| 20 | Login=$W |
---|
| 21 | UserID=$X |
---|
| 22 | MailAddr=$(echo $J|sed -e 's/\@.*$/\@latmos.ipsl.fr/') |
---|
| 23 | NickName=$(echo $K |sed -e 's/NICK//' -e 's/zzz//' ) |
---|
| 24 | ArrivalDate=$(echo $L |sed -e 's/A//') |
---|
[427] | 25 | if [ $ArrivalDate -eq 19500101 ] |
---|
| 26 | then |
---|
| 27 | ArrivalDate="" |
---|
| 28 | fi |
---|
[409] | 29 | BirthDate=$(echo $N |sed -e 's/N//') |
---|
| 30 | ExpireDate=$(echo $M |sed -e 's/T//') |
---|
[427] | 31 | if [ $ExpireDate -eq 29990131 ] |
---|
| 32 | then |
---|
| 33 | ExpireDate="" |
---|
| 34 | fi |
---|
[409] | 35 | Departement="$(echo $P|sed -e 's/DOM/ /g')" |
---|
| 36 | # Gestion Votant |
---|
| 37 | case $Q in |
---|
| 38 | *vote*) Vote=vote;; |
---|
| 39 | *) Vote='' |
---|
| 40 | esac |
---|
| 41 | ContratType=$(echo $Q| sed -e 's/ORGvote//' -e 's/ORGnon//') |
---|
| 42 | |
---|
| 43 | Grade=$(echo $R |sed -e 's/GRADE//' -e 's/GRADEnon//') |
---|
| 44 | Statut="$(echo $S|sed -e 's/TYPEPS//' -e s'/TYPENP//' -e 's/TYPEnon//')" |
---|
| 45 | # Gestion Permanent - nonpermanent |
---|
| 46 | case $S in |
---|
| 47 | *PS*) Status=perm;; |
---|
| 48 | *NP*) Status=nonperm;; |
---|
| 49 | *) Status='' |
---|
| 50 | esac |
---|
| 51 | # Gestion Site ( bordelique à souhait ) |
---|
| 52 | # aurait du etre comme dans la description site1 tel1 site2 tel2 |
---|
| 53 | # colonne DFGI |
---|
| 54 | Site="$(echo $D $F|sed -e 's/AJETER//g')" |
---|
| 55 | NBSite=$(echo $Site|wc -w) |
---|
| 56 | Site2='' |
---|
| 57 | Phone2='' |
---|
| 58 | case $NBSite in |
---|
| 59 | 1)if [ "$D" = 'AJETER' ] |
---|
| 60 | then |
---|
| 61 | Site1=$F |
---|
| 62 | Phone1=$(echo $I|sed -e 's/AJETER//') |
---|
| 63 | else |
---|
| 64 | Site1=$D |
---|
| 65 | Phone1=$(echo $G|sed -e 's/AJETER//') |
---|
| 66 | fi |
---|
| 67 | if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi |
---|
| 68 | ;; |
---|
| 69 | 2)Site1=$D |
---|
| 70 | Phone1=$(echo $G|sed -e 's/AJETER//') |
---|
| 71 | if [ "z$Phone1" != 'z' ] ;then Phone1="+33 1 $Phone1" ;fi |
---|
| 72 | Site2=$F |
---|
| 73 | Phone2=$(echo $I|sed -e 's/AJETER//') |
---|
| 74 | if [ "z$Phone2" != 'z' ] ;then Phone2="+33 1 $Phone2" ;fi |
---|
| 75 | ;; |
---|
| 76 | 0) |
---|
| 77 | esac |
---|
| 78 | case $Site1 in |
---|
| 79 | StM*) Site='St Maur';; |
---|
| 80 | Vel*) Site=Vélizy;; |
---|
| 81 | SAV*) Site=VerriÚres;; |
---|
| 82 | SAJ*) Site=Jussieu;; |
---|
| 83 | *) echo "BIZARRE !!!!!!!!!!!!" |
---|
| 84 | esac |
---|
| 85 | RoomNumber=$(echo $Site1| sed -e 's/^.*-//') |
---|
| 86 | # Do the Stuff |
---|
| 87 | cat <<EOF > /tmp/$$ |
---|
[427] | 88 | sn: $Nom |
---|
| 89 | givenName: $Prenom |
---|
[502] | 90 | nickname: $NickName |
---|
[409] | 91 | mail: $MailAddr |
---|
| 92 | arrivalDate: $ArrivalDate |
---|
| 93 | birthDate: $BirthDate |
---|
| 94 | expire: $ExpireDate |
---|
| 95 | site: $Site |
---|
| 96 | telephoneNumber: $Phone1 |
---|
| 97 | physicalDeliveryOfficeName: $RoomNumber |
---|
| 98 | grade: $Grade |
---|
| 99 | contratType: $ContratType |
---|
| 100 | EOF |
---|
[427] | 101 | echo User $Nom $Prenom $Login |
---|
| 102 | case $(hostname) in |
---|
| 103 | hima*) COMMAND=/usr/local/bin |
---|
| 104 | ;; |
---|
| 105 | *) COMMAND="ssh -x -f -n root@ldap /usr/local/bin" |
---|
| 106 | esac |
---|
| 107 | cat /tmp/$$ | $COMMAND/latmosedit -f - $Login |
---|
| 108 | $COMMAND/latmosguser $Login $Statut $Vote $Status $Departement |
---|
[409] | 109 | |
---|
| 110 | done |
---|