!read adm/class/initclass $wims_class
!if $directcnt>0
!for i_=1 to $directcnt
!set cl=!word 1 of $(directlist[$i_])
!if /0/ notin $(cl)/
!set type_
=!defof class_typename in wimshome
/log/classes
/$cl/.def
!set direct$type_=!append item $(directlist[$i_]) to $(direct$type_)
!else
!set directtest=!append item $(directlist[$i_]) to $directtest
!endif
!set directlist2=!items2lines $directlist
!set directlist2=!lines2rows $directlist2
!set directlist2=!words2items $directlist2
$name_direct:
<div class="spacer">
!read classgraph $directlist2
</div>
<table class="wims_classes_direct">
!for typ in portal,group,level,class,course,program,test
!set nstyle=wims_classes_direct_$typ
!set ntype_=$typ
!set ntype_ = !replace internal program by $(CL_Name[3]) in $ntype_
!set ntype_ = !replace internal level by $(CL_Name[1]) in $ntype_
!set ntype_ = !replace internal class by $(CL_Name[2]) in $ntype_
!set ntype_ = !replace internal course by $(CL_Name[4]) in $ntype_
!set ntype_ = !replace internal portal by $(CL_Name[6]) in $ntype_
!set ntype_ = !replace internal group by $(CL_Name[6]) in $ntype_
!set ntype_ = !replace internal test by $(CL_Name[7]) in $ntype_
!for cl in $(direct$typ)
!distribute words $cl into c_,u_
!set n_=!defof class_institution, class_description in\
wimshome
/log/classes
/$c_/.def
!if $u_=supervisor
!set t_=supervisor
!if $c_ notwordof $wims_supervise and $wims_realuser!=$wims_user
!goto out
!endif
!else
!set t_=$type
!endif
<tr class="$nstyle"><td class="wims_classes_direct_type">$ntype_</td>
<td class="wims_classes_direct_name">
!set u__=$u_
!if $auth_method isitemof $auth_method_list
!if $u_ != supervisor
!readproc adm/class/userdef classes,$c_,$u_
!set u__=!defof user_external_auth in $userdef
!endif
!endif
!href cmd=reply&type=auth$t_&class=$c_&auth_user=$u__ $n_
</td><td class="tt">$u__</td>
</tr>
:out
</table>
!if $wims_user=supervisor
$name_text3
!else
$name_text1
!endif
!else
!if $wims_user=supervisor
$name_text2
!else
$name_noaccount
!endif
!endif