Rev 14335 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
nblocalvar=!itemcnt $tv_listlocal
!if $nblocalvar>=$MAXtechvar
error=toomanytechvar
job=listvar
!changeto $job.proc
!exit
!endif
!if $tc_abandon!=$empty
!reset tc_abandon,tc_value,tc_name,tc_set
job=listvar
!changeto $job.proc
!exit
!endif
!if $tc_set!=$empty
!! check name validity
tc_name=!text select 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ in $tc_name
tc_name=!nospace $tc_name
tc_name=!lower $tc_name
n=!charcnt $tc_name
!if $n>$MAXcharname or $n<1
error=badnamelen
!reset tc_set
!exit
!endif
!! check list of name already in use
!if $tc_name isitemof $tv_listallname
error=namealreadyuse
!reset tc_set
!exit
!endif
!! check forbidden name
!for rac in exam,sheet,vote,manual,login,name,lastname,firstname,password,email,\
regnum,photourl,comments,external_auth,allscore,averages,average,sheets,sheetexo,\
exams,manuals,participate,supervisable,supervise,manual,\
regprop
!if $rac isin $tc_name
t=!replace internal $rac by $empty in $tc_name
!if $[$t]!=NaN
error=nameforbidden
!exit
!endif
!endif
!next rac
!! check list of value
tc_value=!listuniq $tc_value
tc_value=!text select char azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN,1234567890 in $tc_value
tc_value=!listcomplement EMPTY in $tc_value
n=!itemcnt $tc_value
!if $n<1 or $n>$MAXnbvalue
error=badvaluenb
!reset tc_set
!exit
!endif
!! save
!fileappend wimshome/log/classes/$wims_class/.techvar :$tc_name\
$tc_value
!fileappend wimshome/log/classes/$tv_Sclass/.indextechvar :$tc_name,$wims_class,$[$nblocalvar+1]
!restart module=adm/class/techvar
!else
!if $nblocalvar=0
olddon=!record 0 of wimshome/s2/$wims_session/oldtechvar.don
!if $olddon=$empty
olddon=!sh cd $wims_home/log/classes/$tv_Sclass/.users/;\
grep -r user__ * | awk -F= '$$2!=""{print $$0}'
olddon=!replace internal :!set user__ by , in $olddon
olddon=!replace internal = by , in $olddon
!if $olddon=$empty
!writefile wimshome/s2/$wims_session/oldtechvar.don EMPTY
!else
!writefile wimshome/s2/$wims_session/oldtechvar.don $olddon
!endif
!endif
!if EMPTY=$olddon
!reset olddon
!endif
!if $olddon!=$empty
msg_info=witholdvar
!endif
!endif
!endif