set_url('/mod/hotpot/report.php', array('id'=>$id)); if (! $cm = get_coursemodule_from_id('hotpot', $id)) { print_error('invalidcoursemodule'); } if (! $course = $DB->get_record("course", array("id"=>$cm->course))) { print_error('coursemisconf'); } if (! $hotpot = $DB->get_record("hotpot", array("id"=>$cm->instance))) { print_error('invalidcoursemodule'); } } else { $PAGE->set_url('/mod/hotpot/report.php', array('hp'=>$hp)); if (! $hotpot = $DB->get_record("hotpot", array("id"=>$hp))) { print_error('invalidhotpotid', 'hotpot'); } if (! $course = $DB->get_record("course", array("id"=>$hotpot->course))) { print_error('coursemisconf'); } if (! $cm = get_coursemodule_from_instance("hotpot", $hotpot->id, $course->id)) { print_error('invalidcoursemodule'); } } require_login($course, true, $cm); $context = get_context_instance(CONTEXT_MODULE, $cm->id); require_capability('mod/hotpot:attempt', $context, $USER->id); } // set nextpage (for error messages) $nextpage = "$CFG->wwwroot/course/view.php?id=$course->id"; // header strings $title = format_string($course->shortname.': '.$hotpot->name, true); $heading = $course->fullname; $button = update_module_button($cm->id, $course->id, get_string("modulename", "hotpot")); $button = '
')) { $insert = '' .''."\n" ; $hp->html = substr_replace($hp->html, $insert, $pos, 0); } $hp->remove_nav_buttons(); break; default: $hp->remove_nav_buttons(); } if (isset($hp->real_outputformat) && $hp->real_outputformat==HOTPOT_OUTPUTFORMAT_MOBILE) { $hp->insert_submission_form($attemptid, '', '', true); } else { $hp->insert_submission_form($attemptid, '', '', false, $targetframe); } } else { // HP5 v5 switch ($hotpot->navigation) { case HOTPOT_NAVIGATION_BUTTONS: // convert URLs in nav buttons break; case HOTPOT_NAVIGATION_GIVEUP: // $hp->insert_giveup_form($attemptid, '', ''); break; default: // remove navigation buttons $hp->html = preg_replace('#NavBar\+=(.*);#', '', $hp->html); } $hp->insert_submission_form($attemptid, "var NavBar='", "';"); } } } //FEEDBACK = new Array(); //FEEDBACK[0] = ''; // url of feedback page/script //FEEDBACK[1] = ''; // array of array('teachername', 'value'); //FEEDBACK[2] = ''; // 'student name' [formmail only] //FEEDBACK[3] = ''; // 'student email' [formmail only] //FEEDBACK[4] = ''; // window width //FEEDBACK[5] = ''; // window height //FEEDBACK[6] = ''; // 'Send a message to teacher' [prompt/button text] //FEEDBACK[7] = ''; // 'Title' //FEEDBACK[8] = ''; // 'Teacher' //FEEDBACK[9] = ''; // 'Message' //FEEDBACK[10] = ''; // 'Close this window' $feedback = array(); switch ($hotpot->studentfeedback) { case HOTPOT_FEEDBACK_NONE: // do nothing break; case HOTPOT_FEEDBACK_WEBPAGE: if (empty($hotpot->studentfeedbackurl)) { $hotpot->studentfeedback = HOTPOT_FEEDBACK_NONE; } else { $feedback[0] = "'$hotpot->studentfeedbackurl'"; } break; case HOTPOT_FEEDBACK_FORMMAIL: $teachers = hotpot_feedback_teachers($course, $hotpot); if (empty($teachers) || empty($hotpot->studentfeedbackurl)) { $hotpot->studentfeedback = HOTPOT_FEEDBACK_NONE; } else { $feedback[0] = "'$hotpot->studentfeedbackurl'"; $feedback[1] = $teachers; $feedback[2] = "'".fullname($USER)."'"; $feedback[3] = "'".$USER->email."'"; $feedback[4] = 500; // width $feedback[5] = 300; // height } break; case HOTPOT_FEEDBACK_MOODLEFORUM: $module = $DB->get_record('modules', array('name'=>'forum')); $forums = $DB->get_records('forum', array('course'=>$course->id)); if (empty($module) || empty($module->visible) || empty($forums)) { $hotpot->studentfeedback = HOTPOT_FEEDBACK_NONE; } else { $feedback[0] = "'$CFG->wwwroot/mod/forum/index.php?id=$course->id'"; } break; case HOTPOT_FEEDBACK_MOODLEMESSAGING: $teachers = hotpot_feedback_teachers($course, $hotpot); if (empty($CFG->messaging) || empty($teachers)) { $hotpot->studentfeedback = HOTPOT_FEEDBACK_NONE; } else { $feedback[0] = "'$CFG->wwwroot/message/discussion.php?id='"; $feedback[1] = $teachers; $feedback[4] = 400; // width $feedback[5] = 500; // height } break; default: // do nothing } if ($hotpot->studentfeedback != HOTPOT_FEEDBACK_NONE) { $feedback[6] = "'Send a message to teacher'"; $feedback[7] = "'Title'"; $feedback[8] = "'Teacher'"; $feedback[9] = "'Message'"; $feedback[10] = "'Close this window'"; $js = ''; foreach ($feedback as $i=>$str) { $js .= 'FEEDBACK['.$i."] = $str;\n"; } $js = '\n"; $hp->html = preg_replace('||i', "$js", $hp->html, 1); } // insert hot-potatoes.js $hp->insert_script(HOTPOT_JS); // get Moodle pageid and pageclass $pageid = $PAGE->pagetype; // extract first
tag $head = ''; $pattern = '|
]*)>(.*?)|is'; if (preg_match($pattern, $hp->html, $matches)) { $head = $matches[2]; // remove