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
/**
18
 * Contains the navigation renderable for user data exports.
19
 *
20
 * @package    core_privacy
21
 * @copyright  2018 Adrian Greeve
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
namespace core_privacy\output;
25
defined('MOODLE_INTERNAL') || die();
26
 
27
use renderable;
28
use renderer_base;
29
use templatable;
30
 
31
/**
32
 * Class containing the navigation renderable
33
 *
34
 * @copyright  2018 Adrian Greeve
35
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
36
 */
37
class exported_html_page implements renderable, templatable {
38
 
39
    /** @var string $navigationdata navigation html to be displayed about the system. */
40
    protected $navigationdata;
41
 
42
    /** @var string $systemname systemname for the page. */
43
    protected $systemname;
44
 
45
    /** @var string $username The full name of the user. */
46
    protected $username;
47
 
48
    /** @var bool $rtl The direction to show the page (right to left) */
49
    protected $rtl;
50
 
51
    /** @var string $siteurl The url back to the site that created this export. */
52
    protected $siteurl;
53
 
54
    /**
55
     * Constructor.
56
     *
57
     * @param string $navigationdata Navigation html to be displayed about the system.
58
     * @param string $systemname systemname for the page.
59
     * @param string $username The full name of the user.
60
     * @param bool $righttoleft Is the language used right to left?
61
     * @param string $siteurl The url to the site that created this export.
62
     */
63
    public function __construct(string $navigationdata, string $systemname, string $username, bool $righttoleft, string $siteurl) {
64
        $this->navigationdata = $navigationdata;
65
        $this->systemname = $systemname;
66
        $this->username = $username;
67
        $this->rtl = $righttoleft;
68
        $this->siteurl = $siteurl;
69
    }
70
 
71
    /**
72
     * Export this data so it can be used as the context for a mustache template.
73
     *
74
     * @param renderer_base $output
75
     * @return array
76
     */
77
    public function export_for_template(renderer_base $output): Array {
78
        return [
79
            'navigation' => $this->navigationdata,
80
            'systemname' => $this->systemname,
81
            'timegenerated' => time(),
82
            'username' => $this->username,
83
            'righttoleft' => $this->rtl,
84
            'siteurl' => $this->siteurl
85
        ];
86
    }
87
}