/** * Creates a draft status information in HTML format * * @param unknown $draftid * @param unknown $status * @param unknown $qc * @param unknown $criteriaids * @param unknown $criteriascores * @param unknown $comments * @param unknown $pctmarked * @param unknown $pctmarkeduser * @param unknown $regrades * @param unknown $pages * @param unknown $numcriteria * @param unknown $numcriteriauser * @param unknown $emarking * @return string */ function emarking_get_draft_status_info($draftid, $status, $qc, $criteriaids, $criteriascores, $comments, $pctmarked, $pctmarkeduser, $regrades, $pages, $numcriteria, $numcriteriauser, $emarking, $rubriccriteria) { global $OUTPUT; // If the draft is published or the student was absent just show the icon if ($status <= EMARKING_STATUS_ABSENT || $status == EMARKING_STATUS_PUBLISHED || $status == EMARKING_STATUS_GRADING && $pctmarked == 100) { return emarking_get_draft_status_icon($status, true, 100); } if ($emarking->type == EMARKING_TYPE_NORMAL && ($status == EMARKING_STATUS_GRADING || $status == EMARKING_STATUS_SUBMITTED)) { // Completion matrix $matrix = ''; $markedcriteria = explode(",", $criteriaids); $markedcriteriascores = explode(",", $criteriascores); if (count($markedcriteria) > 0 && $numcriteria > 0) { $matrix = "<div id='sub-{$draftid}' style='display:none;'>\n <table width='100%'>"; $matrix .= "<tr><th>" . get_string('criterion', 'mod_emarking') . "</th><th style='text-align:center'>" . get_string('corrected', 'mod_emarking') . "</th></tr>"; foreach ($rubriccriteria->rubric_criteria as $criterion) { $matrix .= "<tr><td>" . $criterion['description'] . "</td><td style='text-align:center'>"; $key = array_search($criterion['id'], $markedcriteria); if ($key !== false) { $matrix .= $OUTPUT->pix_icon('i/completion-manual-y', round($markedcriteriascores[$key], 1) . "pts"); } else { $matrix .= $OUTPUT->pix_icon('i/completion-manual-n', null); } $matrix .= "</td></tr>"; } $matrix .= "</table></div>"; } $matrixlink = "<div class=\"progress\"><a style='cursor:pointer;' onclick='\$(\"#sub-{$draftid}\").dialog({modal:true,buttons:{Ok: function(){\$(this).dialog(\"close\");}}});'>\n <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"{$pctmarked}\"\n aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:{$pctmarked}%\">\n <span class=\"sr-only\">{$pctmarked}%</span>\n </div></a>\n </div>" . $matrix; return $matrixlink; } if ($status == EMARKING_STATUS_REGRADING) { // Percentage of criteria already marked for this draft $pctmarkedtitle = $numcriteria - $comments . " pending criteria"; $matrixlink = "" . ($numcriteriauser > 0 ? $pctmarkeduser . "% / " : '') . $pctmarked . "%" . ($regrades > 0 ? '<br/>' . $regrades . ' ' . get_string('regradespending', 'mod_emarking') : ''); } $statushtml = $qc == 0 ? emarking_get_draft_status_icon($status, true) : $OUTPUT->pix_icon('i/completion-auto-y', get_string("qualitycontrol", "mod_emarking")); // Add warning icon if there are missing pages in draft if ($emarking->totalpages > 0 && $emarking->totalpages > $pages && $status > EMARKING_STATUS_MISSING) { $statushtml .= $OUTPUT->pix_icon('i/risk_xss', get_string('missingpages', 'mod_emarking')); } return $statushtml; }
/** * Creates a draft status information in HTML format * * @param unknown $draftid * @param unknown $status * @param unknown $qc * @param unknown $criteriaids * @param unknown $criteriascores * @param unknown $comments * @param unknown $pctmarked * @param unknown $pctmarkeduser * @param unknown $regrades * @param unknown $pages * @param unknown $numcriteria * @param unknown $numcriteriauser * @param unknown $emarking * @return string */ function emarking_get_draft_status_info($exam, $d, $numcriteria, $numcriteriauser, $emarking, $rubriccriteria) { global $OUTPUT; // Add warning icon if there are missing pages in draft. $totalpages = $exam->usebackside == 0 ? $exam->totalpages : $exam->totalpages * 2; $missingpages = $totalpages > 0 && $totalpages > $d->pages && $d->status > EMARKING_STATUS_MISSING; $missingpagesmessage = $missingpages ? $OUTPUT->pix_icon('i/risk_xss', get_string('missingpages', 'mod_emarking')) : ''; // If the draft is published or the student was absent just show the icon. if ($d->status <= EMARKING_STATUS_ABSENT || $d->status == EMARKING_STATUS_PUBLISHED || $d->status == EMARKING_STATUS_GRADING && $d->pctmarked == 100) { return emarking_get_draft_status_icon($d->status, true, 100) . $missingpagesmessage; } if (($emarking->type == EMARKING_TYPE_ON_SCREEN_MARKING || $emarking->type == EMARKING_TYPE_PEER_REVIEW) && ($d->status == EMARKING_STATUS_GRADING || $d->status == EMARKING_STATUS_SUBMITTED)) { // Completion matrix. $matrix = ''; $markedcriteria = explode(",", $d->criteriaids); $markedcriteriascores = explode(",", $d->criteriascores); if (count($markedcriteria) > 0 && $numcriteria > 0) { $matrix = "<div id='sub-{$d->id}' style='display:none;'>\n <table width='100%'>"; $matrix .= "<tr><th>" . get_string('criterion', 'mod_emarking') . "</th><th style='text-align:center'>" . get_string('corrected', 'mod_emarking') . "</th></tr>"; foreach ($rubriccriteria->rubric_criteria as $criterion) { $matrix .= "<tr><td>" . $criterion['description'] . "</td><td style='text-align:center'>"; $key = array_search($criterion['id'], $markedcriteria); if ($key !== false) { $matrix .= $OUTPUT->pix_icon('i/completion-manual-y', round($markedcriteriascores[$key], 1) . "pts"); } else { $matrix .= $OUTPUT->pix_icon('i/completion-manual-n', null); } $matrix .= "</td></tr>"; } $matrix .= "</table></div>"; } $pct = round($d->pctmarked, 0); $matrixlink = html_writer::start_div(); $matrixlink .= emarking_get_progress_circle($d->pctmarked, 'green', 'onclick=\'$("#sub-' . $d->id . '").dialog({modal:true,buttons:{Ok: function(){$(this).dialog("close");}}});\'', get_string('marking_progress', 'mod_emarking')) . $matrix; if ($numcriteriauser > 0) { $matrixlink .= emarking_get_progress_circle($d->pctmarkeduser, 'orange', '', get_string('yourcontribution', 'mod_emarking')); } $matrixlink .= html_writer::end_div(); return $matrixlink . $missingpagesmessage; } if ($d->status == EMARKING_STATUS_REGRADING) { // Percentage of criteria already marked for this draft. $pctmarkedtitle = $numcriteria - $d->comments . " pending criteria"; $matrixlink = "" . ($numcriteriauser > 0 ? $d->pctmarkeduser . "% / " : '') . $d->pctmarked . "%" . ($d->regrades > 0 ? '<br/>' . $d->regrades . ' ' . get_string('regradespending', 'mod_emarking') : ''); } $statushtml = $d->qc == 0 ? emarking_get_draft_status_icon($d->status, true) : $OUTPUT->pix_icon('i/completion-auto-y', get_string("qualitycontrol", "mod_emarking")); return $statushtml . $missingpagesmessage; }