Rev 10269 | Rev 10466 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9960 | guerimand | 1 | nblocalvar=!itemcnt $tv_listlocal |
2 | !if $nblocalvar>=$MAXtechvar |
||
3 | error=toomanytechvar |
||
4 | job=listvar |
||
5 | !changeto $job.proc |
||
6 | !exit |
||
7 | !endif |
||
8 | |||
9 | !if $tc_abandon!=$empty |
||
10 | !reset tc_abandon,tc_value,tc_name,tc_set |
||
11 | job=listvar |
||
12 | !changeto $job.proc |
||
13 | !exit |
||
14 | !endif |
||
15 | |||
16 | !if $tc_set!=$empty |
||
17 | !! check name validity |
||
18 | tc_name=!text select 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ in $tc_name |
||
19 | tc_name=!nospace $tc_name |
||
20 | n=!charcnt $tc_name |
||
21 | !if $n>$MAXcharname or $n<1 |
||
22 | error=badnamelen |
||
23 | !reset tc_set |
||
24 | !exit |
||
25 | !endif |
||
26 | |||
27 | !! check list of name already in use |
||
28 | !if $tc_name isitemof $tv_listallname |
||
29 | error=namealreadyuse |
||
30 | !reset tc_set |
||
31 | !exit |
||
32 | !endif |
||
33 | |||
10147 | guerimand | 34 | !! check forbidden name |
10269 | bpr | 35 | !for rac in exam,sheet,vote,manual,login,name,lastname,firstname,password,email,\ |
36 | regnum,photourl,comments,external_auth,allscore,averages,average,sheets,sheetexo,\ |
||
37 | exams,manuals,participate,supervisable,supervise,manual,\ |
||
10293 | guerimand | 38 | regprop |
10147 | guerimand | 39 | !if $rac isin $tc_name |
40 | t=!replace internal $rac by $empty in $tc_name |
||
10269 | bpr | 41 | !if $[$t]!=NaN |
10147 | guerimand | 42 | error=nameforbidden |
43 | !exit |
||
44 | !endif |
||
45 | !endif |
||
46 | !next rac |
||
47 | |||
9960 | guerimand | 48 | !! check list of value |
49 | tc_value=!listuniq $tc_value |
||
50 | tc_value=!listcomplement _EMPTY_ in $tc_value |
||
51 | n=!itemcnt $tc_value |
||
52 | !if $n<1 or $n>$MAXnbvalue |
||
53 | error=badvaluenb |
||
54 | !reset tc_set |
||
55 | !exit |
||
56 | !endif |
||
57 | !! save |
||
58 | !fileappend wimshome/log/classes/$wims_class/.techvar :$tc_name\ |
||
59 | $tc_value |
||
60 | !fileappend wimshome/log/classes/$tv_Sclass/.indextechvar :$tc_name,$wims_class,$[$nblocalvar+1] |
||
61 | !restart module=adm/class/techvar |
||
9983 | guerimand | 62 | !else |
63 | !if $nblocalvar=0 |
||
64 | olddon=!record 0 of wimshome/s2/$wims_session/oldtechvar.don |
||
65 | !if $olddon=$empty |
||
66 | olddon=!sh cd $wims_home/log/classes/$tv_Sclass/.users/;\ |
||
67 | grep -r user__ * | awk -F= '$$2!=""{print $$0}' |
||
68 | olddon=!replace internal :!set user__ by , in $olddon |
||
69 | olddon=!replace internal = by , in $olddon |
||
70 | !if $olddon=$empty |
||
71 | !writefile wimshome/s2/$wims_session/oldtechvar.don EMPTY |
||
72 | !else |
||
73 | !writefile wimshome/s2/$wims_session/oldtechvar.don $olddon |
||
74 | !endif |
||
75 | !endif |
||
76 | !if EMPTY=$olddon |
||
77 | !reset olddon |
||
78 | !endif |
||
79 | !if $olddon!=$empty |
||
80 | error=witholdvar |
||
81 | !endif |
||
82 | !endif |
||
9960 | guerimand | 83 | !endif |