Rev 10736 | Rev 14335 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 10736 | Rev 12479 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | !if $vote_status!=1 |
1 | !if $vote_status!=1 |
2 | error=bad_vote |
2 | error=bad_vote |
3 | job=home |
3 | job=home |
4 | !changeto home.proc |
4 | !changeto home.proc |
5 | !endif |
5 | !endif |
6 | 6 | ||
7 | !readdef $userfile |
7 | !readdef $userfile |
8 | !if $(user_vote_$Vote)=$empty and $(user_vote_$vote)!=$empty |
8 | !if $(user_vote_$Vote)=$empty and $(user_vote_$vote)!=$empty |
9 |
|
9 | user_vote_$Vote=$(user_vote_$vote) |
10 | !endif |
10 | !endif |
11 | 11 | ||
12 | # pour un questionnaire tracé ou anonyme on interdit de |
12 | # pour un questionnaire tracé ou anonyme on interdit de |
13 | # modifier son vote. |
13 | # modifier son vote. |
14 | 14 | ||
15 | !if $vote_option!=nominative and $(user_vote_$Vote)!=$empty |
15 | !if $vote_option!=nominative and $(user_vote_$Vote)!=$empty |
16 | error=already_voted |
16 | error=already_voted |
17 | !exit |
17 | !exit |
18 | !endif |
18 | !endif |
19 | 19 | ||
20 | !readdef $votedir/$vote.votes |
20 | !readdef $votedir/$vote.votes |
21 | 21 | ||
22 | !readdef $votedir/$vote.comments |
22 | !readdef $votedir/$vote.comments |
Line 24... | Line 24... | ||
24 | noprint=yes |
24 | noprint=yes |
25 | !reset parmcnt |
25 | !reset parmcnt |
26 | !readproc $votedir/$vote.def |
26 | !readproc $votedir/$vote.def |
27 | voteset= |
27 | voteset= |
28 | !if $(user_vote_$Vote)=$empty |
28 | !if $(user_vote_$Vote)=$empty |
29 | !advance vcnt |
29 | !advance vcnt |
30 | voteset=vcnt=$vcnt |
30 | voteset=vcnt=$vcnt |
31 | !endif |
31 | !endif |
32 | 32 | ||
33 | # on récupère le nombre de votes déjà exprimés |
33 | # on récupère le nombre de votes déjà exprimés |
34 | nbvotes=$vcnt |
34 | nbvotes=$vcnt |
35 | 35 | ||
36 | !for t=1 to $parmcnt |
36 | !for t=1 to $parmcnt |
37 | !if $(vote_description[$t;2])=textarea |
37 | !if $(vote_description[$t;2])=textarea |
38 | !if $vote_option!=nominative |
38 | !if $vote_option!=nominative |
39 | tt = !singlespace $(parm$t) |
39 | tt = !singlespace $(parm$t) |
40 | tt = !char 1 to $limit_textarea of $tt |
40 | tt = !char 1 to $limit_textarea of $tt |
41 | !appendfile $votedir/$(vote)_$t.comments :$tt |
41 | !appendfile $votedir/$(vote)_$t.comments :$tt |
- | 42 | !endif |
|
- | 43 | !else |
|
- | 44 | !for k=0 to $(choices$t) |
|
- | 45 | vc_$k=$(vcnt_$(t)_$k) |
|
- | 46 | !next k |
|
- | 47 | tmp=!values v for v=1 to $(choices$t) |
|
- | 48 | parm$t=!nospace $(parm$t) |
|
- | 49 | parm$t=!listintersect $(parm$t) and $tmp |
|
- | 50 | !for k in $(parm$t) |
|
- | 51 | !default vc_$k=0 |
|
- | 52 | !advance vc_$k |
|
- | 53 | !next k |
|
- | 54 | old=!item $t of $(user_vote_$Vote) |
|
- | 55 | old=!words2items $old |
|
- | 56 | !for v in $old |
|
- | 57 | vc_$v=$[max(0,$(vc_$v)-1)] |
|
- | 58 | !next v |
|
- | 59 | !for k=0 to $(choices$t) |
|
- | 60 | !default vc_$k=0 |
|
- | 61 | !if $(vc_$k) != $(vcnt_$(t)_$k) |
|
- | 62 | voteset=!append line vcnt_$(t)_$k=$(vc_$k) to $voteset |
|
- | 63 | !endif |
|
- | 64 | !next k |
|
42 | !endif |
65 | !endif |
43 | !else |
- | |
44 | !for k=0 to $(choices$t) |
- | |
45 | vc_$k=$(vcnt_$(t)_$k) |
- | |
46 | !next k |
- | |
47 | tmp=!values v for v=1 to $(choices$t) |
- | |
48 | parm$t=!nospace $(parm$t) |
- | |
49 | parm$t=!listintersect $(parm$t) and $tmp |
- | |
50 | !for k in $(parm$t) |
- | |
51 | !default vc_$k=0 |
- | |
52 | !advance vc_$k |
- | |
53 | !next k |
- | |
54 | old=!item $t of $(user_vote_$Vote) |
- | |
55 | old=!words2items $old |
- | |
56 | !for v in $old |
- | |
57 | vc_$v=$[max(0,$(vc_$v)-1)] |
- | |
58 | !next v |
- | |
59 | !for k=0 to $(choices$t) |
- | |
60 | !default vc_$k=0 |
- | |
61 | !if $(vc_$k) != $(vcnt_$(t)_$k) |
- | |
62 | voteset=!append line vcnt_$(t)_$k=$(vc_$k) to $voteset |
- | |
63 | !endif |
- | |
64 | !next k |
- | |
65 | !endif |
- | |
66 | !next t |
66 | !next t |
67 | 67 | ||
68 | 68 | ||
69 | # paramcnt: nombre de questions |
69 | # paramcnt: nombre de questions |
70 | 70 | ||
71 | 71 | ||
72 | !if $vote_option=anonymous |
72 | !if $vote_option=anonymous |
73 | user_vote_$Vote=yes |
73 | user_vote_$Vote=yes |
74 | !else |
74 | !else |
75 | # nouvelle option pour le tracage des reponses. |
75 | # nouvelle option pour le tracage des reponses. |
76 | # on ne garde pas le nom du votant mais on lui donne un numéro qui |
76 | # on ne garde pas le nom du votant mais on lui donne un numéro qui |
77 | # est égal au nombre de votes exprimés. |
77 | # est égal au nombre de votes exprimés. |
78 | # |
78 | # |
Line 84... | Line 84... | ||
84 | # la partie du fichier obtenu est de la forme vote |
84 | # la partie du fichier obtenu est de la forme vote |
85 | option=$empty |
85 | option=$empty |
86 | 86 | ||
87 | !if $vote_option iswordof nominative |
87 | !if $vote_option iswordof nominative |
88 | option=$wims_class/$wims_user |
88 | option=$wims_class/$wims_user |
89 | !else |
89 | !else |
90 | option=$nbvotes |
90 | option=$nbvotes |
91 | !endif |
91 | !endif |
92 | 92 | ||
93 | tt=$empty |
93 | tt=$empty |
94 | !for t=1 to $parmcnt |
94 | !for t=1 to $parmcnt |
95 | !if $(vote_description[$t;2])!=textarea |
95 | !if $(vote_description[$t;2])!=textarea |
96 | !if $vote_option=nominative |
96 | !if $vote_option=nominative |
97 | !! erase old vote. allowed only with vote_option=nominative |
97 | !! erase old vote. allowed only with vote_option=nominative |
98 | old=!item $t of $(user_vote_$Vote) |
98 | old=!item $t of $(user_vote_$Vote) |
99 | old=!words2items $old |
99 | old=!words2items $old |
100 | !for v in $old |
100 | !for v in $old |
101 | vv=!replace item $option by $ in $(votes_$(t)_$v) |
101 | vv=!replace item $option by $ in $(votes_$(t)_$v) |
102 | vv=!nonempty items $vv |
102 | vv=!nonempty items $vv |
103 | voteset=!append line votes_$(t)_$v=$vv to $voteset |
103 | voteset=!append line votes_$(t)_$v=$vv to $voteset |
104 | votes_$(t)_$v=$vv |
104 | votes_$(t)_$v=$vv |
105 | !next v |
105 | !next v |
106 | !endif |
106 | !endif |
107 | tmp=!items2words $(parm$t) |
107 | tmp=!items2words $(parm$t) |
108 | tt=!append item $tmp to $tt |
108 | tt=!append item $tmp to $tt |
109 | !for v in $(parm$t) |
109 | !for v in $(parm$t) |
110 | vv=!append item $option to $(votes_$(t)_$(v)) |
110 | vv=!append item $option to $(votes_$(t)_$(v)) |
111 | voteset=!append line votes_$(t)_$v=$vv to $voteset |
111 | voteset=!append line votes_$(t)_$v=$vv to $voteset |
- | 112 | !next v |
|
- | 113 | !else |
|
- | 114 | tt=!append item 0 to $tt |
|
- | 115 | !endif |
|
112 |
|
116 | !next t |
- | 117 | !if $vote_option=trace |
|
- | 118 | user_vote_$Vote=yes |
|
113 | !else |
119 | !else |
114 |
|
120 | user_vote_$Vote=$tt |
115 | !endif |
121 | !endif |
116 | !next t |
- | |
117 | !if $vote_option=trace |
- | |
118 | user_vote_$Vote=yes |
- | |
119 | !else |
- | |
120 | user_vote_$Vote=$tt |
- | |
121 | !endif |
- | |
122 | !endif |
122 | !endif |
123 | 123 | ||
124 | !setdef !set user_vote_$Vote=$(user_vote_$Vote) in $userfile |
124 | !setdef !set user_vote_$Vote=$(user_vote_$Vote) in $userfile |
125 | !if $voteset!=$empty |
125 | !if $voteset!=$empty |
126 | !setdef $voteset in $votedir/$vote.votes |
126 | !setdef $voteset in $votedir/$vote.votes |
127 | !endif |
127 | !endif |
128 | 128 | ||
129 | !! -------------------------- |
129 | !! -------------------------- |
130 | !! these lines are writing the variable user_techvar_ttt in the user file when |
130 | !! these lines are writing the variable user_techvar_ttt in the user file when |
131 | !!\uservar{ttt, ....} |
131 | !!\uservar{ttt, ....} |
132 | 132 | ||
133 | 133 | ||
134 | ccc=!itemcnt $uvcnt |
134 | ccc=!itemcnt $uvcnt |
135 | !if $ccc>0 |
135 | !if $ccc>0 |
136 | !readproc adm/vfilter/listvarfilter.proc |
136 | !readproc adm/vfilter/listvarfilter.proc |
137 | !for i=1 to $ccc |
137 | !for i=1 to $ccc |
138 | uvc=!item $i of $uvcnt |
138 | uvc=!item $i of $uvcnt |
139 | uvn=!item $i of $uvname |
139 | uvn=!item $i of $uvname |
140 | !! no registery if the technical variable is not already defined |
140 | !! no registery if the technical variable is not already defined |
141 | !if $uvn isitemof $tv_listlocalcode |
141 | !if $uvn isitemof $tv_listlocalcode |
142 | uvv=!line $i of $uvval |
142 | uvv=!line $i of $uvval |
143 | uvv=!item $(parm$uvc)+1 of $uvv |
143 | uvv=!item $(parm$uvc)+1 of $uvv |
144 | !! check if the value exists for this technical variable (only defined values can be save in user .def file) |
144 | !! check if the value exists for this technical variable (only defined values can be save in user .def file) |
145 | po=!positionof item $uvn in $tv_listcode |
145 | po=!positionof item $uvn in $tv_listcode |
146 | don=!line $po of $tv_listtechvar |
146 | don=!line $po of $tv_listtechvar |
147 | !distribute item $don into name,classid,number |
147 | !distribute item $don into name,classid,number |
148 | don=!record $number of wimshome/log/classes/$wims_class/.techvar |
148 | don=!record $number of wimshome/log/classes/$wims_class/.techvar |
149 | don=!line 2 of $don |
149 | don=!line 2 of $don |
150 | !if $uvv notitemof $don |
150 | !if $uvv notitemof $don |
151 | uvv=$empty |
151 | uvv=$empty |
152 | !endif |
152 | !endif |
153 | classid=!replace internal / by _ in $classid |
153 | classid=!replace internal / by _ in $classid |
154 | !setdef !set user_techvar_$(uvn)=$uvv in $userfile |
154 | !setdef !set user_techvar_$(uvn)=$uvv in $userfile |
155 | !endif |
155 | !endif |
156 | !next i |
156 | !next i |
157 | !endif |
157 | !endif |
158 | !! ------------------------------------------- |
158 | !! ------------------------------------------- |
159 | 159 | ||
160 | !restart module=adm/vote&job=read&vote=$vote |
160 | !restart module=adm/vote&job=read&vote=$vote |
161 | - |