Rev 14993 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!read adm/class/userisinclass ,$getuser
!if yes notin $script_reply
error=bad_usercls
!reset job,getuser
!exit
!endif
!if $getuser!=$empty
m=!record 1 of wimshome/log/classes/$wims_class/.grades
!distribute lines $m into manual,titles,weights
gcnt=!itemcnt $titles
gcnt=$[$gcnt-2]
!if $gcnt<1
manual=0
!else
mwtot=0
!for g=1 to $gcnt
w$g=!item $g+2 of $weights
mwtot=$[$mwtot+$(w$g)]
!next g
!endif
!if $manual>0
uucnt=!recordcnt wimshome/log/classes/$wims_class/.grades
!for u=2 to $uucnt
l_=!record $u of wimshome/log/classes/$wims_class/.grades
n_=!item 1 of $l_
!if $n_=$getuser
teacher=!item 3 to -1 of $l_
!break
!endif
!next u
mav=0
!for i=1 to $gcnt
g_$i=!item $i of $teacher
!if $(g_$i)!=$empty
mav=$[$mav+($(g_$i))*($(w$i))]
!endif
!next i
mav=$[rint(100*$mav/$mwtot)/100]
!else
mav=0
!endif
t=!translate = to , in $wims_req_time
t=!item -1 of $t
means=!record 0 of wimshome/log/classes/$wims_class/scoreavg
topscores=!record 0 of wimshome/log/classes/$wims_class/.scoretop
topnb=!defof class_topscores in wimshome/log/classes/$wims_class/.def
classnb=!defof class_limit in wimshome/log/classes/$wims_class/.def
!for ic=1 to $classnb
UU=!line $ic of $topscores
UU1=!item 4 of $UU
VV=!append line $UU1 to $VV
WW=!append line $UU to $WW
!next ic
VV=!sort reverse numeric line $VV
!readdef wimshome/log/classes/$wims_class/.def
!default class_topscores=0
!for s=1 to $class_topscores
ic=!item $s of $wims_sort_order
LL=!line $ic of $WW
TT=!append line $LL to $TT
!next s
ot=!line 1 of $means
!if $ot=$empty or $ot<$t-3
!read var.avg
!if $class_type notwordof 2 3 4
!if $class_topscores>0
!read var.topscores
!endif
!endif
!endif
l=!line 2 of $means
!distribute words $l into\
min_auto,mean_auto,max_auto,\
min_tea,mean_tea,max_tea,\
min_glob,mean_glob,max_glob
c=!linecnt $means
!for i=3 to $c
l=!line $i of $means
s=!word 1 of $l
!distribute words $l into x0_,min_$s,mean_$s,max_$s
!next i
uu=$getuser
!read adm/class/userscore
globalav=$[rint($manual*$mav+((100-$manual)*$per))/100]
exologs=!filelist $wims_home/log/classes/$wims_class/exolog/$getuser
!readproc adm/vfilter/listvarfilter.proc
!readproc adm/class/userdef ,$wims_class,$getuser
!readproc adm/vfilter/uservarfilter.proc $userdef
!else
job=
!endif
!if $wims_user=supervisor
!read var.proc.userexam
!endif