Line # Revision Author
1 296 ahitrov <p>Всего проголосовало: <input type="text" name="<% $name.'_total' %>" value="<% $set->{total}||'0' %>" readonly></p>
2 <p>Кол-во вопросов: <input type="text" name="<% $name.'_question_amount' %>" value="<% $set->{question_amount} %>" maxlength=2 size=2></p>
3
4 % foreach my $question_id (0..($set->{question_amount}-1)) {
5 % my $prefix =$name.'_question'.$question_id.'_';
6 % my $question_data=$set->{questions}->[$question_id];
7 <p><b>Вопрос номер <% $question_id+1 %>:</b>
8 <& text.msn, name => $prefix.'question', check => $question_data->{question}, prop=>{rows=>2} &>
9 <br>Кол-во вариантов ответа: <input type="text" name="<% $prefix.'amount' %>" value="<% $question_data->{amount} %>" maxlength=2 size=2>
10 <br>Шкалирование ответов (от 1 до ...): <input type="text" name="<% $prefix.'range' %>" value="<% $question_data->{range} %>" maxlength=2 size=2>
11 <br>Возможность множественного выбора: <input type="checkbox" name="<% $prefix.'allow_multi' %>" value="1" <% $question_data->{allow_multi} ? 'checked':'' %>>
12 %#<br>Шкалирование ответа: <input type="checkbox" name="<% $prefix.'scale_answer' %>" value="1" <% $question_data->{scale_answer} ? 'checked':'' %>>
13
14 % if ($question_data->{amount}) {
15 <table width=100% border=0>
16 <tr><td width=10% nowrap>N ответа</td><td>Random</td><td width=80%>Текст или ID картинки в формате &lt;% pictures_N %&gt;</td><td width=10%>Всего за</td></tr>
17 % foreach my $answer_id (0..($question_data->{amount}-1)) {
18 % my $inner_prefix=$prefix.'answer'.$answer_id.'_';
19 % my $answer_data =$question_data->{choices}->[$answer_id];
20 <tr>
21 <td width=10% align="center"><% $answer_id+1 %></td>
22 <td width=5% align="center"><input type="checkbox" name="<% $inner_prefix.'random' %>"<% $answer_data->{random} ? ' checked' : '' %>></td>
23 <td width=75%><input type="text" name="<% $inner_prefix.'choice' %>" value="<% html_escape($answer_data->{choice}) %>" style="width:100%;"></td>
24 <td width=10%><input type="text" name="<% $inner_prefix.'votes' %>" value="<% $answer_data->{votes}||'0' %>" readonly></td>
25 </tr>
26 %}
27 </table>
28 %}
29 <hr>
30 %}
31 <p>Кол-во свободных полей: <input type="text" name="<% $name.'_freefields_amount' %>" value="<% $set->{freefields_amount} %>" maxlength=2 size=2></p>
32 <table width=100% border=0>
33 <tr><td width=10% nowrap>N поля</td><td width=90%>Текст</td></tr>
34 % foreach my $freefield_id (0..($set->{freefields_amount}-1)) {
35 % my $prefix =$name.'_freefield';
36 % my $question_data=$set->{freefields}->[$freefield_id];
37 <tr>
38 <td width=10% align="center"><% $freefield_id+1 %></td>
39 <td width=90%><input type="text" name="<% $prefix.$freefield_id %>" value="<% html_escape($question_data) %>" style="width:100%;"></td>
40 </tr>
41 % }
42 </table>
43 <hr>
44 PS: Внимание поддержка многих features из видимых в этой форме остается на template формы и template результатов. И <font color="red">не гарантируется</font> на шаблонах по умолчанию или старых шаблонах.
45 %#<pre>
46 %#<% Data::Dumper::Dumper($set) %>
47 %#</pre>
48
49 <%args>
50 $name => undef
51 $check => undef
52 </%args>
53 <%init>
54 use vars qw($VAR1);
55 my $set={};
56 if ($check)
57 {
58 eval ($check);
59 if ($@)
60 {
61 warn "cannot eval $name with value '$check'";
62 }
63 else
64 {
65 $set=$VAR1;
66 }
67 }
68 </%init>
69