Subversion Repositories wimsdev

Rev

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