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 " - \"$strpreview\""; + 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)) {