unset($ACCESSLIB_PRIVATE->contexts[$contextlevel][$instanceid]);
unset($ACCESSLIB_PRIVATE->contextsbyid[$context->id]);
+ blocks_delete_all_for_context($context->id);
filter_delete_all_for_context($context->id);
return $result;
return $DB->delete_records('block_instance_old', array('pageid' => $pageid, 'pagetype' => $pagetype));
}
+function blocks_delete_all_for_context($contextid) {
+ global $DB;
+ $instances = $DB->get_recordset('block_instances', array('contextid' => $contextid));
+ foreach ($instances as $instance) {
+ delete_context(CONTEXT_BLOCK, $instance->id);
+ }
+ $instances->close();
+ $DB->delete_records('block_instances', array('contextid' => $contextid));
+ $DB->delete_records('block_positions', array('contextid' => $contextid));
+}
+
// Dispite what this function is called, it seems to be mostly used to populate
// the default blocks when a new course (or whatever) is created.
function blocks_repopulate_page($page) {
* @package quiz
*/
-require_once($CFG->libdir . '/pagelib.php');
require_once($CFG->libdir . '/eventslib.php');
/// CONSTANTS ///////////////////////////////////////////////////////////////////
$DB->delete_records('quiz_question_instances', array('quiz' => $quiz->id));
$DB->delete_records('quiz_feedback', array('quizid' => $quiz->id));
- $pagetypes = page_import_types('mod/quiz/');
- foreach($pagetypes as $pagetype) {
- blocks_delete_all_on_page($pagetype, $quiz->id);
- }
-
$events = $DB->get_records('event', array('modulename' => 'quiz', 'instance' => $quiz->id));
foreach($events as $event) {
delete_event($event->id);
+++ /dev/null
-<?php // $Id$
-
-require_once($CFG->libdir.'/pagelib.php');
-require_once($CFG->dirroot.'/course/lib.php'); // needed for some blocks
-
-define('PAGE_QUIZ_VIEW', 'mod-quiz-view');
-
-page_map_class(PAGE_QUIZ_VIEW, 'page_quiz');
-
-$DEFINEDPAGES = array(PAGE_QUIZ_VIEW);
-
-/**
- * Class that models the behavior of a quiz
- *
- * @author Jon Papaioannou
- * @package pages
- */
-
-class page_quiz extends page_generic_activity {
-
- function init_quick($data) {
- if(empty($data->pageid)) {
- print_error('cannotinitpage', 'debug', '', (object)array('name'=>'quiz', 'id'=>'?'));
- }
- $this->activityname = 'quiz';
- parent::init_quick($data);
- }
-}
-
-?>
require_once(dirname(__FILE__) . '/../../config.php');
require_once($CFG->libdir.'/gradelib.php');
require_once($CFG->dirroot.'/mod/quiz/locallib.php');
- require_once($CFG->dirroot.'/mod/quiz/pagelib.php');
$id = optional_param('id', 0, PARAM_INT); // Course Module ID, or
$q = optional_param('q', 0, PARAM_INT); // quiz ID
add_to_log($course->id, "quiz", "view", "view.php?id=$cm->id", $quiz->id, $cm->id);
/// Initialize $PAGE, compute blocks
- $PAGE = page_create_instance($quiz->id);
$PAGE->set_url('mod/quiz/view.php', array('id' => $cm->id));
$pageblocks = blocks_setup($PAGE);
$blocks_preferred_width = bounded_number(180, blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]), 210);
$bodytags = 'onload="popupchecker(\'' . get_string('popupblockerwarning', 'quiz') . '\');"';
}
require_js(array('yui_yahoo', 'yui_event'));
- $PAGE->print_header($course->shortname.': %fullname%','',$bodytags);
+
+ $title = $course->shortname . ': ' . format_string($quiz->name);
+
+ $buttons = '<table><tr><td>'.update_module_button($cm->id, $course->id, get_string('modulename', 'quiz')).'</td>';
+ if ($PAGE->user_allowed_editing() && !empty($CFG->showblocksonmodpages)) {
+ $buttons .= '<td><form '.$CFG->frametarget.' method="get" action="view.php"><div>'.
+ '<input type="hidden" name="id" value="'.$cm->id.'" />'.
+ '<input type="hidden" name="edit" value="'.($PAGE->user_is_editing()?'off':'on').'" />'.
+ '<input type="submit" value="'.get_string($PAGE->user_is_editing()?'blockseditoff':'blocksediton').'" /></div></form></td>';
+ }
+ $buttons .= '</tr></table>';
+
+ $navigation = build_navigation(array(), $cm);
+ print_header($title, $course->fullname, $navigation, '', '', true, $buttons, navmenu($course, $cm), false, $bodytags);
/// Print any blocks on the left of the page.
echo '<table id="layout-table"><tr>';