diff --git a/lib/questionlib.php b/lib/questionlib.php
index 4eb8df6e182..1ce485b57f9 100644
--- a/lib/questionlib.php
+++ b/lib/questionlib.php
@@ -76,7 +76,7 @@ define("QUESTION_NUMANS_ADD", 3);
/**
* The options used when popping up a question preview window in Javascript.
*/
-define('QUESTION_PREVIEW_POPUP_OPTIONS', "'scrollbars=yes,resizable=yes,width=700,height=540'");
+define('QUESTION_PREVIEW_POPUP_OPTIONS', 'scrollbars=yes,resizable=yes,width=700,height=540');
/**#@+
* Option flags for ->optionflags
diff --git a/mod/quiz/editlib.php b/mod/quiz/editlib.php
index 65c3f44298b..bbc3cc6c703 100644
--- a/mod/quiz/editlib.php
+++ b/mod/quiz/editlib.php
@@ -275,11 +275,8 @@ function quiz_print_question_list($quiz, $allowdelete=true, $showbreaks=true, $r
echo '
';
$context = $quiz->id ? '&contextquiz='.$quiz->id : '';
- $quiz_id = $quiz->id ? '&quizid=' . $quiz->id : '';
if ($question->qtype != 'random') {
- echo "
- pixpath/t/preview.gif\" class=\"iconsmall\" alt=\"$strpreview\" />";
+ quiz_question_preview_button($quiz, $question);
}
if ($canedit) {
echo "wwwroot/question/question.php?id=$qnum$context\">
diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php
index 86b923a1c70..be2caf21bb8 100644
--- a/mod/quiz/locallib.php
+++ b/mod/quiz/locallib.php
@@ -595,16 +595,17 @@ function quiz_upgrade_states($attempt) {
}
}
-// ULPGc ecastro
-function quiz_get_question_review($quiz, $question) {
-// returns a question icon
- $qnum = $question->id;
+/**
+ * @param object $quiz the quiz
+ * @param object $question the question
+ * @return the HTML for a preview question icon.
+ */
+function quiz_question_preview_button($quiz, $question) {
+ global $CFG;
$strpreview = get_string('previewquestion', 'quiz');
- $context = $quiz->id ? '&contextquiz='.$quiz->id : '';
- $quiz_id = $quiz->id ? '&quizid=' . $quiz->id : '';
- return "
- ";
+ return link_to_popup_window('/question/preview.php?id=' . $question->id . '&quizid=' . $quiz->id, 'questionpreview',
+ " pixpath/t/preview.gif\" class=\"iconsmall\" alt=\"$strpreview\" />",
+ 0, 0, $strpreview, QUESTION_PREVIEW_POPUP_OPTIONS, true);
}
/**
diff --git a/mod/quiz/report/analysis/report.php b/mod/quiz/report/analysis/report.php
index 984fc28deaa..be9f2fc8c05 100644
--- a/mod/quiz/report/analysis/report.php
+++ b/mod/quiz/report/analysis/report.php
@@ -312,7 +312,7 @@ class quiz_report extends quiz_default_report {
$qnumber = " (".link_to_popup_window('/question/question.php?id='.$qid,'editquestion', $qid, 450, 550, get_string('edit'), 'none', true ).") ";
$qname = ''.format_text($question->name." : ", $question->questiontextformat, $format_options, $quiz->course).' ';
$qicon = print_question_icon($question, true);
- $qreview = quiz_get_question_review($quiz, $question);
+ $qreview = quiz_question_preview_button($quiz, $question);
$qtext = format_text($question->questiontext, $question->questiontextformat, $format_options, $quiz->course);
$qquestion = $qname."\n".$qtext."\n";
diff --git a/question/editlib.php b/question/editlib.php
index d1df08ad951..4fe411a116e 100644
--- a/question/editlib.php
+++ b/question/editlib.php
@@ -303,14 +303,14 @@ function question_list($course, $categoryid, $quizid=0,
// add to quiz
if ($editingquiz) {
- echo "id&quizid=$quizid&sesskey=$USER->sesskey\"> wwwroot/question/edit.php?addquestion=$question->id&quizid=$quizid&sesskey=$USER->sesskey\"> pixpath/t/moveleft.gif\" alt=\"$straddtoquiz\" /> ";
}
// preview
- echo "id&quizid=$quizid','$strpreview', " .
- QUESTION_PREVIEW_POPUP_OPTIONS . ", false)\"> pixpath/t/preview.gif\" alt=\"$strpreview\" /> ";
+ link_to_popup_window('/question/preview.php?id=' . $question->id . '&quizid=' . $quizid, 'questionpreview',
+ " pixpath/t/preview.gif\" class=\"iconsmall\" alt=\"$strpreview\" />",
+ 0, 0, $strpreview, QUESTION_PREVIEW_POPUP_OPTIONS);
// edit, hide, delete question, using question capabilities, not quiz capabilieies
if ($canedit) {
@@ -318,10 +318,10 @@ function question_list($course, $categoryid, $quizid=0,
src=\"$CFG->pixpath/t/edit.gif\" alt=\"$stredit\" /> ";
// hide-feature
if($question->hidden) {
- echo "id&unhide=$question->id&sesskey=$USER->sesskey\"> wwwroot/question/edit.php?courseid=$course->id&unhide=$question->id&sesskey=$USER->sesskey\"> pixpath/t/restore.gif\" alt=\"$strrestore\" />";
} else {
- echo "id&deleteselected=$question->id&q$question->id=1\"> wwwroot/question/edit.php?courseid=$course->id&deleteselected=$question->id&q$question->id=1\"> pixpath/t/delete.gif\" alt=\"$strdelete\" />";
}
}
diff --git a/question/preview.php b/question/preview.php
index 16ca53f5bc0..430bc6d3660 100644
--- a/question/preview.php
+++ b/question/preview.php
@@ -50,9 +50,12 @@
unset($SESSION->quizpreview);
// Redirect to ourselves but with continue=1; prevents refreshing the page
// from restarting an attempt (needed so that random questions don't change)
- $quizid = $quizid ? '&quizid=' . $quizid : '';
- redirect($CFG->wwwroot . '/question/preview.php?id=' . $id . $quizid .
- '&continue=1');
+ $url = $CFG->wwwroot . '/question/preview.php?id=' . $id;
+ if ($quizid) {
+ $url .= '&quizid=' . $quizid;
+ }
+ $url .= '&continue=1';
+ redirect($url);
}
if (empty($quizid)) {
@@ -178,7 +181,9 @@
}
$strpreview = get_string('preview', 'quiz').' '.format_string($questions[$id]->name);
- print_header($strpreview);
+ $questionlist = array($id);
+ $headtags = get_html_head_contributions($questionlist, $questions, $states[$historylength]);
+ print_header($strpreview, '', '', '', $headtags);
print_heading($strpreview);
if (!empty($quizid)) {
|