Rev 12555 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5025 | bpr | 1 | !!!this file must be in the module directory because of the !mexec !!!! |
5151 | bpr | 2 | INPUT external_login |
5025 | bpr | 3 | OUTPUT : the up_xxx needed for the register of the user |
4 | !readproc adm/class/initldap |
||
5126 | bpr | 5 | !set l_=$wims_read_parm |
6 | !default l_=$auth_user |
||
5025 | bpr | 7 | !set sup_=!item 2 to -1 of $l_ |
9589 | bpr | 8 | !set l_=!item 1 of $l_ |
13323 | georgesk | 9 | !! quite anonymous search, since $ldap_oneuser is unpriviledged |
10 | ldap_user=!sh ldapsearch -x -LLL -t -H ldap://$ldap_auth:$ldap_port -b "$ldap_base" $ldap_accreditation $ldap_uid="$l_" $ldap_code_ | grep -v "^[d]n:" |
||
9589 | bpr | 11 | ldap_user=!replace internal http: by httpxx in $ldap_user |
12 | ldap_user=!replace internal : by = in $ldap_user |
||
13 | ldap_user=!replace internal httpxx by http: in $ldap_user |
||
5641 | bpr | 14 | !! f=!replace internal .. by $adonis in $f |
5025 | bpr | 15 | !!gestion des accents (avec l'option -h ou -t ? de ldapsearch) |
9589 | bpr | 16 | ldap_user=!replace internal < file=///../tmp/sessions/$wims_session/ by file_save, in $ldap_user |
5025 | bpr | 17 | ### field can be on several lines (photo for example) |
9589 | bpr | 18 | ldap_user=!replace internal $\ |
5025 | bpr | 19 | $ $ by in $ldap_user |
9589 | bpr | 20 | ldap_user=!replace internal $ $ by _ in $ldap_user |
5025 | bpr | 21 | |
22 | ### datauser ne sert pas ici mais dans la creation d'un fichier csv. Je laisse pour l'instant |
||
23 | !reset data_user |
||
24 | |||
25 | !for field in $ldap_code |
||
26 | !reset f |
||
27 | f=!getopt $field in $ldap_user |
||
28 | !if $(f[1])=file_save |
||
5150 | bpr | 29 | f=!sh cat $wims_home/tmp/sessions/$wims_session/$(f[2]) | perl -e 'use Encode;while (<>) {print encode("iso-8859-1",decode("utf-8",$$_))}' |
5025 | bpr | 30 | !endif |
5642 | bpr | 31 | f=!replace internal _ by $ $ in $f |
5025 | bpr | 32 | !if $field=$l_login |
5096 | bpr | 33 | login=!nospace $f |
5025 | bpr | 34 | char=!charcnt $f |
35 | !if $char=3 |
||
36 | f=!nospace $f 0 |
||
37 | login=$f |
||
38 | !endif |
||
39 | !endif login |
||
40 | !if $field=password |
||
12555 | bpr | 41 | f=!randint 100000,400000 |
5025 | bpr | 42 | !endif password |
43 | data_user=!append item $f to $data_user |
||
9589 | bpr | 44 | !if $f !=$empty |
12555 | bpr | 45 | nfield=!positionof item $field in $ldap_code |
46 | wfield=$(wims_code[$nfield]) |
||
47 | up_$wfield=$f |
||
48 | replacelist=!append item $wfield to $replacelist |
||
49 | !endif |
||
50 | !next |