public function random_question(structure $structure, $slotnumber, $pageurl) {

        $question = $structure->get_question_in_slot($slotnumber);
        $slot = $structure->get_slot_by_number($slotnumber);
        $slottags = $structure->get_slot_tags_for_slot_id($slot->id);
        $editurl = new \moodle_url('/mod/quiz/editrandom.php',
                array('returnurl' => $pageurl->out_as_local_url(), 'slotid' => $slot->id));

        $temp = clone($question);
        $temp->questiontext = '';
        $instancename = quiz_question_tostring($temp);

        $configuretitle = get_string('configurerandomquestion', 'quiz');
        $qtype = \question_bank::get_qtype($question->qtype, false);
        $namestr = $qtype->local_name();
        $icon = $this->pix_icon('icon', $namestr, $qtype->plugin_name(), array('title' => $namestr,
                'class' => 'icon activityicon', 'alt' => ' ', 'role' => 'presentation'));

        $editicon = $this->pix_icon('t/edit', $configuretitle, 'moodle', array('title' => ''));
        $qbankurlparams = array(
            'cmid' => $structure->get_cmid(),
            'cat' => $question->category . ',' . $question->contextid,
            'recurse' => !empty($question->questiontext)
        );

        foreach ($slottags as $index => $slottag) {
            $qbankurlparams["qtagids[{$index}]"] = $slottag->tagid;
        }

        // If this is a random question, display a link to show the questions
        // selected from in the question bank.
        $qbankurl = new \moodle_url('/question/edit.php', $qbankurlparams);
        $qbanklink = ' ' . \html_writer::link($qbankurl,
                get_string('seequestions', 'quiz'), array('class' => 'mod_quiz_random_qbank_link'));

        return html_writer::link($editurl, $icon . $editicon, array('title' => $configuretitle)) .
                ' ' . $instancename . ' ' . $qbanklink;
    }
public function random_question(structure $structure, $slotnumber, $pageurl) {

        $question = $structure->get_question_in_slot($slotnumber);
        $slot = $structure->get_slot_by_number($slotnumber);
        $slottags = $structure->get_slot_tags_for_slot_id($slot->id);
        $editurl = new \moodle_url('/mod/quiz/editrandom.php',
                array('returnurl' => $pageurl->out_as_local_url(), 'slotid' => $slot->id));

        $temp = clone($question);
        $temp->questiontext = '';
        $instancename = quiz_question_tostring($temp);

        $configuretitle = get_string('configurerandomquestion', 'quiz');
        $qtype = \question_bank::get_qtype($question->qtype, false);
        $namestr = $qtype->local_name();
        $icon = $this->pix_icon('icon', $namestr, $qtype->plugin_name(), array('title' => $namestr,
                'class' => 'icon activityicon', 'alt' => ' ', 'role' => 'presentation'));

        $editicon = $this->pix_icon('t/edit', $configuretitle, 'moodle', array('title' => ''));
        $qbankurlparams = array(
            'cmid' => $structure->get_cmid(),
            'cat' => $question->category . ',' . $question->contextid,
            'recurse' => !empty($question->questiontext)
        );

        foreach ($slottags as $index => $slottag) {
            $qbankurlparams["qtagids[{$index}]"] = $slottag->tagid;
        }

        // If this is a random question, display a link to show the questions
        // selected from in the question bank.
        $qbankurl = new \moodle_url('/question/edit.php', $qbankurlparams);
        $qbanklink = ' ' . \html_writer::link($qbankurl,
                get_string('seequestions', 'quiz'), array('class' => 'mod_quiz_random_qbank_link'));

        return html_writer::link($editurl, $icon . $editicon, array('title' => $configuretitle)) .
                ' ' . $instancename . ' ' . $qbanklink;
    }
public function random_question ( structure $ structure , $ slotnumber , $ pageurl ) { $ question = $ structure -> get_question_in_slot ( $ slotnumber ) ; $ slot = $ structure -> get_slot_by_number ( $ slotnumber ) ; $ slottags = $ structure -> get_slot_tags_for_slot_id ( $ slot -> id ) ; $ editurl = new \ moodle_url ( '/mod/quiz/editrandom.php' , array ( 'returnurl' => $ pageurl -> out_as_local_url ( ) , 'slotid' => $ slot -> id ) ) ; $ temp = clone ( $ question ) ; $ temp -> questiontext = '' ; $ instancename = quiz_question_tostring ( $ temp ) ; $ configuretitle = get_string ( 'configurerandomquestion' , 'quiz' ) ; $ qtype = \ question_bank :: get_qtype ( $ question -> qtype , false ) ; $ namestr = $ qtype -> local_name ( ) ; $ icon = $ this -> pix_icon ( 'icon' , $ namestr , $ qtype -> plugin_name ( ) , array ( 'title' => $ namestr , 'class' => 'icon activityicon' , 'alt' => ' ' , 'role' => 'presentation' ) ) ; $ editicon = $ this -> pix_icon ( 't/edit' , $ configuretitle , 'moodle' , array ( 'title' => '' ) ) ; $ qbankurlparams = array ( 'cmid' => $ structure -> get_cmid ( ) , 'cat' => $ question -> category . ',' . $ question -> contextid , 'recurse' => ! empty ( $ question -> questiontext ) ) ; foreach ( $ slottags as $ index => $ slottag ) { $ qbankurlparams [ "qtagids[{$index}]" ] = $ slottag -> tagid ; } // If this is a random question, display a link to show the questions // selected from in the question bank. $ qbankurl = new \ moodle_url ( '/question/edit.php' , $ qbankurlparams ) ; $ qbanklink = ' ' . \ html_writer :: link ( $ qbankurl , get_string ( 'seequestions' , 'quiz' ) , array ( 'class' => 'mod_quiz_random_qbank_link' ) ) ; return html_writer :: link ( $ editurl , $ icon . $ editicon , array ( 'title' => $ configuretitle ) ) . ' ' . $ instancename . ' ' . $ qbanklink ; }
Renders html to display a random question the link to edit the configuration
and also to see that category in the question bank.

@param structure $structure object containing the structure of the quiz.
@param int $slotnumber which slot we are outputting.
@param \moodle_url $pageurl the canonical URL of this page.
@return string HTML to output.
Renders html to display a random question the link to edit the configuration and also to see that category in the question bank .