Subversion Repositories wimsdev

Rev

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