Permalink
Browse files

MDL-34733 quiz 'secure' mode: finish review link broken in previews

Here, we use a nasty hack to fix the problem on stable branches without
an API change.
  • Loading branch information...
1 parent 76c9fcc commit bfa34d8de3cf5f7533a766bc518cc430718deb65 @timhunt timhunt committed Aug 21, 2012
Showing with 13 additions and 1 deletion.
  1. +13 −1 mod/quiz/renderer.php
View
@@ -229,7 +229,19 @@ public function review_form($page, $showall, $displayoptions, $content, $attempt
* @param $url contains a url for the review link
*/
public function finish_review_link($url) {
- if ($this->page->pagelayout == 'popup') {
+
+ // This is an ugly hack to fix MDL-34733 without changing the renderer API.
+ global $attemptobj;
+ if (!empty($attemptobj)) {
+ // I think that every page in standard Moodle that ends up calling
+ // this method will actually end up coming down this branch.
+ $inpopup = $attemptobj->get_access_manager(time())->attempt_must_be_in_popup();
+ } else {
+ // Else fall back to old (not very good) heuristic.
+ $inpopup = $this->page->pagelayout == 'popup';
+ }
+
+ if ($inpopup) {
// In a 'secure' popup window.
$this->page->requires->js_init_call('M.mod_quiz.secure_window.init_close_button',
array($url), quiz_get_js_module());

0 comments on commit bfa34d8

Please sign in to comment.