function cloneExamInstance($id, $ownerID, $userID) { $enumLib = new EnumLib(); $examdef = simplexml_load_string($enumLib->exportAssessment($id)); $overview = simplexml_load_string($enumLib->getExamInstanceOverviewByID($id)); $overviewResult = simplexml_load_string($this->newExamInstance($examdef->overview->data->instance->name, $examdef->overview->data->instance->description, $examdef->overview->data->instance->unit_id, $examdef->overview->data->instance->scale_id, $ownerID, $userID, $examdef->feedbackemailstem->data->text)); //public function newExamInstance($name, $description, $unitid, $scaleid, $ownerID, $userID, $feedbackstem = "") if (!isset($overviewResult->error)) { // if there's no error, upload questions foreach ($examdef->questiondata->data->question as $question) { $insertQuestionResult = simplexml_load_string($this->addQuestionToInstance($overviewResult->id, $question->text, $question->type, $userID)); // if (isset($insertQuestionResult->error)) { $this->deleteInstance($overviewResult->id); return "<data><error>import failed</error></data>"; } } } else { return "<data><error>{$overviewResult->error}</error></data>"; } }
$reportslib = new ReportsLib(); $phpexcelObj = $reportslib->getSummaryReportAsExcel($_REQUEST['exam_ID']); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="OSCE Summary for ' . $overview->instance->name . '.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = new PHPExcel_Writer_Excel2007($phpexcelObj); $objWriter->save('php://output'); break; case 'getreportforallformsasexcel': include 'lib/EnumLib.php'; include 'lib/PHPExcel.php'; include 'lib/ReportsLib.php'; $reportslib = new ReportsLib(); // print('yo'); $enumlib = new EnumLib(); $overview = simplexml_load_string($enumlib->getExamInstanceOverviewByID($_REQUEST['exam_ID'])); $phpexcelObj = $reportslib->getFullReportAsExcel($_REQUEST['exam_ID']); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="OSCE Analysis report for ' . $overview->instance->name . '.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = new PHPExcel_Writer_Excel2007($phpexcelObj); $objWriter->save('php://output'); break; case 'getallreportsforsessionaspdf': include 'lib/EnumLib.php'; include 'lib/mpdf60/mpdf.php'; include 'lib/ReportsLib.php'; include 'lib/StringLib.php'; $reportslib = new ReportsLib(); $reportslib->getAllReportsForStudentsAsPDF($_REQUEST['exam_ID']); break;
$menuStr .= "</div></div></li>"; } if ($authlib->user_has_capability($loggedinuserdata->userID, $authlib::roles_view_reports)) { $menuStr .= "<li><div style='vertical-align: middle; display:table;'>" . "<div style='display:table-cell; vertical-align:middle'><input type='image' src='{$CFG->wwwroot}{$CFG->basedir}icons/dialog-question.png' BORDER='0' onclick='showHelp(\"{$stringlib->get_string('reports_help')}\"); return false;'/></div>" . "<div style='float:left;display:table-cell; vertical-align:middle'>"; $menuStr .= $patharr[$i - 1] == 'reports' ? "<span class='currentmenulocation'>{$stringlib->get_string('reports_help')}</span>" : "<a href='javascript:window.location.assign(\"{$CFG->wwwroot}{$CFG->basedir}reports/\")'>{$stringlib->get_string('reports_index_label')}</a>"; } if ($authlib->user_has_capability($loggedinuserdata->userID, $authlib::roles_view_assessments)) { $menuStr .= "<li><div style='vertical-align: middle; display:table;'>" . "<div style='display:table-cell; vertical-align:middle'><input type='image' src='{$CFG->wwwroot}{$CFG->basedir}icons/dialog-question.png' BORDER='0' onclick='showHelp(\"{$stringlib->get_string('osce_archive_help')}\"); return false;'/></div>" . "<div style='float:left;display:table-cell; vertical-align:middle'>"; $menuStr .= $patharr[$i - 1] == 'archive' ? "<span class='currentmenulocation'>{$stringlib->get_string('eosce_archive')}</span>" : "<a href='javascript:window.location.assign(\"{$CFG->wwwroot}{$CFG->basedir}archive/\")'>{$stringlib->get_string('eosce_archive')}</a>"; $menuStr .= "</div></div></li>"; } $menuStr .= "</ul><li>"; } $from = isset($_REQUEST['from']) ? $_REQUEST['from'] > 0 ? $_REQUEST['from'] : 0 : 0; $increment = 10; $instanceData = simplexml_load_string($enumlib->getExamInstanceOverviewByID($_REQUEST['id'])); $questiondata = simplexml_load_string($enumlib->getQuestionsForSession($_REQUEST['id'])); // is this locked? $locked = strval($instanceData->instance[0]->finalised) == 'true'; // exam active? $active = strval($instanceData->instance[0]->active) == 'true'; // is it in practice mode? $practicing = strval($instanceData->instance[0]->practicing) == 'true'; // is the currently logged on user an admin or the owner? $isowner = strval($loggedinuserdata->userID) == strval($instanceData->instance[0]->owner_id) || $authlib->user_has_capability($loggedinuserdata->userID, $authlib::roles_finalise_other_assessment); $listTableStr = "<table id='questionstbl'><thead><tr><th style='width:50px;'>Reorder</th>\n <th>Edit</th>\n <th>{$stringlib->get_string('assessment_item_list_type')}<input type='image' src='{$CFG->wwwroot}{$CFG->basedir}/icons/dialog-question.png' BORDER='0' style='vertical-align: middle; display:table-cell' onclick='showHelp(\"{$stringlib->get_string('item_type_help_string')}\"); return false;'/></th><th>{$stringlib->get_string('assessment_item_list_text')}</th><th>{$stringlib->get_string('assessment_item_list_remove')}</th></tr></thead><tbody>"; foreach ($questiondata->question as $question) { $listTableStr .= "<tr class='sortablerow' entryid='{$question->id}'><td class='draghandle'><img src='{$CFG->wwwroot}{$CFG->basedir}/icons/object-flip-vertical.png'/></td>\n <td class='editimg'>\n <input type='image' src='{$CFG->wwwroot}{$CFG->basedir}/icons/gtk-edit.png' BORDER='0' style='vertical-align: middle; display:table-cell' onclick='edit_question_popup(\"{$question->id}\"); return false;'/></td>\n <td>" . ($question->type == '1' ? 'Yes' : 'No') . "</td>\n <td>{$question->text}</td>\n \n "; $listTableStr .= "<td class='deletehandle'><input type='image' src='{$CFG->wwwroot}{$CFG->basedir}/icons/gtk-cancel.png' BORDER='0' style='vertical-align: text-bottom;' onclick='delete_question({$question->id}); return false;'/></td></tr>"; } $listTableStr .= "</tbody></table>";