Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://moodle.org/
3
//
4
// Moodle is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// Moodle is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16
 
17
namespace qbank_previewquestion\output;
18
 
19
use context;
20
use qbank_previewquestion\helper;
21
use qbank_previewquestion\question_preview_options;
22
 
23
/**
24
 * Class renderer for rendering preview url
25
 *
26
 * @package    qbank_previewquestion
27
 * @copyright  2009 The Open University
28
 * @author     2021 Safat Shahin <safatshahin@catalyst-au.net>
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
30
 */
31
class renderer extends \plugin_renderer_base {
32
 
33
    /**
34
     * Render an icon, optionally with the word 'Preview' beside it, to preview a given question.
35
     *
36
     * @param int $questionid the id of the question to be previewed.
37
     * @param context $context the context in which the preview is happening.
38
     *      Must be a course or category context.
39
     * @param bool $showlabel if true, show the word 'Preview' after the icon.
40
     *      If false, just show the icon.
41
     */
42
    public function question_preview_link($questionid, context $context, $showlabel) {
43
        if ($showlabel) {
44
            $alt = '';
45
            $label = get_string('preview');
46
            $attributes = [];
47
        } else {
48
            $alt = get_string('preview');
49
            $label = '';
50
            $attributes = ['title' => $alt];
51
        }
52
 
53
        $image = $this->pix_icon('t/preview', $alt, '', ['class' => 'iconsmall']);
54
        $link = helper::question_preview_url($questionid, null, null, null, null, $context, null,
55
                question_preview_options::ALWAYS_LATEST);
56
        $action = new \popup_action('click', $link, 'questionpreview', helper::question_preview_popup_params());
57
 
58
        return $this->action_link($link, $image . $label, $action, $attributes);
59
    }
60
 
61
    /**
62
     * Render the preview page.
63
     *
64
     * @param array $previewdata
65
     */
66
    public function render_preview_page($previewdata) {
67
        return $this->render_from_template('qbank_previewquestion/preview_question', $previewdata);
68
    }
69
 
70
}