Subversion Repositories wimsdev

Rev

Rev 5100 | Rev 5350 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 reyssat 1
!if robot isin $session or _ isin $session
2
 !exit
3
!endif
4993 bpr 4
 
2368 bpr 5
!read adm/class/classlang names.phtml
5013 bpr 6
 
23 reyssat 7
listlim=60
8
wims_prefix=class user tmp
9
wims_module_log=$type $keyword
10
wims_helper=chapter=3
11
wims_form_method=post
12
wims_ref_otherlangs=yes
13
!default class_bgcolor=$wims_bgcolor
14
!default class_bgimg=$wims_bgimg
15
!default class_css=$wims_css
1170 bpr 16
 
5013 bpr 17
!if $class!=$empty
5105 bpr 18
## output auth_method_list, aut_idp_method_list, auth_method, aut_idp_method
19
  !read adm/class/initclass $class,auth
23 reyssat 20
!endif
5020 bpr 21
!!useful ! if $class=$empty
22
superclass=!text remove . in $superclass
23
!if $wims_superclass!=$empty
24
 superclass=$wims_superclass
25
!endif
5013 bpr 26
 
23 reyssat 27
!default superclass2=$superclass
28
!read tabletheme
29
!bound type within supervisor,participant,example,\
30
	authsupervisor,authparticipant default example
31
!if $type=example
32
 superclass=
33
!endif
4993 bpr 34
 
23 reyssat 35
!if $superclass=$empty
36
 indf=wimshome/log/classes/.index
37
 limited=yes
38
!else
39
 indf=wimshome/log/classes/$superclass/.subclasses
40
 keyword=
41
!endif
42
keyword=!items2words $keyword
43
keyword=!trim $keyword
44
kw=!words2items $keyword
45
kw=!deaccent $kw
46
kw=!tolower $kw
47
ccnt=!recordcnt $indf
48
!if $wims_class!=$empty
49
 !read var.direct
50
 !if $error!=$empty
51
  !exit
52
 !endif
53
!endif
54
 
55
clcnt=0
56
encnt=0
57
lacnt=0
4348 bpr 58
excnt=0
4256 bpr 59
listla=
23 reyssat 60
!if $type=example
61
 !for i=1 to $ccnt
62
  l=!record $i of $indf
63
  c=!item 1 of $l
64
  !if NaN notin $[$c] and $c<10000
65
   ltest=!defof class_lang in wimshome/log/classes/$c/.def
4348 bpr 66
   !advance excnt
23 reyssat 67
   !if $ltest=$module_language
68
    laclasses=!append line $l to $laclasses
69
    !advance lacnt
70
   !else
4256 bpr 71
    listla=!append item $ltest to $listla
23 reyssat 72
    !if $ltest=en
73
     enclasses=!append line $l to $enclasses
74
     !advance encnt
75
    !endif
76
   !endif
77
  !endif
78
 !next i
79
 !if $lacnt>0
80
  clcnt=$lacnt
81
  classes=$laclasses
82
 !else
83
  clcnt=$encnt
84
  classes=$enclasses
85
 !endif
4256 bpr 86
 listla=!listuniq $listla
87
 listla=!replace internal , by </tt>, <tt> in <tt>$listla</tt>
4348 bpr 88
 othercnt=$[$excnt-$lacnt]
23 reyssat 89
!endif
90
 
91
!if $type iswordof supervisor participant
92
 sccnt=0
93
 !if $wims_class!=$empty
94
  !defread wimshome/log/classes/$wims_class/.def
95
  !default class_type=0
96
  !if $class_type>=2
97
   !read adm/class/userdef classes,$wims_class,$wims_user
98
   supervisable=!defof user_supervisable in $userdef
99
   super_type=!defof class_type in wimshome/log/classes/$wims_superclass/.def
100
   !ifval $super_type=4
101
    stype=$[$super_type]
102
    sp=!translate internal / to , in $superclass2
103
    splevel=!itemcnt $sp
104
    sparent=!item 1 to -2 of $sp
105
    sparent=!translate internal , to / in $sparent
106
    sparent=!nospace $sparent
107
    !if $splevel=1
108
     classes1=!record 0 of wimshome/log/classes/$superclass2/levels
109
    !endif
110
    !if $splevel=2
111
     classes1=!record 0 of wimshome/log/classes/$superclass2/classes
112
     classes2=!record 0 of wimshome/log/classes/$superclass2/programs
411 bpr 113
     !!classes1=!append line $classes2 to $classes1
23 reyssat 114
    !endif
115
    !if $splevel=3
116
     classes1=!record 0 of wimshome/log/classes/$superclass2/courses
117
    !endif
118
    clcnt=!linecnt $classes1
411 bpr 119
    clcnt_pr=!linecnt $classes2
23 reyssat 120
    classes=
411 bpr 121
    classes_pr=
23 reyssat 122
    !for i=1 to $clcnt
123
     l=!line $i of $classes1
124
     !distribute items $l into code,Sup,name,sup
125
     classes=!append line $wims_superclass/$code,,,$name to $classes
126
    !next i
411 bpr 127
    !for i=1 to $clcnt_pr
128
     l=!line $i of $classes2
129
     !distribute items $l into code,Sup,name,sup
130
     classes_pr=!append line $wims_superclass/$code,,,$name to $classes_pr
131
    !next i
23 reyssat 132
    !exit
133
   !endif
134
  !endif
135
 !endif
136
 !for i=1 to $ccnt
137
  l=!record $i of $indf
138
  !distribute items $l into code,expire,inst,cl,la,ty
139
  l1=!deaccent $l
140
  l1=!tolower $l1
141
  c1=!text extract 0123456789 in $code
142
  k=yes
143
  !for w in $kw
144
   !if $w notin $l1
145
    k=no
146
    !break
147
   !endif
148
  !next w
4567 bpr 149
  !!delete condition on language in a superclass
150
  !if (/ isin $code or $c1>9999) and ($la=$module_language or $class_type!=) and\
23 reyssat 151
   ($code!=$wims_class or ($wims_user!=supervisor and $type=supervisor)) and \
152
   $k = yes
153
    !if $ty isin 24
154
      sclasses=!append line $l to $sclasses
155
      !advance sccnt
156
    !else
157
      classes=!append line $l to $classes
158
      !advance clcnt
159
    !endif
160
  !endif
161
  !if $limited = yes and $clcnt+$sccnt > $listlim
162
   overflow=yes
163
   !break
164
  !endif
165
 !next i
166
 !if $wims_user!=$empty and $wims_supertype iswordof 2 4
167
  sccnt=0
168
 !endif
169
!endif
170
 
4152 bpr 171
!if $type iswordof authparticipant authsupervisor
172
 !reset class_defined
173
 class=!text remove . in $class
174
 !defread wimshome/log/classes/$class/.def
175
 !!#### la seconde condition pour entrer dans la classe en tant que supervisor :
176
 !!#### 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
4993 bpr 177
 
178
 
4152 bpr 179
 !if $type=authsupervisor and ($class isitemof $wims_supervise or $wims_realuser=$empty or $wims_realuser=supervisor or /0/ isin $class/)
180
  !default auth_user=supervisor
23 reyssat 181
 !endif
5100 bpr 182
 
4424 bpr 183
 !if $save_logincgu!=$empty
5100 bpr 184
   auth_user=$save_logincgu
4424 bpr 185
 !endif
4993 bpr 186
 
5013 bpr 187
 superclass=!defof class_superclass in wimshome/log/classes/$class/.def
188
 !default superclass=$class
4993 bpr 189
 
5026 bpr 190
 !if $class_defined=yes and ($auth_user!=$empty or $auth_method isitemof $auth_method_list)
4993 bpr 191
   !changeto var.auth
23 reyssat 192
 !endif
193
!endif