Subversion Repositories wimsdev

Rev

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