Compare commits
280 Commits
v3.2.0-rc2
...
v3.2.0-rc5
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b00e27281 | |||
| 6a6b1bd782 | |||
| 65cc788bb1 | |||
| 54348ea6d7 | |||
| 72edf2ef13 | |||
| 43b3cf0f25 | |||
| dadbe55c81 | |||
| 1acd568793 | |||
| 7fc7486f49 | |||
| ec3e79134f | |||
| 34949c1a55 | |||
| b9278260c7 | |||
| 1459415f93 | |||
| 76e337ab96 | |||
| 80ee8a3eb0 | |||
| 9d1402abd8 | |||
| 666b9fcb6a | |||
| ddcb68b284 | |||
| 5f654ea2c0 | |||
| d8326d8364 | |||
| f200f74552 | |||
| 6c45e525fc | |||
| 063d5c28cf | |||
| a8bac97613 | |||
| 2b114798b9 | |||
| 53cbfac2b9 | |||
| b52c562a8c | |||
| 36e6789b27 | |||
| 39a9ac4098 | |||
| 7d17256a75 | |||
| 8f5de6f268 | |||
| 1f16e4e68e | |||
| 995c6d2787 | |||
| bb8b3ba6f8 | |||
| 04bfccdce6 | |||
| 3cc12bd747 | |||
| e7d0de87c9 | |||
| ef06bc18b0 | |||
| 52ee200368 | |||
| 10df630ee8 | |||
| 3eb3d916cb | |||
| bb316e0764 | |||
| 5544189dd1 | |||
| 09ade73632 | |||
| ce7149b10c | |||
| 5814817ceb | |||
| a9b85245f2 | |||
| 10461a04c6 | |||
| 9a22c99ea9 | |||
| b95107ca83 | |||
| 432ed35484 | |||
| f4aec377fc | |||
| 99d2667f5c | |||
| a57699ead8 | |||
| f6f0cb49aa | |||
| 061a39ac5d | |||
| 3f342da584 | |||
| 4495ddcf9f | |||
| 45cd101f80 | |||
| c5a5f26ce2 | |||
| 7c0725857a | |||
| 70f0e8353d | |||
| 8c291fb06e | |||
| 449b730e09 | |||
| 8018dc63c7 | |||
| 8ace7b6c34 | |||
| 3f083d9a33 | |||
| 04649747a4 | |||
| eb80018202 | |||
| f3317a0eac | |||
| a0352aa95e | |||
| d5d1d56f9c | |||
| 1270616023 | |||
| 06ded0ed5f | |||
| c22141bd0c | |||
| 6f19da0549 | |||
| 220f3ac711 | |||
| 1e102ca3ca | |||
| 7621fe8399 | |||
| 0d5f5f7357 | |||
| 7d94f001e2 | |||
| e37c128686 | |||
| a174f2474f | |||
| 805659e1fa | |||
| 01dc1c11ec | |||
| 740dbe77a2 | |||
| 8b516a6a55 | |||
| 4a1165ba39 | |||
| 5634310997 | |||
| 9eb8f6ec56 | |||
| dc3e3c0831 | |||
| d91cbe1e62 | |||
| 8599ac9e56 | |||
| 4d41cec8db | |||
| 5e45c34221 | |||
| 67823776a0 | |||
| 12f7202177 | |||
| 8392a86068 | |||
| dc801cb6b9 | |||
| 4a8c6b4259 | |||
| 1cbc346092 | |||
| c56c23720b | |||
| 7ad1d2da47 | |||
| 3d1be67752 | |||
| 58ec5a315b | |||
| 6ee691d71b | |||
| 60ff24c0f1 | |||
| c811356efb | |||
| acefc7d963 | |||
| f59bab60c0 | |||
| 47b03b9170 | |||
| d442a3169c | |||
| 3df6e801b5 | |||
| 920778eb93 | |||
| d826c64c57 | |||
| 085e077fa3 | |||
| 341da3e3fb | |||
| 0395ec28e2 | |||
| dd106016ee | |||
| 2adf5ef946 | |||
| 6c4aba1e7e | |||
| 894b1825f6 | |||
| 27a3843d05 | |||
| 96813571b1 | |||
| c1722505e1 | |||
| 39f621305d | |||
| 1f5fbd1696 | |||
| cdef9e91a3 | |||
| 3eabedbb92 | |||
| 9441af9596 | |||
| c08a263134 | |||
| 392367c4f7 | |||
| 350d0ae6b7 | |||
| dfa707c994 | |||
| 0d9d55a3ad | |||
| b4f82837ba | |||
| bae517c616 | |||
| b68af8e6f8 | |||
| af46d1dd23 | |||
| b35c209d76 | |||
| a1e8265d48 | |||
| b71149c9ac | |||
| 262253f624 | |||
| c15f993cde | |||
| d2a44a71ac | |||
| 92fa8b8fde | |||
| 29c96d214b | |||
| 1adf21fc1d | |||
| d714aeb4f5 | |||
| c03f1de198 | |||
| edd837038a | |||
| ad76556b76 | |||
| 9cc9690575 | |||
| b001cd4b17 | |||
| 74b8557661 | |||
| 72a5842bd7 | |||
| 304e8a8d0c | |||
| c5c8f3a6f5 | |||
| 86ac6a3763 | |||
| 539de849cd | |||
| 68dde67d9f | |||
| 8b81daf4dd | |||
| 4de871f4ca | |||
| a955cf531c | |||
| 9a102866be | |||
| 8411e0a508 | |||
| 1fb687ea8f | |||
| 2fedc0da7c | |||
| 7dba450fd4 | |||
| 22b8c5b842 | |||
| 8c224317ee | |||
| 70b03eff02 | |||
| 7095f5be97 | |||
| 4213f7e236 | |||
| 45d5594ecb | |||
| bf07b81543 | |||
| be2247fb24 | |||
| b1e5624ad9 | |||
| b11916d3e7 | |||
| de4ca62e7a | |||
| b0842f61f4 | |||
| 4d85886b5f | |||
| 692c1bf345 | |||
| bb3a1d6f39 | |||
| b6f549d139 | |||
| 144c149704 | |||
| 2ecb3ffa97 | |||
| fa42b7bc69 | |||
| e24699cc7a | |||
| ff8b71ef7b | |||
| 55f8edfdf2 | |||
| 654efef456 | |||
| 65f0ef9e34 | |||
| febbb9f8cd | |||
| 8c35e49b37 | |||
| b3502be320 | |||
| 851b291998 | |||
| 813320fbb6 | |||
| 9d44510d60 | |||
| 4b287476f3 | |||
| c61d7c0802 | |||
| 183b1d6785 | |||
| 2a55269ce8 | |||
| 2ec4ed4dba | |||
| 242997744d | |||
| 203f51d627 | |||
| 9f82774a8b | |||
| c8012422eb | |||
| 68153d5cbc | |||
| be58f604b5 | |||
| 93b68886e9 | |||
| fd111ccabf | |||
| 2664ef1861 | |||
| 58c2684db2 | |||
| d14207fd25 | |||
| c0f89860ec | |||
| cb8057531f | |||
| 19d8b0f9e1 | |||
| 1b367ac6e8 | |||
| a954685767 | |||
| 020fb9d2dc | |||
| 2c0dfa7d33 | |||
| ea5084f7f1 | |||
| 270b2e443c | |||
| afa68a8174 | |||
| 2a58fef860 | |||
| d062d64fb8 | |||
| 862816eec3 | |||
| b487a7c028 | |||
| bea19e0dec | |||
| 1b669ebeba | |||
| e0c5ffb681 | |||
| 5bda9fe900 | |||
| 28e93cc41b | |||
| a60a98d900 | |||
| 44cf94a877 | |||
| d5c2829b06 | |||
| b3440a13cc | |||
| 52aeda247c | |||
| 48489fb93a | |||
| 7ee4a28719 | |||
| 1ac36fa9f7 | |||
| 6b7e523b5d | |||
| 8fb1b3bb68 | |||
| 3fd840072f | |||
| 44c3d0775c | |||
| 111d6b8f24 | |||
| 74138c7cd0 | |||
| 0484a0d511 | |||
| 95b25310ce | |||
| 1da2cf3bc0 | |||
| cb151980c4 | |||
| 03f450c10d | |||
| d3b13065ce | |||
| 73430100ff | |||
| 499f4a7823 | |||
| 7597ab0b99 | |||
| 2561e79fca | |||
| 45ed4271b7 | |||
| 51718b752d | |||
| 9c6c29932a | |||
| 8cdff4beda | |||
| 95210c6650 | |||
| 3c1cdac63f | |||
| 84979ab793 | |||
| a51122983c | |||
| e466e337b0 | |||
| a6a277f06c | |||
| 3d8fbf39f7 | |||
| 49cf53dd93 | |||
| 00f5c95590 | |||
| ef25d51f5b | |||
| 9741087ffd | |||
| fc14932c40 | |||
| edf2f7bdf1 | |||
| 030d8f22c2 | |||
| 40e0baf08e | |||
| 6e402aeb0a | |||
| 05a25f86dd | |||
| 8515e2d16d |
+5
-22
@@ -4,6 +4,7 @@
|
||||
|
||||
require_once('../config.php');
|
||||
require_once($CFG->libdir.'/adminlib.php');
|
||||
require_once($CFG->libdir.'/blocklib.php');
|
||||
require_once($CFG->libdir.'/tablelib.php');
|
||||
|
||||
admin_externalpage_setup('manageblocks');
|
||||
@@ -49,36 +50,18 @@
|
||||
admin_get_root(true, false); // settings not required - only pages
|
||||
}
|
||||
|
||||
if (!isset($CFG->undeletableblocktypes) || (!is_array($CFG->undeletableblocktypes) && !is_string($CFG->undeletableblocktypes))) {
|
||||
$undeletableblocktypes = array('navigation', 'settings');
|
||||
} else if (is_string($CFG->undeletableblocktypes)) {
|
||||
$undeletableblocktypes = explode(',', $CFG->undeletableblocktypes);
|
||||
} else {
|
||||
$undeletableblocktypes = $CFG->undeletableblocktypes;
|
||||
}
|
||||
|
||||
if (!empty($protect) && confirm_sesskey()) {
|
||||
if (!$block = $DB->get_record('block', array('id'=>$protect))) {
|
||||
print_error('blockdoesnotexist', 'error');
|
||||
}
|
||||
if (!in_array($block->name, $undeletableblocktypes)) {
|
||||
$undeletableblocktypes[] = $block->name;
|
||||
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
|
||||
}
|
||||
block_manager::protect_block((int)$protect);
|
||||
admin_get_root(true, false); // settings not required - only pages
|
||||
}
|
||||
|
||||
if (!empty($unprotect) && confirm_sesskey()) {
|
||||
if (!$block = $DB->get_record('block', array('id'=>$unprotect))) {
|
||||
print_error('blockdoesnotexist', 'error');
|
||||
}
|
||||
if (in_array($block->name, $undeletableblocktypes)) {
|
||||
$undeletableblocktypes = array_diff($undeletableblocktypes, array($block->name));
|
||||
set_config('undeletableblocktypes', implode(',', $undeletableblocktypes));
|
||||
}
|
||||
block_manager::unprotect_block((int)$unprotect);
|
||||
admin_get_root(true, false); // settings not required - only pages
|
||||
}
|
||||
|
||||
$undeletableblocktypes = block_manager::get_undeletable_block_types();
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->heading($strmanageblocks);
|
||||
|
||||
|
||||
+16
-23
@@ -29,7 +29,7 @@ define("MAX_USERS_TO_LIST_PER_ROLE", 10);
|
||||
|
||||
$contextid = required_param('contextid', PARAM_INT);
|
||||
$roleid = optional_param('roleid', 0, PARAM_INT);
|
||||
$returnto = optional_param('return', null, PARAM_ALPHANUMEXT);
|
||||
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
|
||||
|
||||
list($context, $course, $cm) = get_context_info_array($contextid);
|
||||
|
||||
@@ -53,7 +53,13 @@ if ($course) {
|
||||
// Security.
|
||||
require_login($course, false, $cm);
|
||||
require_capability('moodle/role:assign', $context);
|
||||
$PAGE->set_url($url);
|
||||
|
||||
navigation_node::override_active_url($url);
|
||||
$pageurl = new moodle_url($url);
|
||||
if ($returnurl) {
|
||||
$pageurl->param('returnurl', $returnurl);
|
||||
}
|
||||
$PAGE->set_url($pageurl);
|
||||
$PAGE->set_context($context);
|
||||
|
||||
$contextname = $context->get_context_name();
|
||||
@@ -141,6 +147,10 @@ if (!empty($user) && ($user->id != $USER->id)) {
|
||||
}
|
||||
|
||||
$PAGE->set_pagelayout('admin');
|
||||
if ($context->contextlevel == CONTEXT_BLOCK) {
|
||||
// Do not show blocks when changing block's settings, it is confusing.
|
||||
$PAGE->blocks->show_only_fake_blocks(true);
|
||||
}
|
||||
$PAGE->set_title($title);
|
||||
|
||||
switch ($context->contextlevel) {
|
||||
@@ -186,9 +196,6 @@ if ($roleid) {
|
||||
|
||||
// Print the form.
|
||||
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
|
||||
if ($returnto !== null) {
|
||||
$assignurl->param('return', $returnto);
|
||||
}
|
||||
?>
|
||||
<form id="assignform" method="post" action="<?php echo $assignurl ?>"><div>
|
||||
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
|
||||
@@ -235,18 +242,10 @@ if ($roleid) {
|
||||
// Print a form to swap roles, and a link back to the all roles list.
|
||||
echo '<div class="backlink">';
|
||||
|
||||
$newroleurl = new moodle_url($PAGE->url);
|
||||
if ($returnto !== null) {
|
||||
$newroleurl->param('return', $returnto);
|
||||
}
|
||||
$select = new single_select($newroleurl, 'roleid', $nameswithcounts, $roleid, null);
|
||||
$select = new single_select($PAGE->url, 'roleid', $nameswithcounts, $roleid, null);
|
||||
$select->label = get_string('assignanotherrole', 'core_role');
|
||||
echo $OUTPUT->render($select);
|
||||
$backurl = new moodle_url('/admin/roles/assign.php', array('contextid' => $contextid));
|
||||
if ($returnto !== null) {
|
||||
$backurl->param('return', $returnto);
|
||||
}
|
||||
echo '<p><a href="' . $backurl->out() . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
|
||||
echo '<p><a href="' . $PAGE->url . '">' . get_string('backtoallroles', 'core_role') . '</a></p>';
|
||||
echo '</div>';
|
||||
|
||||
} else if (empty($assignableroles)) {
|
||||
@@ -284,9 +283,6 @@ if ($roleid) {
|
||||
}
|
||||
} else if ($assigncounts[$roleid] > MAX_USERS_TO_LIST_PER_ROLE) {
|
||||
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
|
||||
if ($returnto !== null) {
|
||||
$assignurl->param('return', $returnto);
|
||||
}
|
||||
$roleholdernames[$roleid] = '<a href="'.$assignurl.'">'.$strmorethanmax.'</a>';
|
||||
} else {
|
||||
$roleholdernames[$roleid] = '';
|
||||
@@ -307,9 +303,6 @@ if ($roleid) {
|
||||
foreach ($assignableroles as $roleid => $rolename) {
|
||||
$description = format_string($DB->get_field('role', 'description', array('id'=>$roleid)));
|
||||
$assignurl = new moodle_url($PAGE->url, array('roleid'=>$roleid));
|
||||
if ($returnto !== null) {
|
||||
$assignurl->param('return', $returnto);
|
||||
}
|
||||
$row = array('<a href="'.$assignurl.'">'.$rolename.'</a>',
|
||||
$description, $assigncounts[$roleid]);
|
||||
if ($showroleholders) {
|
||||
@@ -322,8 +315,8 @@ if ($roleid) {
|
||||
|
||||
if ($context->contextlevel > CONTEXT_USER) {
|
||||
|
||||
if ($context->contextlevel === CONTEXT_COURSECAT && $returnto === 'management') {
|
||||
$url = new moodle_url('/course/management.php', array('categoryid' => $context->instanceid));
|
||||
if ($returnurl) {
|
||||
$url = new moodle_url($returnurl);
|
||||
} else {
|
||||
$url = $context->get_url();
|
||||
}
|
||||
|
||||
+19
-12
@@ -25,6 +25,7 @@
|
||||
require_once(__DIR__ . '/../../config.php');
|
||||
|
||||
$contextid = required_param('contextid', PARAM_INT);
|
||||
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
|
||||
|
||||
list($context, $course, $cm) = get_context_info_array($contextid);
|
||||
|
||||
@@ -49,7 +50,13 @@ require_login($course, false, $cm);
|
||||
if (!has_any_capability(array('moodle/role:assign', 'moodle/role:safeoverride', 'moodle/role:override', 'moodle/role:manage'), $context)) {
|
||||
print_error('nopermissions', 'error', '', get_string('checkpermissions', 'core_role'));
|
||||
}
|
||||
$PAGE->set_url($url);
|
||||
|
||||
navigation_node::override_active_url($url);
|
||||
$pageurl = new moodle_url($url);
|
||||
if ($returnurl) {
|
||||
$pageurl->param('returnurl', $returnurl);
|
||||
}
|
||||
$PAGE->set_url($pageurl);
|
||||
|
||||
if ($context->contextlevel == CONTEXT_USER and $USER->id != $context->instanceid) {
|
||||
$PAGE->navbar->includesettingsbase = true;
|
||||
@@ -75,6 +82,10 @@ $userselector->set_rows(20);
|
||||
$title = get_string('checkpermissionsin', 'core_role', $contextname);
|
||||
|
||||
$PAGE->set_pagelayout('admin');
|
||||
if ($context->contextlevel == CONTEXT_BLOCK) {
|
||||
// Do not show blocks when changing block's settings, it is confusing.
|
||||
$PAGE->blocks->show_only_fake_blocks(true);
|
||||
}
|
||||
$PAGE->set_title($title);
|
||||
|
||||
switch ($context->contextlevel) {
|
||||
@@ -156,16 +167,7 @@ if (!is_null($reportuser)) {
|
||||
|
||||
// Show UI for choosing a user to report on.
|
||||
echo $OUTPUT->box_start('generalbox boxwidthnormal boxaligncenter', 'chooseuser');
|
||||
echo '<form method="get" action="' . $CFG->wwwroot . '/' . $CFG->admin . '/roles/check.php" >';
|
||||
|
||||
// Hidden fields.
|
||||
echo '<input type="hidden" name="contextid" value="' . $context->id . '" />';
|
||||
if (!empty($user->id)) {
|
||||
echo '<input type="hidden" name="userid" value="' . $user->id . '" />';
|
||||
}
|
||||
if ($isfrontpage) {
|
||||
echo '<input type="hidden" name="courseid" value="' . $courseid . '" />';
|
||||
}
|
||||
echo '<form method="post" action="' . $PAGE->url . '" >';
|
||||
|
||||
// User selector.
|
||||
echo $OUTPUT->heading('<label for="reportuser">' . $selectheading . '</label>', 3);
|
||||
@@ -180,7 +182,12 @@ echo $OUTPUT->box_end();
|
||||
// Appropriate back link.
|
||||
if ($context->contextlevel > CONTEXT_USER) {
|
||||
echo html_writer::start_tag('div', array('class'=>'backlink'));
|
||||
echo html_writer::tag('a', get_string('backto', '', $contextname), array('href'=>$context->get_url()));
|
||||
if ($returnurl) {
|
||||
$backurl = new moodle_url($returnurl);
|
||||
} else {
|
||||
$backurl = $context->get_url();
|
||||
}
|
||||
echo html_writer::link($backurl, get_string('backto', '', $contextname));
|
||||
echo html_writer::end_tag('div');
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ $prevent = optional_param('prevent', 0, PARAM_BOOL);
|
||||
$allow = optional_param('allow', 0, PARAM_BOOL);
|
||||
$unprohibit = optional_param('unprohibit', 0, PARAM_BOOL);
|
||||
$prohibit = optional_param('prohibit', 0, PARAM_BOOL);
|
||||
$return = optional_param('return', null, PARAM_ALPHANUMEXT);
|
||||
$returnurl = optional_param('returnurl', null, PARAM_LOCALURL);
|
||||
|
||||
list($context, $course, $cm) = get_context_info_array($contextid);
|
||||
|
||||
@@ -56,7 +56,13 @@ if ($course) {
|
||||
// Security first.
|
||||
require_login($course, false, $cm);
|
||||
require_capability('moodle/role:review', $context);
|
||||
$PAGE->set_url($url);
|
||||
|
||||
navigation_node::override_active_url($url);
|
||||
$pageurl = new moodle_url($url);
|
||||
if ($returnurl) {
|
||||
$pageurl->param('returnurl', $returnurl);
|
||||
}
|
||||
$PAGE->set_url($pageurl);
|
||||
|
||||
if ($context->contextlevel == CONTEXT_USER and $USER->id != $context->instanceid) {
|
||||
$PAGE->navbar->includesettingsbase = true;
|
||||
@@ -85,6 +91,11 @@ $straction = get_string('permissions', 'core_role'); // Used by tabs.php.
|
||||
$currenttab = 'permissions';
|
||||
|
||||
$PAGE->set_pagelayout('admin');
|
||||
if ($context->contextlevel == CONTEXT_BLOCK) {
|
||||
// Do not show blocks when changing block's settings, it is confusing.
|
||||
$PAGE->blocks->show_only_fake_blocks(true);
|
||||
}
|
||||
|
||||
$PAGE->set_title($title);
|
||||
switch ($context->contextlevel) {
|
||||
case CONTEXT_SYSTEM:
|
||||
@@ -219,8 +230,8 @@ echo $OUTPUT->box_end();
|
||||
|
||||
if ($context->contextlevel > CONTEXT_USER) {
|
||||
|
||||
if ($context->contextlevel === CONTEXT_COURSECAT && $return === 'management') {
|
||||
$url = new moodle_url('/course/management.php', array('categoryid' => $context->instanceid));
|
||||
if ($returnurl) {
|
||||
$url = new moodle_url($returnurl);
|
||||
} else {
|
||||
$url = $context->get_url();
|
||||
}
|
||||
|
||||
@@ -53,7 +53,8 @@ if (has_capability('moodle/grade:manage', $systemcontext)
|
||||
'3' => '3',
|
||||
'4' => '4',
|
||||
'5' => '5')));
|
||||
$temp->add(new admin_setting_configselect('grade_navmethod', new lang_string('navmethod', 'grades'), null, 0,
|
||||
$temp->add(new admin_setting_configselect('grade_navmethod', new lang_string('navmethod', 'grades'), null,
|
||||
GRADE_NAVMETHOD_TABS,
|
||||
array(GRADE_NAVMETHOD_DROPDOWN => new lang_string('dropdown', 'grades'),
|
||||
GRADE_NAVMETHOD_TABS => new lang_string('tabs', 'grades'),
|
||||
GRADE_NAVMETHOD_COMBO => new lang_string('combo', 'grades'))));
|
||||
|
||||
@@ -35,35 +35,25 @@
|
||||
}}
|
||||
<div class="form-password">
|
||||
<span data-passwordunmask="wrapper" data-passwordunmaskid="{{ id }}">
|
||||
<span class="visibleifjs">
|
||||
<span data-passwordunmask="editor">
|
||||
<input type="hidden"
|
||||
name="{{ name }}"
|
||||
id="{{ id }}"
|
||||
value="{{ value }}"
|
||||
size="{{ size }}"
|
||||
>
|
||||
</span>
|
||||
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
|
||||
<span data-passwordunmask="displayvalue">{{> core_form/element-passwordunmask-fill }}</span>
|
||||
{{# pix }} t/passwordunmask-edit, core, {{# str }} passwordunmaskedithint, form {{/ str }}{{/ pix }}
|
||||
</a>
|
||||
<a href="#" data-passwordunmask="unmask" title="{{ unmaskhint }}">
|
||||
{{# pix }} t/passwordunmask-reveal, core, {{# str }} passwordunmaskrevealhint, form {{/ str }}{{/ pix }}
|
||||
</a>
|
||||
<span data-passwordunmask="instructions" class="form-text text-muted" style="display: none;">
|
||||
{{# str }} passwordunmaskinstructions, form {{/ str }}
|
||||
</span>
|
||||
</span>
|
||||
<noscript>
|
||||
<!-- Backwards compatability for Behat -->
|
||||
<input type="password"
|
||||
<span data-passwordunmask="editor">
|
||||
<input type="hidden"
|
||||
name="{{ name }}"
|
||||
id="{{ id }}"
|
||||
value="{{ value }}"
|
||||
size="{{ size }}"
|
||||
data-size="{{ size }}"
|
||||
class="form-control d-inline-block"
|
||||
>
|
||||
</noscript>
|
||||
</span>
|
||||
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
|
||||
<span data-passwordunmask="displayvalue">{{> core_form/element-passwordunmask-fill }}</span>
|
||||
{{# pix }} t/passwordunmask-edit, core, {{# str }} passwordunmaskedithint, form {{/ str }}{{/ pix }}
|
||||
</a>
|
||||
<a href="#" data-passwordunmask="unmask" title="{{ unmaskhint }}">
|
||||
{{# pix }} t/passwordunmask-reveal, core, {{# str }} passwordunmaskrevealhint, form {{/ str }}{{/ pix }}
|
||||
</a>
|
||||
<span data-passwordunmask="instructions" class="form-text text-muted" style="display: none;">
|
||||
{{# str }} passwordunmaskinstructions, form {{/ str }}
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
{{#js}}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_assignmentupgrade';
|
||||
$plugin->dependencies = array('mod_assign' => 2016051900);
|
||||
$plugin->dependencies = array('mod_assign' => 2016112900);
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_availabilityconditions';
|
||||
|
||||
@@ -325,7 +325,7 @@ Feature: Set up contextual data for tests
|
||||
And I am on site homepage
|
||||
And I follow "Courses"
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
Then I should see "Grade category 1"
|
||||
And I should see "Grade sub category 2"
|
||||
|
||||
@@ -349,9 +349,7 @@ Feature: Set up contextual data for tests
|
||||
When I log in as "admin"
|
||||
And I am on site homepage
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I expand "Setup" node
|
||||
And I follow "Gradebook setup"
|
||||
And I go to "Setup > Gradebook setup" in the course gradebook
|
||||
Then I should see "Test Grade Item 1"
|
||||
And I follow "Edit Test Grade Item 1"
|
||||
And I expand all fieldsets
|
||||
@@ -380,8 +378,7 @@ Feature: Set up contextual data for tests
|
||||
When I log in as "admin"
|
||||
And I am on site homepage
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I follow "Scales"
|
||||
And I go to "Scales" in the course gradebook
|
||||
Then I should see "Test Scale 1"
|
||||
And I should see "Disappointing, Good, Very good, Excellent"
|
||||
|
||||
@@ -432,9 +429,7 @@ Feature: Set up contextual data for tests
|
||||
When I log in as "admin"
|
||||
And I am on site homepage
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I expand "Setup" node
|
||||
And I follow "Gradebook setup"
|
||||
And I go to "Setup > Gradebook setup" in the course gradebook
|
||||
Then I should see "Test Outcome Grade Item 1"
|
||||
And I follow "Edit Test Outcome Grade Item 1"
|
||||
And the field "Outcome" matches value "Grade outcome 1"
|
||||
|
||||
@@ -15,6 +15,7 @@ Feature: Forms manipulation
|
||||
Then the field "First name" matches value "Field value"
|
||||
And the "Select a country" select box should contain "Japan"
|
||||
And the field "New password" matches value "TestPass"
|
||||
And I take focus off "Update profile" "button"
|
||||
And I press "Update profile"
|
||||
|
||||
@javascript
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_capability'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_cohortroles'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
$plugin->dependencies = array(
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_customlang'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_dbtransfer'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_filetypes';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_generator';
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_health'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_innodb'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->component = 'tool_installaddon';
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->maturity = MATURITY_STABLE;
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_langimport'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'logstore_database'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'logstore_legacy'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'logstore_standard'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_log'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_lp'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
|
||||
$plugin->version = 2016083000; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_lpimportcsv'; // Full name of the plugin (used for diagnostics).
|
||||
$plugin->dependencies = array('tool_lp' => 2016052300);
|
||||
$plugin->dependencies = array('tool_lp' => 2016112900);
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_lpmigrate'; // Full name of the plugin (used for diagnostics).
|
||||
$plugin->dependencies = array(
|
||||
'tool_lp' => ANY_VERSION
|
||||
|
||||
@@ -125,9 +125,7 @@ class manager {
|
||||
|
||||
} catch (\Horde_Imap_Client_Exception $e) {
|
||||
$message = $e->getMessage();
|
||||
mtrace("Unable to connect to IMAP server. Failed with '{$message}'");
|
||||
|
||||
return false;
|
||||
throw new \moodle_exception('imapconnectfailure', 'tool_messageinbound', '', null, $message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_messageinbound';
|
||||
|
||||
@@ -101,6 +101,7 @@ class api {
|
||||
*/
|
||||
public static function get_public_config() {
|
||||
global $CFG, $SITE, $PAGE, $OUTPUT;
|
||||
require_once($CFG->libdir . '/authlib.php');
|
||||
|
||||
$context = context_system::instance();
|
||||
// We need this to make work the format text functions.
|
||||
@@ -132,8 +133,12 @@ class api {
|
||||
}
|
||||
$settings['typeoflogin'] = $typeoflogin;
|
||||
|
||||
// Check if the user can sign-up to return the launch URL in that case.
|
||||
$cansignup = signup_is_enabled();
|
||||
|
||||
if ($typeoflogin == self::LOGIN_VIA_BROWSER or
|
||||
$typeoflogin == self::LOGIN_VIA_EMBEDDED_BROWSER) {
|
||||
$typeoflogin == self::LOGIN_VIA_EMBEDDED_BROWSER or
|
||||
$cansignup) {
|
||||
$url = new moodle_url("/$CFG->admin/tool/mobile/launch.php");
|
||||
$settings['launchurl'] = $url->out(false);
|
||||
}
|
||||
|
||||
@@ -23,6 +23,6 @@
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
$plugin->version = 2016052305; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_mobile'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -77,7 +77,7 @@ class renderer extends \plugin_renderer_base {
|
||||
protected function render_add_button($courseid) {
|
||||
global $CFG;
|
||||
|
||||
$button = \html_writer::tag('button', get_string('addrule', 'tool_monitor'));
|
||||
$button = \html_writer::tag('button', get_string('addrule', 'tool_monitor'), ['class' => 'btn btn-primary']);
|
||||
$addurl = new \moodle_url($CFG->wwwroot. '/admin/tool/monitor/edit.php', array('courseid' => $courseid));
|
||||
return \html_writer::link($addurl, $button);
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ Feature: tool_monitor_subscriptions
|
||||
And I trigger cron
|
||||
And I am on site homepage
|
||||
When I click on ".popover-region-notifications" "css_element"
|
||||
And I click on "View more" "link" in the ".popover-region-notifications" "css_element"
|
||||
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
|
||||
Then I should see "New rule site level"
|
||||
And I should see "The course was viewed"
|
||||
|
||||
@@ -137,7 +137,7 @@ Feature: tool_monitor_subscriptions
|
||||
And I trigger cron
|
||||
And I am on site homepage
|
||||
When I click on ".popover-region-notifications" "css_element"
|
||||
And I click on "View more" "link" in the ".popover-region-notifications" "css_element"
|
||||
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
|
||||
Then I should see "New rule course level"
|
||||
And I should see "The course was viewed"
|
||||
|
||||
|
||||
@@ -26,6 +26,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die;
|
||||
|
||||
$plugin->version = 2016052305; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_monitor'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_multilangupgrade'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_phpunit'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_profiling'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -65,6 +65,6 @@ Feature: Backup user data
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I follow "Course 1"
|
||||
When I click on "Grades" "link" in the "Navigation" "block"
|
||||
When I go to "User report" in the course gradebook
|
||||
Then "Quiz 1" row "Grade" column of "user-grade" table should contain "5"
|
||||
And "Quiz 1" row "Percentage" column of "user-grade" table should contain "50"
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_recyclebin'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_replace'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
$plugin->maturity = MATURITY_ALPHA; // this version's maturity level
|
||||
|
||||
@@ -96,12 +96,12 @@ echo $OUTPUT->box_start(); // The forms section at the top
|
||||
|
||||
<div class="mdl-align">
|
||||
|
||||
<form method="post" action="index.php">
|
||||
<form method="post" action="index.php" class="form-inline spamcleanerform">
|
||||
<div>
|
||||
<label class="accesshide" for="keyword_el"><?php print_string('spamkeyword', 'tool_spamcleaner') ?></label>
|
||||
<input type="text" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />
|
||||
<input type="text" class="form-control" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />
|
||||
<input type="hidden" name="sesskey" value="<?php echo sesskey();?>" />
|
||||
<input type="submit" value="<?php echo get_string('spamsearch', 'tool_spamcleaner')?>" />
|
||||
<input type="submit" class="btn btn-primary" value="<?php echo get_string('spamsearch', 'tool_spamcleaner')?>" />
|
||||
</div>
|
||||
</form>
|
||||
<p><?php echo get_string('spameg', 'tool_spamcleaner');?></p>
|
||||
@@ -110,7 +110,8 @@ echo $OUTPUT->box_start(); // The forms section at the top
|
||||
|
||||
<form method="post" action="index.php">
|
||||
<div>
|
||||
<input type="submit" name="autodetect" value="<?php echo get_string('spamauto', 'tool_spamcleaner');?>" />
|
||||
<input type="submit" class="btn btn-primary" name="autodetect"
|
||||
value="<?php echo get_string('spamauto', 'tool_spamcleaner');?>" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -256,7 +257,9 @@ function print_user_list($users_rs, $keywords) {
|
||||
foreach ($users_rs as $rs){
|
||||
foreach ($rs as $user) {
|
||||
if (!$count) {
|
||||
echo '<table border="1" width="100%" id="data-grid"><tr><th> </th><th>'.get_string('user','admin').'</th><th>'.get_string('spamdesc', 'tool_spamcleaner').'</th><th>'.get_string('spamoperation', 'tool_spamcleaner').'</th></tr>';
|
||||
echo '<table class="table table-bordered" border="1" width="100%" id="data-grid"><tr><th> </th>
|
||||
<th>'.get_string('user', 'admin').'</th><th>'.get_string('spamdesc', 'tool_spamcleaner').'</th>
|
||||
<th>'.get_string('spamoperation', 'tool_spamcleaner').'</th></tr>';
|
||||
}
|
||||
$count++;
|
||||
filter_user($user, $keywords, $count);
|
||||
@@ -269,7 +272,7 @@ function print_user_list($users_rs, $keywords) {
|
||||
} else {
|
||||
echo '</table>';
|
||||
echo '<div class="mld-align">
|
||||
<button id="removeall_btn">'.get_string('spamdeleteall', 'tool_spamcleaner').'</button>
|
||||
<button id="removeall_btn" class="btn btn-secondary">'.get_string('spamdeleteall', 'tool_spamcleaner').'</button>
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
@@ -357,8 +360,10 @@ function print_user_entry($user, $keywords, $count) {
|
||||
|
||||
$html .= '<td align="left">'.format_text($user->description, $user->descriptionformat, array('overflowdiv'=>true)).'</td>';
|
||||
$html .= '<td width="100px" align="center">';
|
||||
$html .= '<button onclick="M.tool_spamcleaner.del_user(this,'.$user->id.')">'.get_string('deleteuser', 'admin').'</button><br />';
|
||||
$html .= '<button onclick="M.tool_spamcleaner.ignore_user(this,'.$user->id.')">'.get_string('ignore', 'admin').'</button>';
|
||||
$html .= '<button class="btn btn-primary" onclick="M.tool_spamcleaner.del_user(this,'.$user->id.')">'.
|
||||
get_string('deleteuser', 'admin').'</button><br />';
|
||||
$html .= '<button class="btn btn-secondary" onclick="M.tool_spamcleaner.ignore_user(this,'.$user->id.')">'.
|
||||
get_string('ignore', 'admin').'</button>';
|
||||
$html .= '</td>';
|
||||
$html .= '</tr>';
|
||||
return $html;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'tool_spamcleaner'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_task'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ define(['jquery', 'core/ajax', 'core/log', 'core/notification', 'core/templates'
|
||||
* Get the current values for the form inputs and refresh the list of matching templates.
|
||||
*
|
||||
* @method refreshSearch
|
||||
* @param {String} themename The naeme of the theme.
|
||||
*/
|
||||
var refreshSearch = function(themename) {
|
||||
var componentStr = $('[data-field="component"]').val();
|
||||
|
||||
@@ -21,6 +21,6 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_templatelibrary'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_unsuproles'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_uploadcourse'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_uploaduser'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use tool_usertours\local\forms;
|
||||
use tool_usertours\local\table;
|
||||
use core\notification;
|
||||
|
||||
/**
|
||||
* Tour manager.
|
||||
@@ -117,6 +118,21 @@ class manager {
|
||||
*/
|
||||
const ACTION_RESETFORALL = 'resetforall';
|
||||
|
||||
/**
|
||||
* @var CONFIG_SHIPPED_TOUR
|
||||
*/
|
||||
const CONFIG_SHIPPED_TOUR = 'shipped_tour';
|
||||
|
||||
/**
|
||||
* @var CONFIG_SHIPPED_FILENAME
|
||||
*/
|
||||
const CONFIG_SHIPPED_FILENAME = 'shipped_filename';
|
||||
|
||||
/**
|
||||
* @var CONFIG_SHIPPED_VERSION
|
||||
*/
|
||||
const CONFIG_SHIPPED_VERSION = 'shipped_version';
|
||||
|
||||
/**
|
||||
* This is the entry point for this controller class.
|
||||
*
|
||||
@@ -349,6 +365,10 @@ class manager {
|
||||
if (empty($tour)) {
|
||||
$this->header('newtour');
|
||||
} else {
|
||||
if (!empty($tour->get_config(self::CONFIG_SHIPPED_TOUR))) {
|
||||
notification::add(get_string('modifyshippedtourwarning', 'tool_usertours'), notification::WARNING);
|
||||
}
|
||||
|
||||
$this->header($tour->get_name());
|
||||
$data = $tour->prepare_data_for_form();
|
||||
|
||||
@@ -646,6 +666,11 @@ class manager {
|
||||
}
|
||||
|
||||
$tour = $step->get_tour();
|
||||
|
||||
if (!empty($tour->get_config(self::CONFIG_SHIPPED_TOUR))) {
|
||||
notification::add(get_string('modifyshippedtourwarning', 'tool_usertours'), notification::WARNING);
|
||||
}
|
||||
|
||||
$PAGE->navbar->add($tour->get_name(), $tour->get_view_link());
|
||||
if (isset($id)) {
|
||||
$PAGE->navbar->add($step->get_title(), $step->get_edit_link());
|
||||
@@ -750,4 +775,68 @@ class manager {
|
||||
$step->remove();
|
||||
redirect($tour->get_view_link());
|
||||
}
|
||||
|
||||
/**
|
||||
* Make sure all of the default tours that are shipped with Moodle are created
|
||||
* and up to date with the latest version.
|
||||
*/
|
||||
public static function update_shipped_tours() {
|
||||
global $DB, $CFG;
|
||||
|
||||
// A list of tours that are shipped with Moodle. They are in
|
||||
// the format filename => version. The version value needs to
|
||||
// be increased if the tour has been updated.
|
||||
$shippedtours = [
|
||||
'boost_administrator.json' => 1,
|
||||
'boost_course_view.json' => 1,
|
||||
];
|
||||
|
||||
$existingtourrecords = $DB->get_recordset('tool_usertours_tours');
|
||||
|
||||
// Get all of the existing shipped tours and check if they need to be
|
||||
// updated.
|
||||
foreach ($existingtourrecords as $tourrecord) {
|
||||
$tour = tour::load_from_record($tourrecord);
|
||||
|
||||
if (!empty($tour->get_config(self::CONFIG_SHIPPED_TOUR))) {
|
||||
$filename = $tour->get_config(self::CONFIG_SHIPPED_FILENAME);
|
||||
$version = $tour->get_config(self::CONFIG_SHIPPED_VERSION);
|
||||
|
||||
// If we know about this tour (otherwise leave it as is).
|
||||
if (isset($shippedtours[$filename])) {
|
||||
// And the version in the DB is an older version.
|
||||
if ($version < $shippedtours[$filename]) {
|
||||
// Remove the old version because it's been updated
|
||||
// and needs to be recreated.
|
||||
$tour->remove();
|
||||
} else {
|
||||
// The tour has not been updated so we don't need to
|
||||
// do anything with it.
|
||||
unset($shippedtours[$filename]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$existingtourrecords->close();
|
||||
|
||||
foreach ($shippedtours as $filename => $version) {
|
||||
$filepath = $CFG->dirroot . '/admin/tool/usertours/tours/' . $filename;
|
||||
$tourjson = file_get_contents($filepath);
|
||||
$tour = self::import_tour_from_json($tourjson);
|
||||
|
||||
// Set some additional config data to record that this tour was
|
||||
// added as a shipped tour.
|
||||
$tour->set_config(self::CONFIG_SHIPPED_TOUR, true);
|
||||
$tour->set_config(self::CONFIG_SHIPPED_FILENAME, $filename);
|
||||
$tour->set_config(self::CONFIG_SHIPPED_VERSION, $version);
|
||||
|
||||
if (defined('BEHAT_SITE_RUNNING') || (defined('PHPUNIT_TEST') && PHPUNIT_TEST)) {
|
||||
// Disable this tour if this is behat or phpunit.
|
||||
$tour->set_enabled(false);
|
||||
}
|
||||
|
||||
$tour->persist();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die;
|
||||
|
||||
use tool_usertours\manager;
|
||||
|
||||
/**
|
||||
* Perform the post-install procedures.
|
||||
*/
|
||||
@@ -71,4 +73,7 @@ function xmldb_tool_usertours_install() {
|
||||
$DB->delete_records('usertours_steps', null);
|
||||
$DB->delete_records('usertours_tours', null);
|
||||
}
|
||||
|
||||
// Update the tours shipped with Moodle.
|
||||
manager::update_shipped_tours();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<?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/>.
|
||||
|
||||
/**
|
||||
* Upgrade code for install
|
||||
*
|
||||
* @package tool_usertours
|
||||
* @copyright 2016 Ryan Wyllie <ryan@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
use tool_usertours\manager;
|
||||
|
||||
/**
|
||||
* Upgrade the user tours plugin.
|
||||
*
|
||||
* @param int $oldversion The old version of the user tours plugin
|
||||
* @return bool
|
||||
*/
|
||||
function xmldb_tool_usertours_upgrade($oldversion) {
|
||||
global $CFG, $DB;
|
||||
|
||||
if ($oldversion < 2016120501) {
|
||||
// Update the tours shipped with Moodle.
|
||||
manager::update_shipped_tours();
|
||||
|
||||
upgrade_plugin_savepoint(true, 2016120501, 'tool', 'usertours');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -60,6 +60,7 @@ $string['filter_role'] = 'Role';
|
||||
$string['filter_role_help'] = 'A tour may be restricted to users with selected roles in the context where the tour is shown. For example, restricting a Dashboard tour to users with the role of student won\'t work if users have the role of student in a course (as is generally the case). A Dashboard tour can only be restricted to users with a system role.';
|
||||
$string['importtour'] = 'Import tour';
|
||||
$string['left'] = 'Left';
|
||||
$string['modifyshippedtourwarning'] = 'This is a user tour that has shipped with Moodle. Any modifications you make may be overridden during your next site upgrade.';
|
||||
$string['movestepdown'] = 'Move step down';
|
||||
$string['movestepup'] = 'Move step up';
|
||||
$string['movetourdown'] = 'Move tour down';
|
||||
@@ -136,3 +137,35 @@ $string['target_selector_targetvalue_help'] = 'A CSS selector can be used to tar
|
||||
$string['viewtour_info'] = 'This is the \'{$a->tourname}\' tour. It applies to the path \'{$a->path}\'.';
|
||||
$string['viewtour_edit'] = 'You can <a href="{$a->editlink}">edit the tour defaults</a> and <a href="{$a->resetlink}">force the tour to be displayed</a> to all users again.';
|
||||
$string['tour_resetforall'] = 'The state of the tour has been reset. It will be displayed to all users again.';
|
||||
|
||||
// Boost - administrator tour.
|
||||
$string['tour1_title_welcome'] = 'Welcome';
|
||||
$string['tour1_content_welcome'] = 'Welcome to the Boost theme for Moodle 3.2. If you\'ve used Moodle before you might find some things look a bit different.';
|
||||
$string['tour1_title_navigation'] = 'Navigation';
|
||||
$string['tour1_content_navigation'] = 'Major navigation is now through this nav drawer. The contents update depending on where you are in the site. Use the button at the top to hide or show it.';
|
||||
$string['tour1_title_customisation'] = 'Customisation';
|
||||
$string['tour1_content_customisation'] = 'To customise the look of your site and the front page, use the settings menu in the corner of this header. Try turning editing on right now.';
|
||||
$string['tour1_title_blockregion'] = 'Block region';
|
||||
$string['tour1_content_blockregion'] = 'There is still a block region over here. We recommend removing the Navigation and Settings blocks completely, as all the functionality is elsewhere in the Boost theme.';
|
||||
$string['tour1_title_addingblocks'] = 'Adding blocks';
|
||||
$string['tour1_content_addingblocks'] = 'In fact, think carefully about including any blocks on your pages. Blocks are not shown on the Moodle mobile app, so as a general rule it\'s much better to make sure your site works well without any blocks.';
|
||||
$string['tour1_title_end'] = 'End of tour';
|
||||
$string['tour1_content_end'] = 'This has been a user tour, a new feature in Moodle 3.2. It won\'t show again unless you reset it using the link in the footer. As an admin you can also create your own tours like this!';
|
||||
|
||||
// Boost - course view tour.
|
||||
$string['tour2_title_welcome'] = 'Welcome';
|
||||
$string['tour2_content_welcome'] = 'Welcome to the Boost theme for Moodle 3.2. If you\'ve used Moodle before you might find things look a bit different here on the course page.';
|
||||
$string['tour2_title_customisation'] = 'Customisation';
|
||||
$string['tour2_content_customisation'] = 'To change any course settings, use the settings menu in the corner of this header. You will find a similar settings menu on the home page of every activity, too. Try turning editing on right now.';
|
||||
$string['tour2_title_navigation'] = 'Navigation';
|
||||
$string['tour2_content_navigation'] = 'Major navigation is now though this nav drawer. Use the button at the top to hide or show it. You will see that there are links for major sections of your course.';
|
||||
$string['tour2_title_opendrawer'] = 'Open the nav drawer';
|
||||
$string['tour2_content_opendrawer'] = 'Try opening the nav drawer now.';
|
||||
$string['tour2_title_participants'] = 'Course participants';
|
||||
$string['tour2_content_participants'] = 'View participants here. This is also where you go to add or remove students.';
|
||||
$string['tour2_title_addblock'] = 'Add a block';
|
||||
$string['tour2_content_addblock'] = 'If you enable editing mode you can add blocks from the nav drawer. However, think carefully about including any blocks on your pages. Blocks are not shown on Moodle mobile app, so for the best student experience it is much better to make sure your course works well without any blocks.';
|
||||
$string['tour2_title_addingblocks'] = 'Adding blocks';
|
||||
$string['tour2_content_addingblocks'] = 'You can add blocks to this page using this button. However, think carefully about including any blocks on your pages. Blocks are not shown on Moodle mobile app, so for the best student experience it is much better to make sure your course works well without any blocks.';
|
||||
$string['tour2_title_end'] = 'End of tour';
|
||||
$string['tour2_content_end'] = 'This has been a user tour, a new feature in Moodle 3.2. It won\'t show again unless you reset it using the link in the footer. The site admin can also create further tours for this site if required.';
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
{"name":"Boost - administrator","description":"A tour of some new features in the Boost theme, for administrators","pathmatch":"FRONTPAGE","enabled":"1","sortorder":"0","configdata":"{\"placement\":\"bottom\",\"orphan\":\"0\",\"backdrop\":\"1\",\"reflex\":\"0\",\"filtervalues\":{\"role\":[\"-1\"],\"theme\":[\"boost\"]},\"majorupdatetime\":1479366244,\"default_tour\":true,\"filename\":\"boost_administrator.json\",\"version\":1}","version":"2016102001","steps":[{"title":"tour1_title_welcome,tool_usertours","content":"tour1_content_welcome,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{}"},{"title":"tour1_title_navigation,tool_usertours","content":"tour1_content_navigation,tool_usertours","targettype":"0","targetvalue":"[data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"1","configdata":"{}"},{"title":"tour1_title_customisation,tool_usertours","content":"tour1_content_customisation,tool_usertours","targettype":"0","targetvalue":"body:not(.editing) #page-header .card-block","sortorder":"2","configdata":"{\"placement\":\"bottom\"}"},{"title":"tour1_title_blockregion,tool_usertours","content":"tour1_content_blockregion,tool_usertours","targettype":"0","targetvalue":"body.editing [data-region=\"blocks-column\"]","sortorder":"3","configdata":"{}"},{"title":"tour1_title_addingblocks,tool_usertours","content":"tour1_content_addingblocks,tool_usertours","targettype":"0","targetvalue":"body.editing [data-region=\"blocks-column\"]","sortorder":"4","configdata":"{\"placement\":\"bottom\"}"},{"title":"tour1_title_end,tool_usertours","content":"tour1_content_end,tool_usertours","targettype":"2","targetvalue":"","sortorder":"5","configdata":"{}"}]}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"Boost - course view","description":"A tour for introducing administrators and teachers to courses in the Boost theme","pathmatch":"\/course\/view.php%","enabled":"1","sortorder":"1","configdata":"{\"placement\":\"bottom\",\"orphan\":\"0\",\"backdrop\":\"1\",\"reflex\":\"0\",\"filtervalues\":{\"role\":[\"-1\",\"editingteacher\"],\"theme\":[\"boost\"]},\"majorupdatetime\":1480050104,\"shipped_tour\":true,\"shipped_filename\":\"boost_course_view.json\",\"shipped_version\":1}","version":"2016120501","steps":[{"title":"tour2_title_welcome,tool_usertours","content":"tour2_content_welcome,tool_usertours","targettype":"2","targetvalue":"","sortorder":"0","configdata":"{}"},{"title":"tour2_title_customisation,tool_usertours","content":"tour2_content_customisation,tool_usertours","targettype":"0","targetvalue":"body:not(.editing) #page-header .card-block","sortorder":"1","configdata":"{}"},{"title":"tour2_title_navigation,tool_usertours","content":"tour2_content_navigation,tool_usertours","targettype":"0","targetvalue":"[data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"2","configdata":"{}"},{"title":"tour2_title_opendrawer,tool_usertours","content":"tour2_content_opendrawer,tool_usertours","targettype":"0","targetvalue":"body:not(.drawer-open-left) [data-region=\"drawer-toggle\"] button[data-action=\"toggle-drawer\"]","sortorder":"3","configdata":"{}"},{"title":"tour2_title_participants,tool_usertours","content":"tour2_content_participants,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left [data-region=\"drawer\"] [data-key=\"participants\"]","sortorder":"4","configdata":"{\"placement\":\"bottom\",\"backdrop\":\"0\"}"},{"title":"tour2_title_addblock,tool_usertours","content":"tour2_content_addblock,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left:not(.editing) [data-region=\"drawer\"]","sortorder":"5","configdata":"{\"placement\":\"right\",\"orphan\":\"0\",\"backdrop\":\"0\",\"reflex\":\"0\"}"},{"title":"tour2_title_addingblocks,tool_usertours","content":"tour2_content_addingblocks,tool_usertours","targettype":"0","targetvalue":"body.drawer-open-left.editing [data-region=\"drawer\"] [data-key=\"addblock\"]","sortorder":"6","configdata":"{\"backdrop\":\"0\",\"placement\":\"top\"}"},{"title":"tour2_title_end,tool_usertours","content":"tour2_content_end,tool_usertours","targettype":"2","targetvalue":"","sortorder":"7","configdata":"{}"}]}
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016102001; // The current module version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016052300; // Requires this Moodle version.
|
||||
$plugin->version = 2016120501; // The current module version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'tool_usertours'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'tool_xmldb'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_cas'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
$plugin->dependencies = array('auth_ldap' => 2016051900);
|
||||
$plugin->dependencies = array('auth_ldap' => 2016112900);
|
||||
|
||||
+21
-17
@@ -301,18 +301,24 @@ class auth_plugin_db extends auth_plugin_base {
|
||||
|
||||
// Find obsolete users.
|
||||
if (count($userlist)) {
|
||||
$remove_users = array();
|
||||
// All the drivers can cope with chunks of 10,000. See line 4491 of lib/dml/tests/dml_est.php
|
||||
$userlistchunks = array_chunk($userlist , 10000);
|
||||
foreach($userlistchunks as $userlistchunk) {
|
||||
list($notin_sql, $params) = $DB->get_in_or_equal($userlistchunk, SQL_PARAMS_NAMED, 'u', false);
|
||||
$params['authtype'] = $this->authtype;
|
||||
$sql = "SELECT u.id, u.username
|
||||
$removeusers = array();
|
||||
$params['authtype'] = $this->authtype;
|
||||
$sql = "SELECT u.id, u.username
|
||||
FROM {user} u
|
||||
WHERE u.auth=:authtype AND u.deleted=0 AND u.mnethostid=:mnethostid $suspendselect AND u.username $notin_sql";
|
||||
$params['mnethostid'] = $CFG->mnet_localhost_id;
|
||||
$remove_users = $remove_users + $DB->get_records_sql($sql, $params);
|
||||
WHERE u.auth=:authtype
|
||||
AND u.deleted=0
|
||||
AND u.mnethostid=:mnethostid
|
||||
$suspendselect";
|
||||
$params['mnethostid'] = $CFG->mnet_localhost_id;
|
||||
$internalusersrs = $DB->get_recordset_sql($sql, $params);
|
||||
|
||||
$usernamelist = array_flip($userlist);
|
||||
foreach ($internalusersrs as $internaluser) {
|
||||
if (!array_key_exists($internaluser->username, $usernamelist)) {
|
||||
$removeusers[] = $internaluser;
|
||||
}
|
||||
}
|
||||
$internalusersrs->close();
|
||||
} else {
|
||||
$sql = "SELECT u.id, u.username
|
||||
FROM {user} u
|
||||
@@ -320,13 +326,13 @@ class auth_plugin_db extends auth_plugin_base {
|
||||
$params = array();
|
||||
$params['authtype'] = $this->authtype;
|
||||
$params['mnethostid'] = $CFG->mnet_localhost_id;
|
||||
$remove_users = $DB->get_records_sql($sql, $params);
|
||||
$removeusers = $DB->get_records_sql($sql, $params);
|
||||
}
|
||||
|
||||
if (!empty($remove_users)) {
|
||||
$trace->output(get_string('auth_dbuserstoremove','auth_db', count($remove_users)));
|
||||
if (!empty($removeusers)) {
|
||||
$trace->output(get_string('auth_dbuserstoremove', 'auth_db', count($removeusers)));
|
||||
|
||||
foreach ($remove_users as $user) {
|
||||
foreach ($removeusers as $user) {
|
||||
if ($this->config->removeuser == AUTH_REMOVEUSER_FULLDELETE) {
|
||||
delete_user($user);
|
||||
$trace->output(get_string('auth_dbdeleteuser', 'auth_db', array('name'=>$user->username, 'id'=>$user->id)), 1);
|
||||
@@ -339,7 +345,7 @@ class auth_plugin_db extends auth_plugin_base {
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($remove_users);
|
||||
unset($removeusers);
|
||||
}
|
||||
|
||||
if (!count($userlist)) {
|
||||
@@ -933,5 +939,3 @@ class auth_plugin_db extends auth_plugin_base {
|
||||
return core_user::clean_data($user);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_db'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die;
|
||||
|
||||
$plugin->version = 2016052302; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_email'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
+2
-2
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_fc'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_imap'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_ldap'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version (3.1).
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version (3.1).
|
||||
$plugin->component = 'auth_lti'; // Full name of the plugin (used for diagnostics).
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_manual'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_mnet'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_nntp'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_nologin'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_none'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -23,6 +23,6 @@
|
||||
*/
|
||||
|
||||
$string['auth_pamdescription'] = 'This method uses PAM to access the native usernames on this server. You have to install <a href="http://www.math.ohio-state.edu/~ccunning/pam_auth/">PHP4 PAM Authentication</a> in order to use this module.';
|
||||
$string['auth_passwordisexpired'] = 'Your password is expired. Do you want change your password now?';
|
||||
$string['auth_passwordwillexpire'] = 'Your password will expire in {$a} days. Do you want change your password now?';
|
||||
$string['auth_passwordisexpired'] = 'Your password has expired. Do you want to change your password now?';
|
||||
$string['auth_passwordwillexpire'] = 'Your password will expire in {$a} days. Do you want to change your password now?';
|
||||
$string['pluginname'] = 'PAM (Pluggable Authentication Modules)';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_pam'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_pop3'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -25,6 +25,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_shibboleth'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -61,6 +61,10 @@ class behat_auth extends behat_base {
|
||||
* @Given /^I log out$/
|
||||
*/
|
||||
public function i_log_out() {
|
||||
|
||||
// Wait for page to be loaded.
|
||||
$this->wait_for_pending_js();
|
||||
|
||||
// Click on logout link in footer, as it's much faster.
|
||||
$this->execute('behat_general::i_click_on_in_the', array(get_string('logout'), 'link', '#page-footer', "css_element"));
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ information provided here is intended especially for developers.
|
||||
* The authentication plugin auth_radius has been moved to https://github.com/moodlehq/moodle-auth_radius
|
||||
* New auth_email::user_signup_with_confirmation() method has a new optional parameter $confirmationurl to provide a different
|
||||
confirmation URL.
|
||||
* New signup_is_enabled() function available in lib/authlib.php to safely check if sign-up is enabled in the site.
|
||||
|
||||
=== 3.0 ===
|
||||
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'auth_webservice'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_completion';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_date';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_grade';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_group';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_grouping';
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300;
|
||||
$plugin->requires = 2016051900;
|
||||
$plugin->version = 2016120500;
|
||||
$plugin->requires = 2016112900;
|
||||
$plugin->component = 'availability_profile';
|
||||
|
||||
@@ -131,7 +131,7 @@ abstract class backup implements checksumable {
|
||||
* point is backup when some behavior/approach channged, in order to allow
|
||||
* conditional coding based on it.
|
||||
*/
|
||||
const VERSION = 2016052300;
|
||||
const VERSION = 2016120500;
|
||||
/**
|
||||
* Usually same than major release zero version, mainly for informative/historic purposes.
|
||||
*/
|
||||
|
||||
@@ -781,10 +781,12 @@ class core_backup_renderer extends plugin_renderer_base {
|
||||
if (!$category->visible) {
|
||||
$row->attributes['class'] .= ' dimmed';
|
||||
}
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$row->cells = array(
|
||||
html_writer::empty_tag('input', array('type' => 'radio', 'name' => 'targetid', 'value' => $category->id)),
|
||||
format_string($category->name, true, array('context' => context_coursecat::instance($category->id))),
|
||||
format_text($category->description, $category->descriptionformat, array('overflowdiv' => true))
|
||||
format_text(file_rewrite_pluginfile_urls($category->description, 'pluginfile.php', $context->id,
|
||||
'coursecat', 'description', null), $category->descriptionformat, array('overflowdiv' => true))
|
||||
);
|
||||
$table->data[] = $row;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ Feature: Import course's contents into another course
|
||||
| Description | Test forum description |
|
||||
And I add the "Comments" block
|
||||
And I add the "Recent blog entries" block
|
||||
And I turn editing mode off
|
||||
When I import "Course 1" course into "Course 2" course using this options:
|
||||
Then I should see "Test database name"
|
||||
And I should see "Test forum name"
|
||||
|
||||
@@ -26,7 +26,6 @@ Feature: Option to include groups and groupings when importing a course to anoth
|
||||
| Grouping 2 | C1 | GROUPING2 |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I turn editing mode on
|
||||
|
||||
Scenario: Include groups and groupings when importing a course to another course
|
||||
Given I import "Course 1" course into "Course 2" course using this options:
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016052300; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX)
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version
|
||||
$plugin->component = 'block_activity_modules'; // Full name of the plugin (used for diagnostics)
|
||||
|
||||
@@ -50,7 +50,7 @@ Feature: The activity results block displays student scores
|
||||
And I press "Save and return to course"
|
||||
And I follow "Course 1"
|
||||
And I should see "Test page name"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "90.00" to the user "Student 1" for the grade item "Test assignment 1"
|
||||
And I give the grade "80.00" to the user "Student 2" for the grade item "Test assignment 1"
|
||||
@@ -83,16 +83,19 @@ Scenario: Block should select current activity by default
|
||||
When I add the "Activity results" block
|
||||
And I configure the "Activity results" block
|
||||
Then the field "id_config_activitygradeitemid" matches value "Test assignment 1"
|
||||
And I press "Cancel"
|
||||
And I follow "Course 1"
|
||||
And I follow "Test assignment 2"
|
||||
And I add the "Activity results" block
|
||||
And I configure the "Activity results" block
|
||||
And the field "id_config_activitygradeitemid" matches value "Test assignment 2"
|
||||
And I press "Cancel"
|
||||
And I follow "Course 1"
|
||||
And I follow "Test assignment 3"
|
||||
And I add the "Activity results" block
|
||||
And I configure the "Activity results" block
|
||||
And the field "id_config_activitygradeitemid" matches value "Test assignment 3"
|
||||
And I press "Cancel"
|
||||
And I follow "Course 1"
|
||||
And I follow "Test page name"
|
||||
And I add the "Activity results" block
|
||||
|
||||
@@ -32,7 +32,7 @@ Feature: The activity results block displays student scores
|
||||
| Description | Offline text |
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "90.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "80.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -26,8 +26,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| student5 | C1 | student |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I navigate to "Scales" node in "Grade administration"
|
||||
And I go to "Scales" in the course gradebook
|
||||
And I press "Add a new scale"
|
||||
And I set the following fields to these values:
|
||||
| Name | My Scale |
|
||||
@@ -42,7 +41,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| id_grade_modgrade_type | Scale |
|
||||
| id_grade_modgrade_scale | My Scale |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "Excellent!" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "Very good" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -43,8 +43,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| student6 | G3 |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I navigate to "Scales" node in "Grade administration"
|
||||
And I go to "Scales" in the course gradebook
|
||||
And I press "Add a new scale"
|
||||
And I set the following fields to these values:
|
||||
| Name | My Scale |
|
||||
@@ -60,7 +59,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| id_grade_modgrade_scale | My Scale |
|
||||
| Group mode | Separate groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "Excellent!" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "Very good" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -50,7 +50,7 @@ Feature: The activity results block displays student scores
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
| Group mode | Separate groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "100.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "90.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -50,7 +50,7 @@ Feature: The activity results block displays student scores
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
| Group mode | Visible groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "100.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "90.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -32,7 +32,7 @@ Feature: The activity results block displays student scores
|
||||
| Description | Offline text |
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "90.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "80.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -26,8 +26,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| student5 | C1 | student |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I navigate to "Scales" node in "Grade administration"
|
||||
And I go to "Scales" in the course gradebook
|
||||
And I press "Add a new scale"
|
||||
And I set the following fields to these values:
|
||||
| Name | My Scale |
|
||||
@@ -42,7 +41,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| id_grade_modgrade_type | Scale |
|
||||
| id_grade_modgrade_scale | My Scale |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "Excellent!" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "Very good" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -43,8 +43,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| student6 | G3 |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I navigate to "Scales" node in "Grade administration"
|
||||
And I go to "Scales" in the course gradebook
|
||||
And I press "Add a new scale"
|
||||
And I set the following fields to these values:
|
||||
| Name | My Scale |
|
||||
@@ -60,7 +59,7 @@ Feature: The activity results block displays student scores as scales
|
||||
| id_grade_modgrade_scale | My Scale |
|
||||
| Group mode | Separate groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "Excellent!" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "Very good" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -50,7 +50,7 @@ Feature: The activity results block displays student scores
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
| Group mode | Separate groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "100.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "90.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -50,7 +50,7 @@ Feature: The activity results block displays student scores
|
||||
| assignsubmission_file_enabled | 0 |
|
||||
| Group mode | Visible groups |
|
||||
And I follow "Course 1"
|
||||
And I click on "Grades" "link" in the "Navigation" "block"
|
||||
And I go to "View > Grader report" in the course gradebook
|
||||
And I turn editing mode on
|
||||
And I give the grade "100.00" to the user "Student 1" for the grade item "Test assignment"
|
||||
And I give the grade "90.00" to the user "Student 2" for the grade item "Test assignment"
|
||||
|
||||
@@ -24,6 +24,6 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$plugin->version = 2016070400; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016051900; // Requires this Moodle version.
|
||||
$plugin->version = 2016120500; // The current plugin version (Date: YYYYMMDDXX).
|
||||
$plugin->requires = 2016112900; // Requires this Moodle version.
|
||||
$plugin->component = 'block_activity_results'; // Full name of the plugin (used for diagnostics).
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user