File: delcourse

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 (59 lines) | stat: -rw-r--r-- 1,568 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
# Delete a course.
# Calling parameter: course address.

thiscourse=!translate internal / to , in $wims_read_parm
thislevel=$(thiscourse[1])

!if $wims_superclass=$empty or $thislevel=$empty or $wims_user!=supervisor
  !exit
!endif

classdir=wimshome/log/classes/$wims_superclass
cls_=$wims_read_parm
cls__=$classdir/$cls_
!if $wims_class/ notin $wims_superclass/$wims_read_parm
  progtest=!defof sharing_exam in $classdir/ls_/neighbors
  !if $wims_class/ notin $progtest/
    !exit
  !endif
!endif
test=!defof class_defined in $cls__/.def
!if $test!=yes
  error=del_not_exist
  !exit
!endif

sharelist=!defof sharing_all in $cls__/neighbors
!for dp_C in $sharelist
  !read adm/class/stopshare $dp_C,$wims_superclass/$cls_\
  all
  error=
!next dp_C

cls=!translate / to , in $cls_
cls=!item 1 to -2 of $cls
cls=!translate , to / in $cls
cls=!nospace $cls
ocourses=!defof class_ocourses in $classdir/$cls/.def
!if $cls_ isitemof $ocourses
  ocourses=!listcomplement $cls_ in $ocourses
  !setdef !set class_ocourses=$ocourses in $classdir/$cls/.def
!else
  n=!recordcnt $classdir/$cls_/.userlist
  !for i=1 to $n
    l=!record $i of $classdir/$cls_/.userlist
    u=!item 3 of $l
    s=!defof user_class in $classdir/$cls_/.users/$u
    !if $s!=$empty
      l=!defof user_courses in $classdir/$s/.users/$u
      !if $cls_ isitemof $l
        l=!listcomplement $cls_ in $l
        !setdef !set user_courses=$l in $classdir/$s/.users/$u
      !endif
    !endif
  !next i
!endif

!read adm/gateway/delsup $cls_
!sh cd $wims_home/log/classes/$wims_superclass\
 rm -Rf $cls_