Dan Marsden
8 years ago
6 changed files with 218 additions and 6 deletions
@ -0,0 +1,50 @@ |
|||
<?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/>. |
|||
|
|||
/** |
|||
* Displays help via AJAX call or in a new page |
|||
* |
|||
* Use {@link core_renderer::help_icon()} or {@link addHelpButton()} to display |
|||
* the help icon. |
|||
* |
|||
* @copyright 2002 onwards Martin Dougiamas |
|||
* @package core |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
require_once(dirname(__FILE__).'/../../config.php'); |
|||
|
|||
$session = required_param('session', PARAM_INT); |
|||
$session = $DB->get_record('attendance_sessions', array('id' => $session), '*', MUST_EXIST); |
|||
|
|||
$cm = get_coursemodule_from_instance('attendance', $session->attendanceid); |
|||
$context = context_module::instance($cm->id); |
|||
$capabilities = array('mod/attendance:manageattendances', 'mod/attendance:takeattendances','mod/attendance:changeattendances'); |
|||
if (!has_any_capability($capabilities, $context)) { |
|||
exit; |
|||
} |
|||
|
|||
$PAGE->set_url('/mod/attendance/password.php'); |
|||
$PAGE->set_pagelayout('popup'); |
|||
|
|||
$PAGE->set_context(context_system::instance()); |
|||
|
|||
$PAGE->set_title(get_string('password', 'attendance')); |
|||
|
|||
echo $OUTPUT->header(); |
|||
echo html_writer::span($session->studentpassword, 'student-password'); |
|||
echo $OUTPUT->footer(); |
@ -0,0 +1,49 @@ |
|||
<?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/>. |
|||
|
|||
/** |
|||
* Displays help via AJAX call or in a new page |
|||
* |
|||
* Use {@link core_renderer::help_icon()} or {@link addHelpButton()} to display |
|||
* the help icon. |
|||
* |
|||
* @copyright 2002 onwards Martin Dougiamas |
|||
* @package core |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
define('AJAX_SCRIPT', true); |
|||
require_once(dirname(__FILE__).'/../../config.php'); |
|||
|
|||
$session = required_param('session', PARAM_INT); |
|||
$session = $DB->get_record('attendance_sessions', array('id' => $session), '*', MUST_EXIST); |
|||
|
|||
$cm = get_coursemodule_from_instance('attendance', $session->attendanceid); |
|||
$context = context_module::instance($cm->id); |
|||
$capabilities = array('mod/attendance:manageattendances', 'mod/attendance:takeattendances','mod/attendance:changeattendances'); |
|||
if (!has_any_capability($capabilities, $context)) { |
|||
exit; |
|||
} |
|||
|
|||
$PAGE->set_url('/mod/attendance/password.php'); |
|||
$PAGE->set_pagelayout('popup'); |
|||
|
|||
$PAGE->set_context(context_system::instance()); |
|||
|
|||
$data->heading = ''; |
|||
$data->text = html_writer::span($session->studentpassword, 'student-password'); |
|||
|
|||
echo json_encode($data); |
@ -0,0 +1,22 @@ |
|||
{{! |
|||
@template attendance/attendance_password_icon |
|||
|
|||
attendance_password icon. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Help with something", |
|||
"url": "http://example.org/help", |
|||
"linktext": "", |
|||
"icon":{ |
|||
"attributes": [ |
|||
{"name": "class", "value": "iconhelp"}, |
|||
{"name": "src", "value": "../../../pix/help.svg"}, |
|||
{"name": "alt", "value": "Help icon"} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
<span class="helptooltip"> |
|||
<a href="{{url}}" title={{#quote}}{{title}}{{/quote}} aria-haspopup="true" target="_blank">{{#icon}}{{>core/pix_icon}}{{/icon}}{{#linktext}}{{.}}{{/linktext}}</a> |
|||
</span> |
@ -0,0 +1,28 @@ |
|||
{{! |
|||
@template attendance/attendance_password_icon Boost Example. |
|||
This is an example of a template you could copy into a boost based theme to use proper popover. |
|||
At the moment we cannot specify different templates to use in plugin so we use |
|||
a cross-compatible link based pop-up for the password. |
|||
|
|||
attendance_password icon. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Help with something", |
|||
"url": "http://example.org/help", |
|||
"linktext": "", |
|||
"icon":{ |
|||
"attributes": [ |
|||
{"name": "class", "value": "iconhelp"}, |
|||
{"name": "src", "value": "../../../pix/help.svg"}, |
|||
{"name": "alt", "value": "Help icon"} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
<a class="btn btn-link p-a-0" role="button" |
|||
data-container="body" data-toggle="popover" |
|||
data-placement="{{#ltr}}left{{/ltr}}{{^ltr}}right{{/ltr}}" data-content="<span class='student-pass'>{{text}}</span> {{completedoclink}}" |
|||
data-html="true" tabindex="0" data-trigger="focus"> |
|||
{{#pix}}key, attendance, {{alt}}{{/pix}} |
|||
</a> |
Loading…
Reference in new issue