File: delclass

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 (55 lines) | stat: -rw-r--r-- 1,353 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
# Delete a class and all its courses.
# Calling parameter: class address.

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

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

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

courses=!record 0 of $cls__/courses
courses=!column 1 of $courses
courses=!nonempty items $courses

class_=$wims_superclass/$cls_
!for dp_c in $courses
 sharelist=!defof sharing_all in $classdir/$dp_c/neighbors
 !for dp_C in $sharelist
    !if $dp_C != $class_
      !read adm/class/stopshare $dp_C,$wims_superclass/$dp_c\
    all
    !endif
  !next dp_C
  error=
  !read adm/gateway/delsup $dp_c
!next dp_c

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_participate in $classdir/.users/$u
  !if $class_ isitemof $s
    s=!listcomplement $class_ in $s
    !setdef !set user_participate=$s in $classdir/.users/$u
  !endif
!next i

!read adm/gateway/delsup $cls_

courses=!items2words $courses
!sh cd $wims_home/log/classes/$wims_superclass\
 rm -Rf $cls_ $courses