ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilMultipleChoiceWizardInputGUI Class Reference

This class represents a multiple choice wizard property in a property form. More...

+ Inheritance diagram for ilMultipleChoiceWizardInputGUI:
+ Collaboration diagram for ilMultipleChoiceWizardInputGUI:

Public Member Functions

 setValue ($a_value)
 Set Value.
 checkInput ()
 Check input, strip slashes etc.
 insert (&$a_tpl)
 Insert property html.
- Public Member Functions inherited from ilSingleChoiceWizardInputGUI
 __construct ($a_title="", $a_postvar="")
 Constructor.
 setSuffixes ($a_suffixes)
 Set Accepted Suffixes.
 setHideImages ($a_hide)
 Set hide images.
 getSuffixes ()
 Get Accepted Suffixes.
 setShowPoints ($a_value)
 getShowPoints ()
 setValues ($a_values)
 Set Values.
 getValues ()
 Get Values.
 setSingleline ($a_value)
 Set singleline.
 getSingleline ()
 Get singleline.
 setQuestionObject ($a_value)
 Set question object.
 getQuestionObject ()
 Get question object.
 setAllowMove ($a_allow_move)
 Set allow move.
 getAllowMove ()
 Get allow move.
- Public Member Functions inherited from ilTextInputGUI
 getValue ()
 Get Value.
 setValidationFailureMessage ($a_msg)
 Set message string for validation failure.
 getValidationFailureMessage ()
 setValidationRegexp ($a_value)
 Set validation regexp.
 getValidationRegexp ()
 Get validation regexp.
 setMaxLength ($a_maxlength)
 Set Max Length.
 getMaxLength ()
 Get Max Length.
 setSize ($a_size)
 Set Size.
 setInlineStyle ($a_style)
 Set inline style.
 getInlineStyle ()
 Get inline style.
 setValueByArray ($a_values)
 Set value by array.
 getSize ()
 Get Size.
 setSuffix ($a_value)
 Set suffix.
 getSuffix ()
 Get suffix.
 setInputType ($a_type)
 set input type
 getInputType ()
 get input type
 setSubmitFormOnEnter ($a_val)
 Set submit form on enter.
 getSubmitFormOnEnter ()
 Get submit form on enter.
 getDataSource ()
 get datasource link for YUI autocomplete
 setDataSource ($href)
 set datasource link for YUI autocomplete
 getDataSourceSchema ()
 get datasource schema for YUI autocomplete
 setDataSourceSchema ($ds)
 set datasource schema for YUI autocomplete
 getDataSourceResultFormat ()
 get data result format callback for YUI autocomplete
 setDataSourceResultFormat ($callback)
 set data result format callback for YUI autocomplete
 setDataSourceDelimiter ($ar)
 set data delimiter array
 getDataSourceDelimiter ()
 get data delimiter array
 getTableFilterHTML ()
 Get HTML for table filter.
 getToolbarHTML ()
 Get HTML for toolbar.
- Public Member Functions inherited from ilSubEnabledFormPropertyGUI
 addSubItem ($a_item)
 Add Subitem.
 getSubItems ()
 Get Subitems.
 checkSubItemsInput ()
 Check SubItems.
 getSubForm ()
 Get sub form html.
 getItemByPostVar ($a_post_var)
 Get item by post var.
- Public Member Functions inherited from ilFormPropertyGUI
executeCommand ()
 Execute command.
 getType ()
 Get Type.
 setTitle ($a_title)
 Set Title.
 getTitle ()
 Get Title.
 setPostVar ($a_postvar)
 Set Post Variable.
 getPostVar ()
 Get Post Variable.
 getFieldId ()
 Get Post Variable.
 setInfo ($a_info)
 Set Information Text.
 getInfo ()
 Get Information Text.
 setAlert ($a_alert)
 Set Alert Text.
 getAlert ()
 Get Alert Text.
 setRequired ($a_required)
 Set Required.
 getRequired ()
 Get Required.
 setDisabled ($a_disabled)
 Set Disabled.
 getDisabled ()
 Get Disabled.
 setParentForm ($a_parentform)
 Set Parent Form.
 getParentForm ()
 Get Parent Form.
 setParent ($a_val)
 Set Parent GUI object.
 getParent ()
 Get Parent GUI object.
 hideSubForm ()
 Sub form hidden on init?
 setHiddenTitle ($a_val)
 Set hidden title (for screenreaders)
 getHiddenTitle ()
 Get hidden title.
 serializeData ()
 serialize data
 unserializeData ($a_data)
 unserialize data
 writeToSession ()
 Write to session.
 clearFromSession ()
 Clear session value.
 readFromSession ()
 Read from session.
 getHiddenTag ($a_post_var, $a_value)
 Get hidden tag (used for disabled properties)

Additional Inherited Members

- Protected Member Functions inherited from ilTextInputGUI
 render ($a_mode="")
 Render item.
- Protected Attributes inherited from ilSingleChoiceWizardInputGUI
 $values = array()
 $allowMove = false
 $singleline = true
 $qstObject = null
 $suffixes = array()
 $showPoints = true
 $hideImages = false

Detailed Description

This class represents a multiple choice wizard property in a property form.

Author
Helmut Schottmüller ilias.nosp@m.@aur.nosp@m.ealis.nosp@m..de
Version
Id:
class.ilMultipleChoiceWizardInputGUI.php 24232 2010-06-14 10:58:26Z hschottm

Definition at line 33 of file class.ilMultipleChoiceWizardInputGUI.php.

Member Function Documentation

ilMultipleChoiceWizardInputGUI::checkInput ( )

Check input, strip slashes etc.

set alert, if input is not ok.

Returns
boolean Input ok, true/false

Reimplemented from ilSingleChoiceWizardInputGUI.

Definition at line 62 of file class.ilMultipleChoiceWizardInputGUI.php.

References $_POST, $error, $filename, $lng, $points, ilTextInputGUI\$suffix, ilObjAdvancedEditing\_getUsedHTMLTagsAsString(), ilSubEnabledFormPropertyGUI\checkSubItemsInput(), ilFormPropertyGUI\getPostVar(), ilFormPropertyGUI\getRequired(), ilSingleChoiceWizardInputGUI\getSingleline(), ilSingleChoiceWizardInputGUI\getSuffixes(), ilFormPropertyGUI\setAlert(), ilUtil\stripSlashesRecursive(), and ilUtil\virusHandling().

{
global $lng;
include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
$foundvalues = $_POST[$this->getPostVar()];
if (is_array($foundvalues))
{
// check answers
if (is_array($foundvalues['answer']))
{
foreach ($foundvalues['answer'] as $aidx => $answervalue)
{
if (((strlen($answervalue)) == 0) && (strlen($foundvalues['imagename'][$aidx]) == 0))
{
$this->setAlert($lng->txt("msg_input_is_required"));
return FALSE;
}
}
}
// check points
$max = 0;
if (is_array($foundvalues['points']))
{
foreach ($foundvalues['points'] as $points)
{
if ($points > $max) $max = $points;
if (((strlen($points)) == 0) || (!is_numeric($points)))
{
$this->setAlert($lng->txt("form_msg_numeric_value_required"));
return FALSE;
}
}
foreach ($foundvalues['points_unchecked'] as $points)
{
if ($points > $max) $max = $points;
if (((strlen($points)) == 0) || (!is_numeric($points)))
{
$this->setAlert($lng->txt("form_msg_numeric_value_required"));
return FALSE;
}
}
}
if ($max == 0)
{
$this->setAlert($lng->txt("enter_enough_positive_points"));
return false;
}
if (is_array($_FILES) && count($_FILES) && $this->getSingleline())
{
if (!$this->hideImages)
{
if (is_array($_FILES[$this->getPostVar()]['error']['image']))
{
foreach ($_FILES[$this->getPostVar()]['error']['image'] as $index => $error)
{
// error handling
if ($error > 0)
{
switch ($error)
{
case UPLOAD_ERR_INI_SIZE:
$this->setAlert($lng->txt("form_msg_file_size_exceeds"));
return false;
break;
case UPLOAD_ERR_FORM_SIZE:
$this->setAlert($lng->txt("form_msg_file_size_exceeds"));
return false;
break;
case UPLOAD_ERR_PARTIAL:
$this->setAlert($lng->txt("form_msg_file_partially_uploaded"));
return false;
break;
case UPLOAD_ERR_NO_FILE:
if ($this->getRequired())
{
if ((!strlen($foundvalues['imagename'][$index])) && (!strlen($foundvalues['answer'][$index])))
{
$this->setAlert($lng->txt("form_msg_file_no_upload"));
return false;
}
}
break;
case UPLOAD_ERR_NO_TMP_DIR:
$this->setAlert($lng->txt("form_msg_file_missing_tmp_dir"));
return false;
break;
case UPLOAD_ERR_CANT_WRITE:
$this->setAlert($lng->txt("form_msg_file_cannot_write_to_disk"));
return false;
break;
case UPLOAD_ERR_EXTENSION:
$this->setAlert($lng->txt("form_msg_file_upload_stopped_ext"));
return false;
break;
}
}
}
}
else
{
if ($this->getRequired())
{
$this->setAlert($lng->txt("form_msg_file_no_upload"));
return false;
}
}
if (is_array($_FILES[$this->getPostVar()]['tmp_name']['image']))
{
foreach ($_FILES[$this->getPostVar()]['tmp_name']['image'] as $index => $tmpname)
{
$filename = $_FILES[$this->getPostVar()]['name']['image'][$index];
$filename_arr = pathinfo($filename);
$suffix = $filename_arr["extension"];
$mimetype = $_FILES[$this->getPostVar()]['type']['image'][$index];
$size_bytes = $_FILES[$this->getPostVar()]['size']['image'][$index];
// check suffixes
if (strlen($tmpname) && is_array($this->getSuffixes()))
{
if (!in_array(strtolower($suffix), $this->getSuffixes()))
{
$this->setAlert($lng->txt("form_msg_file_wrong_file_type"));
return false;
}
}
}
}
if (is_array($_FILES[$this->getPostVar()]['tmp_name']['image']))
{
foreach ($_FILES[$this->getPostVar()]['tmp_name']['image'] as $index => $tmpname)
{
$filename = $_FILES[$this->getPostVar()]['name']['image'][$index];
$filename_arr = pathinfo($filename);
$suffix = $filename_arr["extension"];
$mimetype = $_FILES[$this->getPostVar()]['type']['image'][$index];
$size_bytes = $_FILES[$this->getPostVar()]['size']['image'][$index];
// virus handling
if (strlen($tmpname))
{
$vir = ilUtil::virusHandling($tmpname, $filename);
if ($vir[0] == false)
{
$this->setAlert($lng->txt("form_msg_file_virus_found")."<br />".$vir[1]);
return false;
}
}
}
}
}
}
}
else
{
$this->setAlert($lng->txt("msg_input_is_required"));
return FALSE;
}
return $this->checkSubItemsInput();
}

+ Here is the call graph for this function:

ilMultipleChoiceWizardInputGUI::insert ( $a_tpl)

Insert property html.

Returns
int Size

Reimplemented from ilSingleChoiceWizardInputGUI.

Definition at line 237 of file class.ilMultipleChoiceWizardInputGUI.php.

References $lng, ilTextInputGUI\$suffix, $tpl, ilTextInputGUI\$value, ilSingleChoiceWizardInputGUI\getAllowMove(), ilFormPropertyGUI\getDisabled(), ilFormPropertyGUI\getFieldId(), ilUtil\getFileSizeInfo(), ilUtil\getImagePath(), ilTextInputGUI\getMaxLength(), ilFormPropertyGUI\getPostVar(), ilSingleChoiceWizardInputGUI\getSingleline(), ilTextInputGUI\getSize(), ilSingleChoiceWizardInputGUI\getSuffixes(), ilYuiUtil\initDomEvent(), and ilUtil\prepareFormOutput().

{
global $lng;
$tpl = new ilTemplate("tpl.prop_multiplechoicewizardinput.html", true, true, "Modules/TestQuestionPool");
$i = 0;
foreach ($this->values as $value)
{
if ($this->getSingleline())
{
if (!$this->hideImages)
{
if (strlen($value->getImage()))
{
$imagename = $this->qstObject->getImagePathWeb() . $value->getImage();
if (($this->getSingleline()) && ($this->qstObject->getThumbSize()))
{
if (@file_exists($this->qstObject->getImagePath() . $this->qstObject->getThumbPrefix() . $value->getImage()))
{
$imagename = $this->qstObject->getImagePathWeb() . $this->qstObject->getThumbPrefix() . $value->getImage();
}
}
$tpl->setCurrentBlock('image');
$tpl->setVariable('SRC_IMAGE', $imagename);
$tpl->setVariable('IMAGE_NAME', $value->getImage());
$tpl->setVariable('ALT_IMAGE', ilUtil::prepareFormOutput($value->getAnswertext()));
$tpl->setVariable("TXT_DELETE_EXISTING", $lng->txt("delete_existing_file"));
$tpl->setVariable("IMAGE_ROW_NUMBER", $i);
$tpl->setVariable("IMAGE_POST_VAR", $this->getPostVar());
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock('addimage');
$tpl->setVariable("IMAGE_ID", $this->getPostVar() . "[image][$i]");
$tpl->setVariable("IMAGE_SUBMIT", $lng->txt("upload"));
$tpl->setVariable("IMAGE_ROW_NUMBER", $i);
$tpl->setVariable("IMAGE_POST_VAR", $this->getPostVar());
$tpl->parseCurrentBlock();
}
if (is_object($value))
{
$tpl->setCurrentBlock("prop_text_propval");
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getAnswertext()));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("prop_points_propval");
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPointsChecked()));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("prop_points_unchecked_propval");
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPointsUnchecked()));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock('singleline');
$tpl->setVariable("SIZE", $this->getSize());
$tpl->setVariable("SINGLELINE_ID", $this->getPostVar() . "[answer][$i]");
$tpl->setVariable("SINGLELINE_ROW_NUMBER", $i);
$tpl->setVariable("SINGLELINE_POST_VAR", $this->getPostVar());
$tpl->setVariable("MAXLENGTH", $this->getMaxLength());
if ($this->getDisabled())
{
$tpl->setVariable("DISABLED_SINGLELINE", " disabled=\"disabled\"");
}
$tpl->parseCurrentBlock();
}
else if (!$this->getSingleline())
{
if (is_object($value))
{
$tpl->setCurrentBlock("prop_points_propval");
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPoints()));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("prop_points_unchecked_propval");
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getPointsUnchecked()));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock('multiline');
$tpl->setVariable("PROPERTY_VALUE", ilUtil::prepareFormOutput($value->getAnswertext()));
$tpl->setVariable("MULTILINE_ID", $this->getPostVar() . "[answer][$i]");
$tpl->setVariable("MULTILINE_ROW_NUMBER", $i);
$tpl->setVariable("MULTILINE_POST_VAR", $this->getPostVar());
if ($this->getDisabled())
{
$tpl->setVariable("DISABLED_MULTILINE", " disabled=\"disabled\"");
}
$tpl->parseCurrentBlock();
}
if ($this->getAllowMove())
{
$tpl->setCurrentBlock("move");
$tpl->setVariable("CMD_UP", "cmd[up" . $this->getFieldId() . "][$i]");
$tpl->setVariable("CMD_DOWN", "cmd[down" . $this->getFieldId() . "][$i]");
$tpl->setVariable("ID", $this->getPostVar() . "[$i]");
$tpl->setVariable("UP_BUTTON", ilUtil::getImagePath('a_up.gif'));
$tpl->setVariable("DOWN_BUTTON", ilUtil::getImagePath('a_down.gif'));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("row");
$class = ($i % 2 == 0) ? "even" : "odd";
if ($i == 0) $class .= " first";
if ($i == count($this->values)-1) $class .= " last";
$tpl->setVariable("ROW_CLASS", $class);
$tpl->setVariable("POST_VAR", $this->getPostVar());
$tpl->setVariable("ROW_NUMBER", $i);
$tpl->setVariable("ID", $this->getPostVar() . "[answer][$i]");
$tpl->setVariable("POINTS_ID", $this->getPostVar() . "[points][$i]");
$tpl->setVariable("POINTS_UNCHECKED_ID", $this->getPostVar() . "[points_unchecked][$i]");
$tpl->setVariable("CMD_ADD", "cmd[add" . $this->getFieldId() . "][$i]");
$tpl->setVariable("CMD_REMOVE", "cmd[remove" . $this->getFieldId() . "][$i]");
if ($this->getDisabled())
{
$tpl->setVariable("DISABLED_POINTS", " disabled=\"disabled\"");
}
$tpl->setVariable("ADD_BUTTON", ilUtil::getImagePath('edit_add.png'));
$tpl->setVariable("REMOVE_BUTTON", ilUtil::getImagePath('edit_remove.png'));
$tpl->parseCurrentBlock();
$i++;
}
if ($this->getSingleline())
{
if (!$this->hideImages)
{
if (is_array($this->getSuffixes()))
{
$suff_str = $delim = "";
foreach($this->getSuffixes() as $suffix)
{
$suff_str.= $delim.".".$suffix;
$delim = ", ";
}
$tpl->setCurrentBlock('allowed_image_suffixes');
$tpl->setVariable("TXT_ALLOWED_SUFFIXES", $lng->txt("file_allowed_suffixes")." ".$suff_str);
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("image_heading");
$tpl->setVariable("ANSWER_IMAGE", $lng->txt('answer_image'));
$tpl->setVariable("TXT_MAX_SIZE", ilUtil::getFileSizeInfo());
$tpl->parseCurrentBlock();
}
}
$tpl->setVariable("ELEMENT_ID", $this->getPostVar());
$tpl->setVariable("TEXT_YES", $lng->txt('yes'));
$tpl->setVariable("TEXT_NO", $lng->txt('no'));
$tpl->setVariable("DELETE_IMAGE_HEADER", $lng->txt('delete_image_header'));
$tpl->setVariable("DELETE_IMAGE_QUESTION", $lng->txt('delete_image_question'));
$tpl->setVariable("ANSWER_TEXT", $lng->txt('answer_text'));
$tpl->setVariable("POINTS_TEXT", $lng->txt('points'));
$tpl->setVariable("COMMANDS_TEXT", $lng->txt('actions'));
$tpl->setVariable("POINTS_CHECKED_TEXT", $lng->txt('checkbox_checked'));
$tpl->setVariable("POINTS_UNCHECKED_TEXT", $lng->txt('checkbox_unchecked'));
$a_tpl->setCurrentBlock("prop_generic");
$a_tpl->setVariable("PROP_GENERIC", $tpl->get());
$a_tpl->parseCurrentBlock();
global $tpl;
include_once "./Services/YUI/classes/class.ilYuiUtil.php";
$tpl->addJavascript("./Modules/TestQuestionPool/templates/default/multiplechoicewizard.js");
}

+ Here is the call graph for this function:

ilMultipleChoiceWizardInputGUI::setValue (   $a_value)

Set Value.

Parameters
string$a_valueValue

Reimplemented from ilSingleChoiceWizardInputGUI.

Definition at line 40 of file class.ilMultipleChoiceWizardInputGUI.php.

References ilTextInputGUI\$value.

{
$this->values = array();
if (is_array($a_value))
{
if (is_array($a_value['answer']))
{
foreach ($a_value['answer'] as $index => $value)
{
include_once "./Modules/TestQuestionPool/classes/class.assAnswerMultipleResponseImage.php";
$answer = new ASS_AnswerMultipleResponseImage($value, $a_value['points'][$index], $index, $a_value['points_unchecked'][$index], $a_value['imagename'][$index]);
array_push($this->values, $answer);
}
}
}
}

The documentation for this class was generated from the following file: