File: mkteacherlist

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 (65 lines) | stat: -rw-r--r-- 2,254 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
##create teacherlist and .teacherlist_external at all levels
## le parametre est la classe

uclass=$wims_read_parm
!if $uclass!=$empty
  superclass=!defof class_superclass in wimshome/log/classes/$uclass/.def
!endif
!default superclass=$wims_superclass
!default uclass=$wims_superclass
!!! je ne comprends pas : l'indexation ne se fait pas sinon lorsqu'un enseignant s'inscrit
!default superclass=$uclass
!default wims_superclass=$class
!!!
!if $superclass=$empty
  !exit
!endif
!if $wims_superclass!=$empty and $superclass!=$wims_superclass and $wims_ismanager<2
  !exit
!endif

basedir=wimshome/log/classes/$superclass
basedir2=$wims_home/log/classes/$superclass
basedirr=wimshome/log/classes/$uclass
basedirr2=$wims_home/log/classes/$uclass
basedir0=wimshome/log/classes
basedir02=$wims_home/log/classes

tlist=!sh cd $basedir2/.users\
  grep -l user_supervisable=yes *
tlist=!words2items $tlist
!set tmp=
!writefile $basedirr/.teacherlist.1
!writefile $basedirr/.teacherlist_external.1
!for t in $tlist
  US_=!defof user_supervise in $basedir/.users/$t
  EXT_=!defof user_external_auth in $basedir/.users/$t
  !if $superclass=$uclass or $uclass isitemof $US_
    U_=!defof user_lastname,user_firstname in $basedir/.users/$t
    !appendfile $basedirr/.teacherlist.1 $U_,$t
    !if $EXT_!=$empty
      !appendfile $basedirr/.teacherlist_external.1 $EXT_:$t
    !endif
    !for l in $US_
      !!teacherlist has not the same status in the superclass (every teacher)
      !! and in the subclasses (supervise teachers )
      !if $l notwordof $superclass $uclass
        !appendfile $basedir0/$l/.teacherlist.1 $U_,$t
        !if $EXT_!=$empty
          !appendfile $basedir0/$l/.teacherlist_external.1 $EXT_:$t
        !endif
        !set tmp=!append item $l to $tmp
      !endif
    !next
  !endif
!next t
!set tmp=!listuniq $uclass,$tmp
!set tmp=!nonempty items $tmp
!for t in $tmp
  !sh sort -f $basedir02/$t/.teacherlist.1 | uniq | grep . >$basedir02/$t/.teacherlist\
    rm -f $basedir02/$t/.teacherlist.1 >/dev/null
  !sh [ -f $basedir02/$t/.teacherlist_external.1 ] && sort -f $basedir02/$t/.teacherlist_external.1 | uniq | grep . >$basedir02/$t/.teacherlist_external\
    rm -f $basedir02/$t/.teacherlist_external.1 >/dev/null
!next

!reset tmp