本文整理汇总了PHP中assQuestion::_getReachedPoints方法的典型用法代码示例。如果您正苦于以下问题:PHP assQuestion::_getReachedPoints方法的具体用法?PHP assQuestion::_getReachedPoints怎么用?PHP assQuestion::_getReachedPoints使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类assQuestion
的用法示例。
在下文中一共展示了assQuestion::_getReachedPoints方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPassListOfAnswersWithScoring
/**
* Returns the list of answers of a users test pass and offers a scoring option
*
* @param array $result_array An array containing the results of the users test pass (generated by ilObjTest::getTestResult)
* @param integer $active_id Active ID of the active user
* @param integer $pass Test pass
* @param boolean $show_solutions TRUE, if the solution output should be shown in the answers, FALSE otherwise
* @return string HTML code of the list of answers
* @access public
*
* @deprecated
*/
function getPassListOfAnswersWithScoring(&$result_array, $active_id, $pass, $show_solutions = FALSE)
{
include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
$maintemplate = new ilTemplate("tpl.il_as_tst_list_of_answers.html", TRUE, TRUE, "Modules/Test");
include_once "./Modules/Test/classes/class.ilObjAssessmentFolder.php";
$scoring = ilObjAssessmentFolder::_getManualScoring();
$counter = 1;
// output of questions with solutions
foreach ($result_array as $question_data) {
$question = $question_data["qid"];
if (is_numeric($question)) {
$question_gui = $this->object->createQuestionGUI("", $question);
if (in_array($question_gui->object->getQuestionTypeID(), $scoring)) {
$template = new ilTemplate("tpl.il_as_qpl_question_printview.html", TRUE, TRUE, "Modules/TestQuestionPool");
$scoretemplate = new ilTemplate("tpl.il_as_tst_manual_scoring_points.html", TRUE, TRUE, "Modules/Test");
#mbecker: No such block. $this->tpl->setCurrentBlock("printview_question");
$template->setVariable("COUNTER_QUESTION", $counter . ". ");
$template->setVariable("QUESTION_TITLE", $this->object->getQuestionTitle($question_gui->object->getTitle()));
$points = $question_gui->object->getMaximumPoints();
if ($points == 1) {
$template->setVariable("QUESTION_POINTS", $points . " " . $this->lng->txt("point"));
} else {
$template->setVariable("QUESTION_POINTS", $points . " " . $this->lng->txt("points"));
}
$show_question_only = $this->object->getShowSolutionAnswersOnly() ? TRUE : FALSE;
$result_output = $question_gui->getSolutionOutput($active_id, $pass, $show_solutions, FALSE, $show_question_only, $this->object->getShowSolutionFeedback(), FALSE, TRUE);
$solout = $question_gui->object->getSuggestedSolutionOutput();
if (strlen($solout)) {
$scoretemplate->setCurrentBlock("suggested_solution");
$scoretemplate->setVariable("TEXT_SUGGESTED_SOLUTION", $this->lng->txt("solution_hint"));
$scoretemplate->setVariable("VALUE_SUGGESTED_SOLUTION", $solout);
$scoretemplate->parseCurrentBlock();
}
$scoretemplate->setCurrentBlock("feedback");
$scoretemplate->setVariable("FEEDBACK_NAME_INPUT", $question);
$feedback = $this->object->getManualFeedback($active_id, $question, $pass);
$scoretemplate->setVariable("VALUE_FEEDBACK", ilUtil::prepareFormOutput($this->object->prepareTextareaOutput($feedback, TRUE)));
$scoretemplate->setVariable("TEXT_MANUAL_FEEDBACK", $this->lng->txt("set_manual_feedback"));
$scoretemplate->parseCurrentBlock();
$scoretemplate->setVariable("NAME_INPUT", $question);
$this->ctrl->setParameter($this, "active_id", $active_id);
$this->ctrl->setParameter($this, "pass", $pass);
$scoretemplate->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "manscoring"));
$scoretemplate->setVariable("LABEL_INPUT", $this->lng->txt("tst_change_points_for_question"));
$scoretemplate->setVariable("VALUE_INPUT", " value=\"" . assQuestion::_getReachedPoints($active_id, $question_data["qid"], $pass) . "\"");
$scoretemplate->setVariable("VALUE_SAVE", $this->lng->txt("save"));
$template->setVariable("SOLUTION_OUTPUT", $result_output);
$maintemplate->setCurrentBlock("printview_question");
$maintemplate->setVariable("QUESTION_PRINTVIEW", $template->get());
$maintemplate->setVariable("QUESTION_SCORING", $scoretemplate->get());
$maintemplate->parseCurrentBlock();
}
$counter++;
}
}
if ($counter == 1) {
// no scorable questions found
$maintemplate->setVariable("NO_QUESTIONS_FOUND", $this->lng->txt("manscoring_questions_not_found"));
}
$maintemplate->setVariable("RESULTS_OVERVIEW", sprintf($this->lng->txt("manscoring_results_pass"), $pass + 1));
include_once "./Services/YUI/classes/class.ilYuiUtil.php";
ilYuiUtil::initDomEvent();
return $maintemplate->get();
}
示例2: showManScoringByQuestionParticipantsTable
/**
*
*/
private function showManScoringByQuestionParticipantsTable($manPointsPost = array())
{
/**
* @var $tpl ilTemplate
* @var $ilAccess ilAccessHandler
*/
global $tpl, $ilAccess;
if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
ilUtil::sendInfo($this->lng->txt('cannot_edit_test'), true);
$this->ctrl->redirectByClass('ilobjtestgui', 'infoScreen');
}
include_once 'Services/jQuery/classes/class.iljQueryUtil.php';
iljQueryUtil::initjQuery();
include_once 'Services/YUI/classes/class.ilYuiUtil.php';
ilYuiUtil::initPanel();
ilYuiUtil::initOverlay();
$mathJaxSetting = new ilSetting('MathJax');
if ($mathJaxSetting->get("enable")) {
$tpl->addJavaScript($mathJaxSetting->get("path_to_mathjax"));
}
$tpl->addJavascript('./Services/UIComponent/Overlay/js/ilOverlay.js');
$tpl->addJavaScript("./Services/JavaScript/js/Basic.js");
$tpl->addJavaScript("./Services/Form/js/Form.js");
$tpl->addCss($this->object->getTestStyleLocation("output"), "screen");
require_once 'Modules/Test/classes/tables/class.ilTestManScoringParticipantsBySelectedQuestionAndPassTableGUI.php';
$table = new ilTestManScoringParticipantsBySelectedQuestionAndPassTableGUI($this);
$table->setManualScoringPointsPostData($manPointsPost);
$qst_id = $table->getFilterItemByPostVar('question')->getValue();
$pass_id = $table->getFilterItemByPostVar('pass')->getValue();
$table_data = array();
$selected_questionData = null;
if (is_numeric($qst_id)) {
$scoring = ilObjAssessmentFolder::_getManualScoring();
$info = assQuestion::_getQuestionInfo($qst_id);
$selected_questionData = $info;
$type = $info["question_type_fi"];
if (in_array($type, $scoring)) {
$selected_questionData = $info;
}
}
if ($selected_questionData && is_numeric($pass_id)) {
$data = $this->object->getCompleteEvaluationData(FALSE);
foreach ($data->getParticipants() as $active_id => $participant) {
$testResultData = $this->object->getTestResult($active_id, $pass_id - 1);
foreach ($testResultData as $questionData) {
if (!isset($questionData['qid']) || $questionData['qid'] != $selected_questionData['question_id']) {
continue;
}
$table_data[] = array('pass_id' => $pass_id - 1, 'active_id' => $active_id, 'qst_id' => $questionData['qid'], 'reached_points' => assQuestion::_getReachedPoints($active_id, $questionData['qid'], $pass_id - 1), 'maximum_points' => assQuestion::_getMaximumPoints($questionData['qid']), 'participant' => $participant);
}
}
} else {
$table->disable('header');
}
if ($selected_questionData) {
$maxpoints = assQuestion::_getMaximumPoints($selected_questionData['question_id']);
if ($maxpoints == 1) {
$maxpoints = ' (' . $maxpoints . ' ' . $this->lng->txt('point') . ')';
} else {
$maxpoints = ' (' . $maxpoints . ' ' . $this->lng->txt('points') . ')';
}
$table->setTitle($this->lng->txt('tst_man_scoring_by_qst') . ': ' . $selected_questionData['title'] . $maxpoints . ' [' . $this->lng->txt('question_id_short') . ': ' . $selected_questionData['question_id'] . ']');
} else {
$table->setTitle($this->lng->txt('tst_man_scoring_by_qst'));
}
$table->setData($table_data);
$tpl->setContent($table->getHTML());
}
示例3: buildManScoringParticipantForm
private function buildManScoringParticipantForm($questionGuiList, $activeId, $pass, $initValues = false)
{
global $ilCtrl, $lng;
require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
require_once 'Services/Form/classes/class.ilFormSectionHeaderGUI.php';
require_once 'Services/Form/classes/class.ilCustomInputGUI.php';
require_once 'Services/Form/classes/class.ilCheckboxInputGUI.php';
require_once 'Services/Form/classes/class.ilTextInputGUI.php';
require_once 'Services/Form/classes/class.ilTextAreaInputGUI.php';
$ilCtrl->setParameter($this, 'active_id', $activeId);
$ilCtrl->setParameter($this, 'pass', $pass);
$form = new ilPropertyFormGUI();
$form->setFormAction($ilCtrl->getFormAction($this));
$form->setTitle(sprintf($lng->txt('manscoring_results_pass'), $pass + 1));
$form->setTableWidth('100%');
foreach ($questionGuiList as $questionId => $questionGUI) {
$questionHeader = sprintf($lng->txt('tst_manscoring_question_section_header'), $questionGUI->object->getTitle());
$questionSolution = $questionGUI->getSolutionOutput($activeId, $pass, false, false, true, false, false, true);
$bestSolution = $questionGUI->object->getSuggestedSolutionOutput();
$sect = new ilFormSectionHeaderGUI();
$sect->setTitle($questionHeader . ' [' . $this->lng->txt('question_id_short') . ': ' . $questionGUI->object->getId() . ']');
$form->addItem($sect);
$cust = new ilCustomInputGUI($lng->txt('tst_manscoring_input_question_and_user_solution'));
$cust->setHtml($questionSolution);
$form->addItem($cust);
$text = new ilTextInputGUI($lng->txt('tst_change_points_for_question'), "question__{$questionId}__points");
if ($initValues) {
$text->setValue(assQuestion::_getReachedPoints($activeId, $questionId, $pass));
}
$form->addItem($text);
$nonedit = new ilNonEditableValueGUI($lng->txt('tst_manscoring_input_max_points_for_question'), "question__{$questionId}__maxpoints");
if ($initValues) {
$nonedit->setValue(assQuestion::_getMaximumPoints($questionId));
}
$form->addItem($nonedit);
$area = new ilTextAreaInputGUI($lng->txt('set_manual_feedback'), "question__{$questionId}__feedback");
$area->setUseRTE(true);
if ($initValues) {
$area->setValue($this->object->getManualFeedback($activeId, $questionId, $pass));
}
$form->addItem($area);
if (strlen(trim($bestSolution))) {
$cust = new ilCustomInputGUI($lng->txt('tst_show_solution_suggested'));
$cust->setHtml($bestSolution);
$form->addItem($cust);
}
}
$sect = new ilFormSectionHeaderGUI();
$sect->setTitle($lng->txt('tst_participant'));
$form->addItem($sect);
$check = new ilCheckboxInputGUI($lng->txt('set_manscoring_done'), 'manscoring_done');
if ($initValues && ilTestService::isManScoringDone($activeId)) {
$check->setChecked(true);
}
$form->addItem($check);
$check = new ilCheckboxInputGUI($lng->txt('tst_manscoring_user_notification'), 'manscoring_notify');
$form->addItem($check);
$form->addCommandButton('saveManScoringParticipantScreen', $lng->txt('save'));
$form->addCommandButton('saveReturnManScoringParticipantScreen', $lng->txt('save_return'));
$form->addCommandButton('saveNextManScoringParticipantScreen', $lng->txt('save_and_next'));
return $form;
}
示例4: isQuestionAnsweredCorrect
private function isQuestionAnsweredCorrect($questionId, $activeId)
{
$questionGUI = $this->object->createQuestionGUI("", $questionId);
$reachedPoints = assQuestion::_getReachedPoints($activeId, $questionId, 0);
$maxPoints = $questionGUI->object->getMaximumPoints();
if ($reachedPoints < $maxPoints) {
return false;
}
return true;
}