Rev 11431 | Rev 13323 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 11431 | Rev 12555 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | !set limit_while=$[10^$limit] |
7 | !set limit_while=$[10^$limit] |
8 | 8 | ||
9 | !distribute items $wims_read_parm into login,cl,meth |
9 | !distribute items $wims_read_parm into login,cl,meth |
10 | !set login=!lower $login |
10 | !set login=!lower $login |
11 | !if $login=$empty |
11 | !if $login=$empty |
12 |
|
12 | error=login_empty |
13 |
|
13 | !exit |
14 | !endif |
14 | !endif |
15 | !set login_ext=$login |
15 | !set login_ext=$login |
16 | !if $meth!=$empty |
16 | !if $meth!=$empty |
17 | !set meth_=!word 1 of $meth |
17 | !set meth_=!word 1 of $meth |
18 | !bound meth_ within ldap default $empty |
18 | !bound meth_ within ldap default $empty |
19 | !set ldap_id=!word 2 of $meth |
19 | !set ldap_id=!word 2 of $meth |
20 | !if $ldap_id!=$empty and $meth_ !=$empty |
20 | !if $ldap_id!=$empty and $meth_ !=$empty |
21 | !goto ldap |
21 | !goto ldap |
22 | !exit |
22 | !exit |
23 | !endif |
23 | !endif |
24 | !endif |
24 | !endif |
25 | 25 | ||
26 | !set login=!text select $char_alnum in $login |
26 | !set login=!text select $char_alnum in $login |
27 | !set login=!char 1 to $[$login_max -$limit] of $login |
27 | !set login=!char 1 to $[$login_max -$limit] of $login |
28 | !!set cl=!replace internal / by , in $cl |
28 | !!set cl=!replace internal / by , in $cl |
29 | !set cl=$(cl[1]) |
29 | !set cl=$(cl[1]) |
30 | !if $cl=$empty |
30 | !if $cl=$empty |
31 | !reset login |
31 | !reset login |
32 | !exit |
32 | !exit |
33 | !endif |
33 | !endif |
34 | cnt=0 |
34 | cnt=0 |
35 | u_exists=yes |
35 | u_exists=yes |
36 | login_init=$login |
36 | login_init=$login |
37 | !while $u_exists=yes and $cnt<$limit_while |
37 | !while $u_exists=yes and $cnt<$limit_while |
38 |
|
38 | !if $cnt>0 |
39 |
|
39 | login=$login_init$cnt |
40 |
|
40 | !endif |
41 |
|
41 | !set tt1=!lookup $login_ext in wimshome/log/classes/$cl/.teacherlist_external |
42 |
|
42 | !set tt2=!lookup $login_ext in wimshome/log/classes/$cl/.userlist_external |
43 |
|
43 | !if $tt1!=$empty or $tt2!=$empty |
44 | !! user can be both in .userlist and in .teacherlist (see r5260) |
44 | !! user can be both in .userlist and in .teacherlist (see r5260) |
45 |
|
45 | !if $tt1=$tt2 |
46 |
|
46 | login=$tt1 |
47 |
|
47 | !else |
48 |
|
48 | login=$tt1$tt2 |
49 |
|
49 | !endif |
50 |
|
50 | !exit |
51 |
|
51 | !endif |
52 |
|
52 | !read adm/class/userisinclass $cl,$login |
53 |
|
53 | !set u_exists=$script_reply |
54 |
|
54 | !increase cnt |
55 | !endwhile |
55 | !endwhile |
56 | !if $cnt>=$limit_while |
56 | !if $cnt>=$limit_while |
57 |
|
57 | !reset login |
58 | !endif |
58 | !endif |
59 | !if $login=$empty |
59 | !if $login=$empty |
60 | error=login_missing |
60 | error=login_missing |
61 | missing=!append item $login_ext to $missing |
61 | missing=!append item $login_ext to $missing |
62 | !endif |
62 | !endif |
63 | !exit |
63 | !exit |
64 | :ldap |
64 | :ldap |
65 | 65 | ||
66 | !if $ldap_uid!=$ldap_login and $ldap_login notsametext $empty |
66 | !if $ldap_uid!=$ldap_login and $ldap_login notsametext $empty |
67 | !set login=!sh ldapsearch -x -LLL -t -H ldap://$ldap_auth:$ldap_port -b "$ldap_base" $ldap_uid="$login" $ldap_login | grep -v "^[d]n:" |
67 | !set login=!sh ldapsearch -x -LLL -t -H ldap://$ldap_auth:$ldap_port -b "$ldap_base" $ldap_uid="$login" $ldap_login | grep -v "^[d]n:" |
68 | !set login=!replace internal : by = in $login |
68 | !set login=!replace internal : by = in $login |
69 | !set login=!getopt $ldap_login in $login |
69 | !set login=!getopt $ldap_login in $login |
70 | !set login=!text select $char_alnum in $login |
70 | !set login=!text select $char_alnum in $login |
71 | !set login=!char 1 to $[$login_max -$limit] of $login |
71 | !set login=!char 1 to $[$login_max -$limit] of $login |
72 | !set login_char=!charcnt $login |
72 | !set login_char=!charcnt $login |
73 | !if $login_char=3 |
73 | !if $login_char=3 |
74 | !set login=$(login)0 |
74 | !set login=$(login)0 |
75 | !endif |
75 | !endif |
76 | !endif |
76 | !endif |
77 | !if $login=$empty |
77 | !if $login=$empty |
78 | error=login_empty |
78 | error=login_empty |
79 | !exit |
79 | !exit |
80 | !endif |
80 | !endif |