File: var.proc

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (207 lines) | stat: -rw-r--r-- 5,883 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
!if robot isin $session or _ isin $session
  !exit
!endif
!read adm/class/classlang names.phtml
!default module_title2=$module_title

listlim=100
wims_prefix=class user tmp
wims_module_log=$type $keyword
wims_helper=chapter=3
wims_form_method=post
wims_ref_otherlangs=yes
!default class_bgcolor=$wims_bgcolor
!default class_bgimg=$wims_bgimg
!default class_css=$wims_css

!if $class!=$empty
  ##output auth_method_list, aut_idp_method_list, auth_method, aut_idp_method
  !read adm/class/initclass $class,auth
!endif
!!useful ! if $class=$empty
superclass=!text remove . in $superclass
!if $wims_superclass!=$empty
  superclass=$wims_superclass
!endif

!default superclass2=$superclass
!read tabletheme
!if $auth_method=$empty and $class!=$empty
  !bound type within supervisor,participant,example,\
    authsupervisor,authparticipant,forgetpwd default example
!else
  !bound type within supervisor,participant,example,\
    authsupervisor,authparticipant default example
!endif
!if $type=example
  superclass=
!endif

!if $type=forgetpwd
  !changeto forgetpwd.proc
!endif

!if $superclass=$empty
  indf=wimshome/log/classes/.index
  limited=yes
!else
  indf=wimshome/log/classes/$superclass/.subclasses
  keyword=
!endif
keyword=!items2words $keyword
keyword=!trim $keyword
kw=!words2items $keyword
kw=!deaccent $kw
kw=!tolower $kw
ccnt=!recordcnt $indf
!if $wims_class!=$empty
  !read var.direct
  !if $error!=$empty
    !exit
  !endif
!endif

clcnt=0
encnt=0
lacnt=0
excnt=0
listla=
!if $type=example
  !for i=1 to $ccnt
    l=!record $i of $indf
    c=!item 1 of $l
    !if NaN notin $[$c] and $c<10000
      ltest=!defof class_lang in wimshome/log/classes/$c/.def
      !advance excnt
      !if $module_language iswordof $ltest
        laclasses=!append line $l to $laclasses
        !advance lacnt
      !else
        listla=!append item $ltest to $listla
        !if $ltest=en
          enclasses=!append line $l to $enclasses
          !advance encnt
        !endif
      !endif
    !endif
  !next i

  !if $lacnt>0
    clcnt=$lacnt
    classes=$laclasses
  !else
    clcnt=$encnt
    classes=$enclasses
  !endif

  listla=!listuniq $listla
  listla=!replace internal , by </span>, <span class="tt"> in <span class="tt">$listla</span>
  othercnt=$[$excnt-$lacnt]
!endif

!if $type iswordof supervisor participant
  sccnt=0
  !if $wims_class!=$empty
    !defread wimshome/log/classes/$wims_class/.def
    !! n_type is not always good
    !set wims_ariane=!append line n_$type,8, to $wims_ariane
    !default class_type=0
    !set wims_ariane_self=no
    !if $class_type>=2
      !read adm/class/userdef classes,$wims_class,$wims_user
      supervisable=!defof user_supervisable in $userdef
      super_type=!defof class_type in wimshome/log/classes/$wims_superclass/.def
      !ifval $super_type=4
        stype=$[$super_type]
        sp=!translate internal / to , in $superclass2
        splevel=!itemcnt $sp
        sparent=!item 1 to -2 of $sp
        sparent=!translate internal , to / in $sparent
        sparent=!nospace $sparent
        !if $splevel=1
          classes1=!record 0 of wimshome/log/classes/$superclass2/levels
        !endif
        !if $splevel=2
          classes1=!record 0 of wimshome/log/classes/$superclass2/classes
          classes2=!record 0 of wimshome/log/classes/$superclass2/programs
          !!classes1=!append line $classes2 to $classes1
        !endif
        !if $splevel=3
          classes1=!record 0 of wimshome/log/classes/$superclass2/courses
        !endif
        clcnt=!linecnt $classes1
        clcnt_pr=!linecnt $classes2
        classes=
        classes_pr=
        !for i=1 to $clcnt
          l=!line $i of $classes1
          !distribute items $l into code,Sup,name,sup
          classes=!append line $wims_superclass/$code,,,$name to $classes
        !next i
        !for i=1 to $clcnt_pr
          l=!line $i of $classes2
          !distribute items $l into code,Sup,name,sup
          classes_pr=!append line $wims_superclass/$code,,,$name to $classes_pr
        !next i
        !exit
      !endif
    !endif
  !endif

  !for i=1 to $ccnt
    l=!record $i of $indf
    !distribute items $l into code,expire,inst,cl,la,ty
    l1=!deaccent $l
    l1=!tolower $l1
    c1=!text extract 0123456789 in $code
    k=yes
    !for w in $kw
      !if $w notin $l1
        k=no
        !break
      !endif
    !next w
    !!delete condition on language in a superclass
    !if (/ isin $code or $c1>9999) and ($la=$module_language or $class_type!=) and\
      ($code!=$wims_class or ($wims_user!=supervisor and $type=supervisor)) and \
      $k = yes
      !if $ty isin 24
        sclasses=!append line $l to $sclasses
        !advance sccnt
      !else
        classes=!append line $l to $classes
        !advance clcnt
      !endif
    !endif
    !if $limited = yes and $clcnt+$sccnt > $listlim
      overflow=yes
      !break
    !endif
  !next i
  !if $wims_user!=$empty and $wims_supertype iswordof 2 4
    sccnt=0
  !endif
!endif

!if $type iswordof authparticipant authsupervisor
  !reset class_defined
  class=!text remove . in $class
  !defread wimshome/log/classes/$class/.def
  !!#### la seconde condition pour entrer dans la classe en tant que supervisor :
  !!#### 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

  !if $type=authsupervisor and ($class isitemof $wims_supervise or $wims_realuser=$empty or $wims_realuser=supervisor or $wims_realuser=SUPERVISOR or /0/ isin $class/)
    !default auth_user=supervisor
  !endif

  !if $save_logincgu!=$empty
    auth_user=$save_logincgu
  !endif

  superclass=!defof class_superclass in wimshome/log/classes/$class/.def
  !default superclass=$class

  !if $class_defined=yes and ($auth_user!=$empty or $auth_method isitemof $auth_method_list)
    !changeto var.auth
  !endif
!endif