Subversion Repositories wimsdev

Rev

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