Subversion Repositories wimsdev

Rev

Rev 3921 | Rev 5199 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 reyssat 1
# Variable calculations should be done in this file.
2
# It is read and interpreted by wims for all valid calls to the module.
2368 bpr 3
!read adm/class/classlang names.phtml
23 reyssat 4
 
3934 guerimand 5
t=$ 
6
tmp=!replace internal & by $t  in $iniparm
7
tmp2=!getopt scoredelay in $tmp
8
tmp3=!replace internal + by , in $tmp2
9
iniparm=!replace internal scoredelay=$tmp2 by scoredelay=$tmp3 in $iniparm
10
 
23 reyssat 11
max_exo=64
12
title_limit=50
13
desc_limit=255
14
sheettot=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheets
15
wims_helper=chapter=3
16
wims_prefix=none
17
 
18
!if $scoring=yes
19
 !default require=10
20
 !default weight=1
21
!else
22
 require=0
23
 weight=0
24
!endif
25
 
26
sup=$wims_user
27
class=$wims_class
28
!if $sup!=supervisor
29
 error=not_supervisor
30
 !exit
31
!endif
32
 
33
!if $cmd=new or $cmd=resume
34
 sheets=
35
 !for i=1 to $sheettot
36
  sh=!record $i of wimshome/log/classes/$wims_class/sheets/.sheets
37
  !distribute lines $sh into a_,t_,title
38
  !if $a_<1
39
   sheets=!append line $i,$title to $sheets
40
  !endif
41
 !next i
42
 sheetcnt=!linecnt $sheets
43
 !ifval $sheetcnt=0
44
  error=no_sheet
45
  !exit
46
 !endif
47
 title=!module title $dir
48
 desc=!module description $dir
49
 !exit
50
!endif
51
 
52
!if $cmd=reply
53
 !if ../adm/ isin ../$dir or $dir=home or \
54
   (../devel/ isin ../$dir and $wims_devel_modules notwordof open)
55
  error=insert_fail
56
  !exit
57
 !endif
58
 !if $picksheet=$empty
59
  error=no_pick
60
  !exit
61
 !endif
62
 picksheet=$[floor($picksheet)]
63
 !if $picksheet=NaN or $picksheet<1 or $picksheet>min(64,$sheettot)
64
  error=bad_sheet
65
  !exit
66
 !endif
67
 sh=!record $picksheet of wimshome/log/classes/$wims_class/sheets/.sheets
68
 a=!line 1 of $sh
69
 !if $a>0
70
  error=bad_sheet
71
  !exit
72
 !endif
73
 exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
74
 !if $exocnt>=$max_exo
75
  error=too_many_exos
76
  !exit
77
 !endif
78
 idesc=!singlespace $new_desc
79
 idesc=!char 1 to $desc_limit of $idesc
80
 ititle=!singlespace $title
81
 ititle=!char 1 to $title_limit of $ititle
82
 !if $scoring=yes
83
  require=$[$require]
84
  weight=$[$weight]
85
  !if NaN isin $require
86
   require=0
87
  !endif
88
  !if NaN isin $weight
89
   weight=0
90
  !endif
91
  !bound require between 0,1000 default 0
92
  !bound weight between 0,10 default 0
93
 !endif
94
 !for i=1 to $exocnt
95
  e=!record $i of wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
96
  !distribute lines $e into wdi,win
97
  !if $dir=$wdi and $iniparm=$win
98
   test=$picksheet
99
   error=already_exist
100
   !exit
101
  !endif
102
 !next i
103
 !appendfile wimshome/log/classes/$wims_class/sheets/.sheet$picksheet :$dir\
104
$iniparm\
105
$require\
106
$weight\
107
$ititle\
108
$idesc
109
 
110
 exocnt=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$picksheet
3921 bpr 111
 wims_module_log=class $class: add No$exocnt to worksheet $picksheet
23 reyssat 112
!endif
113