Subversion Repositories wimsdev

Rev

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