/** * Creates a the cumulated results data for the question * * @return array Data */ public function getCumulatedResultData($survey_id, $counter, $finished_ids) { $cumulated =& $this->calculateCumulatedResults($survey_id, $finished_ids); $questiontext = preg_replace("/\\<[^>]+?>/ims", "", $this->getQuestiontext()); $maxlen = 75; include_once "./Services/Utilities/classes/class.ilStr.php"; if (ilStr::strlen($questiontext) > $maxlen + 3) { $questiontext = ilStr::substr($questiontext, 0, $maxlen) . "..."; } $result = array('counter' => $counter, 'title' => $counter . '. ' . $this->getTitle(), 'question' => $questiontext, 'users_answered' => $cumulated['USERS_ANSWERED'], 'users_skipped' => $cumulated['USERS_SKIPPED'], 'question_type' => $this->lng->txt($cumulated["QUESTION_TYPE"]), 'mode' => $cumulated["MODE"], 'mode_nr_of_selections' => $cumulated["MODE_NR_OF_SELECTIONS"], 'median' => $cumulated["MEDIAN"], 'arithmetic_mean' => $cumulated["ARITHMETIC_MEAN"]); return $result; }
public function createErrorTextExport($selections = null) { $counter = 0; $errorcounter = 0; include_once "./Services/Utilities/classes/class.ilStr.php"; if (!is_array($selections)) { $selections = array(); } $textarray = preg_split("/[\n\r]+/", $this->getErrorText()); foreach ($textarray as $textidx => $text) { $items = preg_split("/\\s+/", $text); foreach ($items as $idx => $item) { if (($posHash = strpos($item, '#')) === 0 || ($posOpeningBrackets = strpos($item, '((')) === 0 || ($posClosingBrackets = strpos($item, '))')) !== false) { /* (Word|Passage)-Marking delimiter found. */ if ($posHash !== false) { $item = ilStr::substr($item, 1, ilStr::strlen($item) - 1); } elseif ($posOpeningBrackets !== false) { $item = ilStr::substr($item, 2, ilStr::strlen($item) - 2); /* Sometimes a closing bracket group needs to be removed as well. */ if (strpos($item, '))') !== false) { $item = ilStr::substr($item, 0, ilStr::strlen($item) - 2); } } else { $appendComma = ""; if ($item[$posClosingBrackets + 2] == ',') { $appendComma = ","; } $item = ilStr::substr($item, 0, $posClosingBrackets) . $appendComma; } } $word = ""; if (in_array($counter, $selections)) { $word .= '#'; } $word .= ilUtil::prepareFormOutput($item); if (in_array($counter, $selections)) { $word .= '#'; } $items[$idx] = $word; $counter++; } $textarray[$textidx] = join($items, " "); } return join($textarray, "\n"); }
public function createErrorTextExport($selections = null) { $counter = 0; $errorcounter = 0; include_once "./Services/Utilities/classes/class.ilStr.php"; if (!is_array($selections)) { $selections = array(); } $textarray = preg_split("/[\n\r]+/", $this->getErrorText()); foreach ($textarray as $textidx => $text) { $items = preg_split("/\\s+/", $text); foreach ($items as $idx => $item) { if (strpos($item, '#') === 0) { $item = ilStr::substr($item, 1, ilStr::strlen($item)); if ($correct_solution) { $errorobject = $this->errordata[$errorcounter]; if (is_object($errorobject)) { $item = $errorobject->text_correct; } $errorcounter++; } } $word = ""; if (in_array($counter, $selections)) { $word .= '#'; } $word .= ilUtil::prepareFormOutput($item); if (in_array($counter, $selections)) { $word .= '#'; } $items[$idx] = $word; $counter++; } $textarray[$textidx] = join($items, " "); } return join($textarray, "\n"); }