function checkInput() { global $lng; include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php"; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()], false, ilObjAdvancedEditing::_getUsedHTMLTagsAsString("assessment")); } $foundvalues = $_POST[$this->getPostVar()]; #vd($foundvalues); 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 correctness if (!isset($foundvalues['correctness']) || count($foundvalues['correctness']) < count($foundvalues['answer'])) { $this->setAlert($lng->txt("msg_input_is_required")); return false; } if (!$this->checkUploads($foundvalues)) { return false; } } else { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $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) { $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; } } } if ($max == 0) { $this->setAlert($lng->txt("enter_enough_positive_points")); return false; } } else { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php"; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()], true, ilObjAdvancedEditing::_getUsedHTMLTagsAsString("assessment")); } $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; } } } 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; } } } } 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"]; // check suffixes if (strlen($tmpname) && is_array($this->getSuffixes())) { $vir = ilUtil::virusHandling($tmpname, $filename); if ($vir[0] == false) { $this->setAlert($lng->txt("form_msg_file_virus_found") . "<br />" . $vir[1]); return false; } if (!in_array(strtolower($suffix), $this->getSuffixes())) { $this->setAlert($lng->txt("form_msg_file_wrong_file_type")); return false; } } } } } } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $foundvalues = $_POST[$this->getPostVar()]; $max_points = 0; if (is_array($foundvalues)) { // check answers if (is_array($foundvalues['key']) && is_array($foundvalues['value'])) { foreach ($foundvalues['key'] as $val) { if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } foreach ($foundvalues['value'] as $val) { if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } foreach ($foundvalues['points'] as $val) { if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } if (!is_numeric(str_replace(",", ".", $val))) { $this->setAlert($lng->txt("form_msg_numeric_value_required")); return FALSE; } if ((double) $val <= 0) { $this->setAlert($lng->txt("positive_numbers_required")); return FALSE; } } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $foundvalues = $_POST[$this->getPostVar()]; if (is_array($foundvalues)) { // check answers if (is_array($foundvalues['key']) && is_array($foundvalues['value'])) { foreach ($foundvalues['key'] as $val) { if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } foreach ($foundvalues['value'] as $val) { if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } 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($_POST[$this->getPostVar()]['imagename'][$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; } } } } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $foundvalues = $_POST[$this->getPostVar()]; if (is_array($foundvalues)) { // check answers if (is_array($foundvalues['answer'])) { foreach ($foundvalues['answer'] as $idx => $answervalue) { if (strlen($answervalue) == 0 && ($this->getRequired() && !$foundvalues['other'][$idx])) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } } else { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } return $this->checkSubItemsInput(); }
/** * Strip slashes from array and sub-arrays * * @static * */ public static function stripSlashesRecursive($a_data, $a_strip_html = true, $a_allow = "") { if (is_array($a_data)) { foreach ($a_data as $k => $v) { if (is_array($v)) { $a_data[$k] = ilUtil::stripSlashesRecursive($v, $a_strip_html, $a_allow); } else { $a_data[$k] = ilUtil::stripSlashes($v, $a_strip_html, $a_allow); } } } else { $a_data = ilUtil::stripSlashes($a_data, $a_strip_html, $a_allow); } return $a_data; }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $foundvalues = $_POST[$this->getPostVar()]; if (is_array($foundvalues)) { // check answers if (is_array($foundvalues['term'])) { foreach ($foundvalues['term'] as $val) { if ($this->getRequired() && $val < 1) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } foreach ($foundvalues['definition'] as $val) { if ($this->getRequired() && $val < 1) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } $max = 0; foreach ($foundvalues['points'] as $val) { if ($val > 0) { $max += $val; } if ($this->getRequired() && strlen($val) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } if ($max <= 0) { $this->setAlert($lng->txt("enter_enough_positive_points")); return FALSE; } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } else { if ($this->getRequired()) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } return $this->checkSubItemsInput(); }
public function checkInput() { $error = false; $json = json_decode(ilUtil::stripSlashes($_POST['gap_json_post'])); $_POST['gap'] = ilUtil::stripSlashesRecursive($_POST['gap']); $gaps_used_in_combination = array(); if (array_key_exists('gap_combination', $_POST)) { $_POST['gap_combination'] = ilUtil::stripSlashesRecursive($_POST['gap_combination']); $_POST['gap_combination_values'] = ilUtil::stripSlashesRecursive($_POST['gap_combination_values']); $gap_with_points = array(); for ($i = 0; $i < count($_POST['gap_combination']['select']); $i++) { foreach ($_POST['gap_combination']['select'][$i] as $key => $item) { if ($item == 'none_selected_minus_one') { return false; } $gaps_used_in_combination[$item] = $item; $check_points_for_best_scoring = false; foreach ($_POST['gap_combination_values'][$i] as $index => $answeritems) { foreach ($answeritems as $answeritem) { if ($answeritem == 'none_selected_minus_one') { return false; } } $points = $_POST['gap_combination']['points'][$i][$index]; if ($points > 0) { $check_points_for_best_scoring = true; } } if (!$check_points_for_best_scoring) { return false; } } } } if (isset($_POST['gap']) && is_array($_POST['gap'])) { foreach ($_POST['gap'] as $key => $item) { $_POST['clozetype_' . $key] = ilUtil::stripSlashes($_POST['clozetype_' . $key]); $getType = $_POST['clozetype_' . $key]; $gapsize = $_POST['gap_' . $key . '_gapsize']; $json[0][$key]->text_field_length = $gapsize > 0 ? $gapsize : ''; if ($getType == CLOZE_TEXT || $getType == CLOZE_SELECT) { $_POST['gap_' . $key] = ilUtil::stripSlashesRecursive($_POST['gap_' . $key]); $gapText = $_POST['gap_' . $key]; foreach ($gapText['answer'] as $row => $answer) { if (!isset($answer) || $answer == '') { $error = true; } } $points_sum = 0; if (array_key_exists('points', $gapText)) { foreach ($gapText['points'] as $row => $points) { if (isset($points) && $points != '' && is_numeric($points)) { $points_sum += $points; } else { $error = true; } } if (is_array($gap_with_points) && array_key_exists($key, $gap_with_points)) { $points_sum += $gap_with_points[$key]; } if ($points_sum == 0) { if (!array_key_exists($key, $gaps_used_in_combination)) { $error = true; } } if ($getType == CLOZE_SELECT) { $_POST['shuffle_' . $key] = ilUtil::stripSlashes($_POST['shuffle_' . $key]); if (!isset($_POST['shuffle_' . $key])) { $error = true; } } } else { $error = true; } } if ($getType == CLOZE_NUMERIC) { $_POST['gap_' . $key . 'numeric'] = ilUtil::stripSlashes($_POST['gap_' . $key . 'numeric'], FALSE); $_POST['gap_' . $key . 'numeric_lower'] = ilUtil::stripSlashes($_POST['gap_' . $key . 'numeric_lower'], FALSE); $_POST['gap_' . $key . 'numeric_upper'] = ilUtil::stripSlashes($_POST['gap_' . $key . 'numeric_upper'], FALSE); $_POST['gap_' . $key . 'numeric_points'] = ilUtil::stripSlashes($_POST['gap_' . $key . 'numeric_points']); $mark_errors = array('answer' => false, 'lower' => false, 'upper' => false, 'points' => false); $eval = new EvalMath(); $eval->suppress_errors = true; $formula = $_POST['gap_' . $key . '_numeric']; $result = $eval->e(str_replace(',', '.', $_POST['gap_' . $key . '_numeric'], $formula)); if ($result === false) { $error = true; } $lower = $_POST['gap_' . $key . '_numeric_lower']; $assClozeTestObject = new assClozeTest(); $has_valid_chars = $assClozeTestObject->checkForValidFormula($lower); $result = $eval->e(str_replace(',', '.', $lower), FALSE); if ($result === false || !$has_valid_chars) { $error = true; } $_POST['gap_' . $key . '_numeric_lower'] = $result; $result = $eval->e(str_replace(',', '.', $_POST['gap_' . $key . '_numeric_upper']), FALSE); if ($result === false) { $error = true; } $_POST['gap_' . $key . '_numeric_upper'] = $result; $points = $_POST['gap_' . $key . '_numeric_points']; if (is_array($gap_with_points) && array_key_exists($key, $gap_with_points)) { $points += $gap_with_points[$key]; } if (!isset($points) || $points == '' || !is_numeric($points) || $points == 0) { if (!array_key_exists($key, $gaps_used_in_combination)) { $error = true; } } $json[0][$key]->values[0]->error = $mark_errors; } } } $_POST['gap_json_post'] = json_encode($json); return !$error; }
public function writeAnswerSpecificPostData(ilPropertyFormGUI $form) { if (is_array($_POST['gap'])) { if ($this->ctrl->getCmd() != 'createGaps') { $this->object->clearGapAnswers(); } foreach ($_POST['gap'] as $idx => $hidden) { $clozetype = $_POST['clozetype_' . $idx]; $this->object->setGapType($idx, $clozetype); switch ($clozetype) { case CLOZE_TEXT: $this->object->setGapShuffle($idx, 0); if ($this->ctrl->getCmd() != 'createGaps') { if (is_array($_POST['gap_' . $idx]['answer'])) { foreach ($_POST['gap_' . $idx]['answer'] as $order => $value) { $this->object->addGapAnswer($idx, $order, $value); } } else { $this->object->addGapAnswer($idx, 0, ''); } } if (is_array($_POST['gap_' . $idx]['points'])) { foreach ($_POST['gap_' . $idx]['points'] as $order => $value) { $this->object->setGapAnswerPoints($idx, $order, $value); } } if (array_key_exists('gap_' . $idx . '_gapsize', $_POST)) { $this->object->setGapSize($idx, $order, $_POST['gap_' . $idx . '_gapsize']); } break; case CLOZE_SELECT: $this->object->setGapShuffle($idx, (int) (isset($_POST["shuffle_{$idx}"]) && $_POST["shuffle_{$idx}"])); if ($this->ctrl->getCmd() != 'createGaps') { if (is_array($_POST['gap_' . $idx]['answer'])) { foreach ($_POST['gap_' . $idx]['answer'] as $order => $value) { $this->object->addGapAnswer($idx, $order, $value); } } else { $this->object->addGapAnswer($idx, 0, ''); } } if (is_array($_POST['gap_' . $idx]['points'])) { foreach ($_POST['gap_' . $idx]['points'] as $order => $value) { $this->object->setGapAnswerPoints($idx, $order, $value); } } break; case CLOZE_NUMERIC: $this->object->setGapShuffle($idx, 0); $gap = $this->object->getGap($idx); if (!$gap) { break; } $this->object->getGap($idx)->clearItems(); if (array_key_exists('gap_' . $idx . '_numeric', $_POST)) { if ($this->ctrl->getCmd() != 'createGaps') { $this->object->addGapAnswer($idx, 0, str_replace(",", ".", $_POST['gap_' . $idx . '_numeric'])); } $this->object->setGapAnswerLowerBound($idx, 0, str_replace(",", ".", $_POST['gap_' . $idx . '_numeric_lower'])); $this->object->setGapAnswerUpperBound($idx, 0, str_replace(",", ".", $_POST['gap_' . $idx . '_numeric_upper'])); $this->object->setGapAnswerPoints($idx, 0, $_POST['gap_' . $idx . '_numeric_points']); } else { if ($this->ctrl->getCmd() != 'createGaps') { $this->object->addGapAnswer($idx, 0, ''); } $this->object->setGapAnswerLowerBound($idx, 0, ''); $this->object->setGapAnswerUpperBound($idx, 0, ''); } if (array_key_exists('gap_' . $idx . '_gapsize', $_POST)) { $this->object->setGapSize($idx, $order, $_POST['gap_' . $idx . '_gapsize']); } break; } $assClozeGapCombinationObject = new assClozeGapCombination(); $assClozeGapCombinationObject->clearGapCombinationsFromDb($this->object->getId()); if (count($_POST['gap_combination']) > 0) { $assClozeGapCombinationObject->saveGapCombinationToDb($this->object->getId(), ilUtil::stripSlashesRecursive($_POST['gap_combination']), ilUtil::stripSlashesRecursive($_POST['gap_combination_values'])); } } if ($this->ctrl->getCmd() != 'createGaps') { $this->object->updateClozeTextFromGaps(); } } }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } $foundvalues = $_POST[$this->getPostVar()]; if (is_array($foundvalues)) { // check answers if (is_array($foundvalues['answer'])) { foreach ($foundvalues['answer'] as $idx => $answervalue) { if (strlen($answervalue) == 0 && ($this->getRequired() && !$foundvalues['other'][$idx])) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } // check neutral column if (array_key_exists('neutral', $foundvalues)) { if (strlen($foundvalues['neutral']) == 0 && $this->getRequired) { $this->setAlert($lng->txt("msg_input_is_required")); return false; } } // check scales if (is_array($foundvalues['scale'])) { foreach ($foundvalues['scale'] as $scale) { if (strlen($scale) == 0) { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } } } // check scales if (is_array($foundvalues['scale'])) { if (count(array_unique($foundvalues['scale'])) != count($foundvalues['scale'])) { $this->setAlert($lng->txt("msg_duplicate_scale")); return FALSE; } } // check neutral column scale if (strlen($_POST[$this->postvar . '_neutral_scale'])) { if (is_array($foundvalues['scale'])) { if (in_array($_POST[$this->postvar . '_neutral_scale'], $foundvalues['scale'])) { $this->setAlert($lng->txt("msg_duplicate_scale")); return FALSE; } } } } else { $this->setAlert($lng->txt("msg_input_is_required")); return FALSE; } return $this->checkSubItemsInput(); }
/** * Check input, strip slashes etc. set alert, if input is not ok. * * @return boolean Input ok, true/false */ function checkInput() { global $lng; if (is_array($_POST[$this->getPostVar()])) { $_POST[$this->getPostVar()] = ilUtil::stripSlashesRecursive($_POST[$this->getPostVar()]); } // remove trailing '/' while (substr($_FILES[$this->getPostVar()]["name"], -1) == '/') { $_FILES[$this->getPostVar()]["name"] = substr($_FILES[$this->getPostVar()]["name"], 0, -1); } $filename = $_FILES[$this->getPostVar()]["name"]; $filename_arr = pathinfo($_FILES[$this->getPostVar()]["name"]); $suffix = $filename_arr["extension"]; $mimetype = $_FILES[$this->getPostVar()]["type"]; $size_bytes = $_FILES[$this->getPostVar()]["size"]; $temp_name = $_FILES[$this->getPostVar()]["tmp_name"]; $error = $_FILES[$this->getPostVar()]["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($this->getValue())) { $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; } } // check suffixes if ($_FILES[$this->getPostVar()]["tmp_name"] != "" && is_array($this->getSuffixes())) { if (!in_array(strtolower($suffix), $this->getSuffixes())) { $this->setAlert($lng->txt("form_msg_file_wrong_file_type")); return false; } } // virus handling if ($_FILES[$this->getPostVar()]["tmp_name"] != "") { $vir = ilUtil::virusHandling($temp_name, $filename); if ($vir[0] == false) { $this->setAlert($lng->txt("form_msg_file_virus_found") . "<br />" . $vir[1]); return false; } } $max = 0; if (is_array($_POST[$this->getPostVar()]['coords']['name'])) { foreach ($_POST[$this->getPostVar()]['coords']['name'] as $idx => $name) { if (!strlen($_POST[$this->getPostVar()]['coords']['points'][$idx]) && $this->getRequired) { $this->setAlert($lng->txt('form_msg_area_missing_points')); return false; } if (!is_numeric($_POST[$this->getPostVar()]['coords']['points'][$idx])) { $this->setAlert($lng->txt('form_msg_numeric_value_required')); return false; } if ($_POST[$this->getPostVar()]['coords']['points'][$idx] > 0) { $max = $_POST[$this->getPostVar()]['coords']['points'][$idx]; } } } if ($max == 0 && !$filename) { $this->setAlert($lng->txt("enter_enough_positive_points")); return false; } return true; }