-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrenderer.php
103 lines (94 loc) · 4.13 KB
/
renderer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Open Educational Resources Plugin
*
* @package local_oer
* @author Christian Ortner <christian.ortner@tugraz.at>
* @copyright 2017 Educational Technologies, Graz, University of Technology
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Class local_oer_renderer
*/
class local_oer_renderer extends plugin_renderer_base {
/**
* Select users to add to allowance/dissallowance list.
*
* TODO: mention the part of moodle where this is taken from.
*
* @param object $options options
* @return string
* @throws coding_exception
*/
public function oer_user_selector(&$options) {
$formcontent = html_writer::empty_tag('input',
['name' => 'sesskey', 'value' => sesskey(), 'type' => 'hidden']);
$table = new html_table();
$table->size = ['45%', '10%', '45%'];
$table->attributes['class'] = 'roleassigntable generaltable generalbox boxaligncenter';
$table->summary = '';
$table->cellspacing = 0;
$table->cellpadding = 0;
// LTR/RTL support, for drawing button arrows in the right direction.
if (right_to_left()) {
$addarrow = '▶';
$removearrow = '◀';
} else {
$addarrow = '◀';
$removearrow = '▶';
}
// Create the add and remove button.
$addinput = html_writer::empty_tag('input',
[
'name' => 'add', 'id' => 'add', 'type' => 'submit',
'value' => $addarrow . ' ' . get_string('add'),
'title' => get_string('add'),
]);
$addbutton = html_writer::tag('div', $addinput, ['id' => 'addcontrols']);
$removeinput = html_writer::empty_tag('input',
[
'name' => 'remove', 'id' => 'remove', 'type' => 'submit',
'value' => $removearrow . ' ' . get_string('remove'),
'title' => get_string('remove'),
]);
$removebutton = html_writer::tag('div', $removeinput, ['id' => 'removecontrols']);
// Create the three cells.
$label = html_writer::tag('label', get_string('oerusers', 'local_oer'),
['for' => 'removeselect']);
$label = html_writer::tag('p', $label);
$authoriseduserscell = new html_table_cell($label .
$options->alloweduserselector->display(true));
$authoriseduserscell->id = 'existingcell';
$buttonscell = new html_table_cell($addbutton . html_writer::empty_tag('br') . $removebutton);
$buttonscell->id = 'buttonscell';
$label = html_writer::tag('label', get_string('potusers', 'local_oer'),
['for' => 'addselect']);
$label = html_writer::tag('p', $label);
$otheruserscell = new html_table_cell($label .
$options->potentialuserselector->display(true));
$otheruserscell->id = 'potentialcell';
$cells = [$authoriseduserscell, $buttonscell, $otheruserscell];
$row = new html_table_row($cells);
$table->data[] = $row;
$formcontent .= html_writer::table($table);
$formcontent = html_writer::tag('div', $formcontent);
$actionurl = new moodle_url('/local/oer/views/manage.php');
$html = html_writer::tag('form', $formcontent,
['id' => 'assignform', 'action' => $actionurl, 'method' => 'post']);
return $html;
}
}