Rev 1170 | Rev 2368 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if robot isin $session or _ isin $session
!exit
!endif
listlim=60
wims_prefix=class user tmp
wims_module_log=$type $keyword
wims_helper=chapter=3
wims_form_method=post
wims_ref_otherlangs=yes
!default class_bgcolor=$wims_bgcolor
!default class_bgimg=$wims_bgimg
!default class_css=$wims_css
superclass=!text remove . in $superclass
!if $wims_superclass!=$empty
superclass=$wims_superclass
!endif
!default superclass2=$superclass
!read tabletheme
!bound type within supervisor,participant,example,\
authsupervisor,authparticipant default example
!if $type=example
superclass=
!endif
!if $superclass=$empty
indf=wimshome/log/classes/.index
limited=yes
!else
indf=wimshome/log/classes/$superclass/.subclasses
keyword=
!endif
keyword=!items2words $keyword
keyword=!trim $keyword
kw=!words2items $keyword
kw=!deaccent $kw
kw=!tolower $kw
ccnt=!recordcnt $indf
!if $wims_class!=$empty
!read var.direct
!if $error!=$empty
!exit
!endif
!endif
clcnt=0
encnt=0
lacnt=0
!if $type=example
!for i=1 to $ccnt
l=!record $i of $indf
c=!item 1 of $l
!if NaN notin $[$c] and $c<10000
ltest=!defof class_lang in wimshome/log/classes/$c/.def
!if $ltest=$module_language
laclasses=!append line $l to $laclasses
!advance lacnt
!else
!if $ltest=en
enclasses=!append line $l to $enclasses
!advance encnt
!endif
!endif
!endif
!next i
!if $lacnt>0
clcnt=$lacnt
classes=$laclasses
!else
clcnt=$encnt
classes=$enclasses
!endif
!endif
!if $type iswordof supervisor participant
sccnt=0
!if $wims_class!=$empty
!defread wimshome/log/classes/$wims_class/.def
!default class_type=0
!if $class_type>=2
!read adm/class/userdef classes,$wims_class,$wims_user
supervisable=!defof user_supervisable in $userdef
super_type=!defof class_type in wimshome/log/classes/$wims_superclass/.def
!ifval $super_type=4
stype=$[$super_type]
sp=!translate internal / to , in $superclass2
splevel=!itemcnt $sp
sparent=!item 1 to -2 of $sp
sparent=!translate internal , to / in $sparent
sparent=!nospace $sparent
!if $splevel=1
classes1=!record 0 of wimshome/log/classes/$superclass2/levels
!endif
!if $splevel=2
classes1=!record 0 of wimshome/log/classes/$superclass2/classes
classes2=!record 0 of wimshome/log/classes/$superclass2/programs
!!classes1=!append line $classes2 to $classes1
!endif
!if $splevel=3
classes1=!record 0 of wimshome/log/classes/$superclass2/courses
!endif
clcnt=!linecnt $classes1
clcnt_pr=!linecnt $classes2
classes=
classes_pr=
!for i=1 to $clcnt
l=!line $i of $classes1
!distribute items $l into code,Sup,name,sup
classes=!append line $wims_superclass/$code,,,$name to $classes
!next i
!for i=1 to $clcnt_pr
l=!line $i of $classes2
!distribute items $l into code,Sup,name,sup
classes_pr=!append line $wims_superclass/$code,,,$name to $classes_pr
!next i
!exit
!endif
!endif
!endif
!for i=1 to $ccnt
l=!record $i of $indf
!distribute items $l into code,expire,inst,cl,la,ty
l1=!deaccent $l
l1=!tolower $l1
c1=!text extract 0123456789 in $code
k=yes
!for w in $kw
!if $w notin $l1
k=no
!break
!endif
!next w
!if (/ isin $code or $c1>9999) and $la=$module_language and \
($code!=$wims_class or ($wims_user!=supervisor and $type=supervisor)) and \
$k = yes
!if $ty isin 24
sclasses=!append line $l to $sclasses
!advance sccnt
!else
classes=!append line $l to $classes
!advance clcnt
!endif
!endif
!if $limited = yes and $clcnt+$sccnt > $listlim
overflow=yes
!break
!endif
!next i
!if $wims_user!=$empty and $wims_supertype iswordof 2 4
sccnt=0
!endif
!endif
!if $type iswordof authparticipant authsupervisor
!reset class_defined
class=!text remove . in $class
!defread wimshome/log/classes/$class/.def
!if $type=authsupervisor
!default auth_user=supervisor
!endif
!if $class_defined=yes and $auth_user!=$empty
!changeto var.auth
!endif
!endif