ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilEssayKeywordWizardInputGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once "./Modules/TestQuestionPool/classes/class.ilSingleChoiceWizardInputGUI.php";
5
7{
13 function setValue($a_value)
14 {
15 $this->values = array();
16 if (is_array( $a_value ))
17 {
18 if (is_array( $a_value['answer'] ))
19 {
20 foreach ($a_value['answer'] as $index => $value)
21 {
22 include_once "./Modules/TestQuestionPool/classes/class.assAnswerMultipleResponseImage.php";
23 $answer = new ASS_AnswerMultipleResponseImage($value, $a_value['points'][$index], $index, $a_value['points_unchecked'][$index], $a_value['imagename'][$index]);
24 array_push( $this->values, $answer );
25 }
26 }
27 }
28 }
29
35 function checkInput()
36 {
37 global $lng;
38
39 include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
40 if (is_array( $_POST[$this->getPostVar()] ))
41 {
44 )
45 );
46 }
47 $foundvalues = $_POST[$this->getPostVar()];
48 if (is_array( $foundvalues ))
49 {
50 // check answers
51 if (is_array( $foundvalues['answer'] ))
52 {
53 foreach ($foundvalues['answer'] as $aidx => $answervalue)
54 {
55 if (((strlen( $answervalue )) == 0) && (strlen( $foundvalues['imagename'][$aidx] ) == 0))
56 {
57 $this->setAlert( $lng->txt( "msg_input_is_required" ) );
58 return FALSE;
59 }
60 }
61 }
62 // check points
63 $max = 0;
64 if (is_array( $foundvalues['points'] ))
65 {
66 foreach ($foundvalues['points'] as $points)
67 {
68 if ($points > $max)
69 {
70 $max = $points;
71 }
72 if (((strlen( $points )) == 0) || (!is_numeric( $points )))
73 {
74 $this->setAlert( $lng->txt( "form_msg_numeric_value_required" ) );
75 return FALSE;
76 }
77 }
78 }
79 if ($max == 0)
80 {
81 $this->setAlert( $lng->txt( "enter_enough_positive_points" ) );
82 return false;
83 }
84 }
85 else
86 {
87 $this->setAlert( $lng->txt( "msg_input_is_required" ) );
88 return FALSE;
89 }
90
91 return $this->checkSubItemsInput();
92 }
93
99 function insert(&$a_tpl)
100 {
101 global $lng;
102
103 $tpl = new ilTemplate("tpl.prop_essaykeywordswizardinput.html", true, true, "Modules/TestQuestionPool");
104 $i = 0;
105 foreach ($this->values as $value)
106 {
107 if ($this->getSingleline())
108 {
109 if (is_object( $value ))
110 {
111 $tpl->setCurrentBlock( "prop_text_propval" );
112 $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getAnswertext() ) );
113 $tpl->parseCurrentBlock();
114 $tpl->setCurrentBlock( "prop_points_propval" );
115 $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getPointsChecked() ) );
116 $tpl->parseCurrentBlock();
117 }
118 $tpl->setCurrentBlock( 'singleline' );
119 $tpl->setVariable( "SIZE", $this->getSize() );
120 $tpl->setVariable( "SINGLELINE_ID", $this->getPostVar() . "[answer][$i]" );
121 $tpl->setVariable( "SINGLELINE_ROW_NUMBER", $i );
122 $tpl->setVariable( "SINGLELINE_POST_VAR", $this->getPostVar() );
123 $tpl->setVariable( "MAXLENGTH", $this->getMaxLength() );
124 if ($this->getDisabled())
125 {
126 $tpl->setVariable( "DISABLED_SINGLELINE", " disabled=\"disabled\"" );
127 }
128 $tpl->parseCurrentBlock();
129 }
130 else {
131 if (!$this->getSingleline())
132 {
133 if (is_object( $value ))
134 {
135 $tpl->setCurrentBlock( "prop_points_propval" );
136 $tpl->setVariable( "PROPERTY_VALUE", ilUtil::prepareFormOutput( $value->getPoints() ) );
137 $tpl->parseCurrentBlock();
138 }
139 }
140 }
141
142 $tpl->setCurrentBlock( "row" );
143 $tpl->setVariable( "POST_VAR", $this->getPostVar() );
144 $tpl->setVariable( "ROW_NUMBER", $i );
145 $tpl->setVariable( "ID", $this->getPostVar() . "[answer][$i]" );
146 $tpl->setVariable( "POINTS_ID", $this->getPostVar() . "[points][$i]" );
147 $tpl->setVariable( "CMD_ADD", "cmd[add" . $this->getFieldId() . "][$i]" );
148 $tpl->setVariable( "CMD_REMOVE", "cmd[remove" . $this->getFieldId() . "][$i]" );
149 if ($this->getDisabled())
150 {
151 $tpl->setVariable( "DISABLED_POINTS", " disabled=\"disabled\"" );
152 }
153 $tpl->setVariable( "ADD_BUTTON", ilGlyphGUI::get(ilGlyphGUI::ADD) );
154 $tpl->setVariable( "REMOVE_BUTTON", ilGlyphGUI::get(ilGlyphGUI::REMOVE) );
155 $tpl->parseCurrentBlock();
156 $i++;
157 }
158
159 $tpl->setVariable( "ELEMENT_ID", $this->getPostVar() );
160 $tpl->setVariable( "TEXT_YES", $lng->txt( 'yes' ) );
161 $tpl->setVariable( "TEXT_NO", $lng->txt( 'no' ) );
162 $tpl->setVariable( "DELETE_IMAGE_HEADER", $lng->txt( 'delete_image_header' ) );
163 $tpl->setVariable( "DELETE_IMAGE_QUESTION", $lng->txt( 'delete_image_question' ) );
164 $tpl->setVariable( "ANSWER_TEXT", $lng->txt( 'answer_text' ) );
165 $tpl->setVariable( "POINTS_TEXT", $lng->txt( 'points' ) );
166 $tpl->setVariable( "COMMANDS_TEXT", $lng->txt( 'actions' ) );
167 $tpl->setVariable( "POINTS_CHECKED_TEXT", $lng->txt( 'checkbox_checked' ) );
168
169 $a_tpl->setCurrentBlock( "prop_generic" );
170 $a_tpl->setVariable( "PROP_GENERIC", $tpl->get() );
171 $a_tpl->parseCurrentBlock();
172
173 global $tpl;
174 $tpl->addJavascript("./Services/Form/js/ServiceFormWizardInput.js");
175 $tpl->addJavascript("./Modules/TestQuestionPool/templates/default/essaykeywordwizard.js");
176 }
177
178}
global $tpl
Definition: ilias.php:8
ASS_AnswerBinaryStateImage is a class for answers with a binary state indicator (checked/unchecked,...
checkInput()
Check input, strip slashes etc.
getPostVar()
Get Post Variable.
setAlert($a_alert)
Set Alert Text.
getFieldId()
Get Post Variable.
static get($a_glyph, $a_text="")
Get glyph html.
& _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
This class represents a single choice wizard property in a property form.
special template class to simplify handling of ITX/PEAR
getMaxLength()
Get Max Length.
static stripSlashesRecursive($a_data, $a_strip_html=true, $a_allow="")
Strip slashes from array and sub-arrays.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
$_POST['username']
Definition: cron.php:12
global $lng
Definition: privfeed.php:40