1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
!if robot isin $session or _ isin $session
!exit
!endif
!read adm/class/classlang names.phtml
!default module_title2=$module_title
listlim=100
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
!if $class!=$empty
##output auth_method_list, aut_idp_method_list, auth_method, aut_idp_method
!read adm/class/initclass $class,auth
!endif
!!useful ! if $class=$empty
superclass=!text remove . in $superclass
!if $wims_superclass!=$empty
superclass=$wims_superclass
!endif
!default superclass2=$superclass
!read tabletheme
!if $auth_method=$empty and $class!=$empty
!bound type within supervisor,participant,example,\
authsupervisor,authparticipant,forgetpwd default example
!else
!bound type within supervisor,participant,example,\
authsupervisor,authparticipant default example
!endif
!if $type=example
superclass=
!endif
!if $type=forgetpwd
!changeto forgetpwd.proc
!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
excnt=0
listla=
!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
!advance excnt
!if $module_language iswordof $ltest
laclasses=!append line $l to $laclasses
!advance lacnt
!else
listla=!append item $ltest to $listla
!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
listla=!listuniq $listla
listla=!replace internal , by </span>, <span class="tt"> in <span class="tt">$listla</span>
othercnt=$[$excnt-$lacnt]
!endif
!if $type iswordof supervisor participant
sccnt=0
!if $wims_class!=$empty
!defread wimshome/log/classes/$wims_class/.def
!! n_type is not always good
!set wims_ariane=!append line n_$type,8, to $wims_ariane
!default class_type=0
!set wims_ariane_self=no
!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
!!delete condition on language in a superclass
!if (/ isin $code or $c1>9999) and ($la=$module_language or $class_type!=) 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
!!#### la seconde condition pour entrer dans la classe en tant que supervisor :
!!#### le user est supervisor de cette classe, ou wims_realuser est supervisor ou vide (cas de l'administrateur) ou la classe est la classe test
!if $type=authsupervisor and ($class isitemof $wims_supervise or $wims_realuser=$empty or $wims_realuser=supervisor or $wims_realuser=SUPERVISOR or /0/ isin $class/)
!default auth_user=supervisor
!endif
!if $save_logincgu!=$empty
auth_user=$save_logincgu
!endif
superclass=!defof class_superclass in wimshome/log/classes/$class/.def
!default superclass=$class
!if $class_defined=yes and ($auth_user!=$empty or $auth_method isitemof $auth_method_list)
!changeto var.auth
!endif
!endif
|