Subversion Repositories wimsdev

Rev

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