MDL-50225 core: removed unused message bulk action files

In core we now use a modal to perform these actions. I
initially thought these were kept because they were a fall
back if JS was disabled. However, the functionality is
broken and doesn't work. Since we do not have to support
non-JS anymore these files have simply been removed as well
as relevant strings deprecated.
This commit is contained in:
Mark Nelson
2018-07-30 09:57:01 +08:00
parent c1f7cf67f4
commit dc4dea0e40
5 changed files with 34 additions and 280 deletions
+15
View File
@@ -120,3 +120,18 @@ selectnotestate,core_notes
extendenrol,core
groupextendenrol,core
virusfounduser,core_antivirus
formattexttype,core
currentlyselectedusers,core
emailuserhasnone,core
emaildisplayhidden,core
sitemessage,core
coursemessage,core
addedrecip,core
addedrecips,core
messagingdisabled,core_message
messagedselectedcountusersfailed,core
backtoparticipants,core
keepsearching,core
allfieldsrequired,core
previewhtml,core
messagedselecteduserfailed,core
+3 -1
View File
@@ -72,7 +72,6 @@ $string['message'] = 'Message';
$string['messagepreferences'] = 'Message preferences';
$string['messages'] = 'Messages';
$string['messagingdatahasnotbeenmigrated'] = 'Your messages are temporarily unavailable due to upgrades in the messaging infrastructure. Please wait for them to be migrated.';
$string['messagingdisabled'] = 'Messaging is disabled on this site, emails will be sent instead';
$string['newonlymsg'] = 'Show only new';
$string['newmessage'] = 'New message';
$string['newmessagesearch'] = 'Select or search for a contact to send a new message.';
@@ -179,3 +178,6 @@ $string['viewnotificationresource'] = 'Go to: {$a}';
$string['viewunreadmessageswith'] = 'View unread messages with {$a}';
$string['writeamessage'] = 'Write a message...';
$string['you'] = 'You:';
// Deprecated since Moodle 3.6.
$string['messagingdisabled'] = 'Messaging is disabled on this site, emails will be sent instead';
+16 -15
View File
@@ -51,8 +51,6 @@ $string['addcountertousername'] = 'Create user by adding number to username';
$string['addcreator'] = 'Add course creator';
$string['adddots'] = 'Add...';
$string['added'] = 'Added {$a}';
$string['addedrecip'] = 'Added {$a} new recipient';
$string['addedrecips'] = 'Added {$a} new recipients';
$string['addedtogroup'] = 'Added to group "{$a}"';
$string['addedtogroupnot'] = 'Not added to group "{$a}"';
$string['addedtogroupnotenrolled'] = 'Not added to group "{$a}", because not enrolled in course';
@@ -127,7 +125,6 @@ $string['allactions'] = 'All actions';
$string['allactivities'] = 'All activities';
$string['allcategories'] = 'All categories';
$string['alldays'] = 'All days';
$string['allfieldsrequired'] = 'All fields are required';
$string['allfiles'] = 'All files';
$string['allgroups'] = 'All groups';
$string['allchanges'] = 'All changes';
@@ -173,7 +170,6 @@ $string['backto'] = 'Back to {$a}';
$string['backtocourselisting'] = 'Back to course listing';
$string['backtohome'] = 'Back to the site home';
$string['backtopageyouwereon'] = 'Back to the page you were on';
$string['backtoparticipants'] = 'Back to participants list';
$string['backup'] = 'Backup';
$string['backupactivehelp'] = 'Choose whether or not to do automated backups.';
$string['backupcancelled'] = 'Backup cancelled';
@@ -347,7 +343,6 @@ $string['courseoverviewfilesext'] = 'Course summary files extensions';
$string['courseoverviewfileslimit'] = 'Course summary files limit';
$string['courseoverviewfiles_help'] = 'Course summary files, such as images, are displayed in the list of courses together with the summary.';
$string['courseinfo'] = 'Course info';
$string['coursemessage'] = 'Message course users';
$string['coursenotaccessible'] = 'This course does not allow public access';
$string['courselegacyfiles'] = 'Legacy course files';
$string['courselegacyfiles_help'] = 'The course files area provides some backward compatibility with Moodle 1.9 and earlier. All files in this area are always accessible to all participants in the course (whether you link to them or not) and there is no way to know where any of these files are being used in Moodle.
@@ -437,7 +432,6 @@ $string['currentcourseadding'] = 'Current course, adding data to it';
$string['currentcoursedeleting'] = 'Current course, deleting it first';
$string['currentlanguage'] = 'Current language';
$string['currentlocaltime'] = 'your current local time';
$string['currentlyselectedusers'] = 'Currently selected users';
$string['currentpicture'] = 'Current picture';
$string['currentrelease'] = 'Current release information';
$string['currentversion'] = 'Current version';
@@ -632,7 +626,6 @@ $string['emaildisableclick'] = 'Click here to disable all email from being sent
$string['emaildisplay'] = 'Email display';
$string['emaildisplay_help'] = 'Privileged users (such as teachers and managers) will always be able to see your email address.';
$string['emaildisplaycourse'] = 'Allow only other course members to see my email address';
$string['emaildisplayhidden'] = 'Email hidden';
$string['emaildisplayno'] = 'Hide my email address from non-privileged users';
$string['emaildisplayyes'] = 'Allow everyone to see my email address';
$string['emailenable'] = 'This email address is enabled';
@@ -726,7 +719,6 @@ $string['emailresetconfirmsent'] = 'An email has been sent to your address at <b
If you continue to have difficulty, contact the site administrator.';
$string['emailtoprivatefiles'] = 'You can also e-mail files as attachments straight to your private files space. Simply attach your files to an e-mail and send it to {$a}';
$string['emailtoprivatefilesdenied'] = 'Your administrator has disabled the option to upload your own private files.';
$string['emailuserhasnone'] = 'There is no email address for the user.';
$string['emailvia'] = '{$a->name} (via {$a->siteshortname})';
$string['emptydragdropregion'] = 'empty region';
$string['enable'] = 'Enable';
@@ -861,7 +853,6 @@ $string['formathtml'] = 'HTML format';
$string['formatmarkdown'] = 'Markdown format';
$string['formatplain'] = 'Plain text format';
$string['formattext'] = 'Moodle auto-format';
$string['formattexttype'] = 'Formatting';
$string['forumpreferences'] = 'Forum preferences';
$string['framesetinfo'] = 'This frameset document contains:';
$string['from'] = 'From';
@@ -1090,7 +1081,6 @@ $string['ip_address'] = 'IP address';
$string['jump'] = 'Jump';
$string['jumpto'] = 'Jump to...';
$string['keep'] = 'Keep';
$string['keepsearching'] = 'Keep searching';
$string['langltr'] = 'Language direction left-to-right';
$string['langrtl'] = 'Language direction right-to-left';
$string['language'] = 'Language';
@@ -1190,9 +1180,7 @@ $string['maxsizeandattachmentsandareasize'] = 'Maximum size for new files: {$a->
$string['memberincourse'] = 'People in the course';
$string['messagebody'] = 'Message body';
$string['messagedselectedusers'] = 'Selected users have been messaged and the recipient list has been reset.';
$string['messagedselecteduserfailed'] = 'The message was not sent to user {$a->fullname}.';
$string['messagedselectedusersfailed'] = 'Something went wrong while messaging selected users. Some may have received the email.';
$string['messagedselectedcountusersfailed'] = 'A problem occurred and {$a} messages have not been sent.';
$string['messageprovider:availableupdate'] = 'Available update notifications';
$string['messageprovider:backup'] = 'Backup notifications';
$string['messageprovider:badgecreatornotice'] = 'Badge creator notifications';
@@ -1555,7 +1543,6 @@ $string['preferredtheme'] = 'Preferred theme';
$string['preprocessingbackupfile'] = 'Preprocessing backup file';
$string['prev'] = 'Prev';
$string['preview'] = 'Preview';
$string['previewhtml'] = 'HTML format preview';
$string['previeworchoose'] = 'Preview or choose a theme';
$string['previous'] = 'Previous';
$string['previouslyselectedusers'] = 'Previously selected users not matching \'{$a}\'';
@@ -1856,7 +1843,6 @@ $string['sitefilesused'] = 'Site files used in this course';
$string['sitehome'] = 'Site home';
$string['sitelegacyfiles'] = 'Legacy site files';
$string['sitelogs'] = 'Site logs';
$string['sitemessage'] = 'Message users';
$string['sitenews'] = 'Site announcements';
$string['sitepages'] = 'Site pages';
$string['sitepartlist'] = 'You do not have the required permissions to view the participants list';
@@ -2087,7 +2073,6 @@ $string['uploadthisfile'] = 'Upload this file';
$string['url'] = 'URL';
$string['used'] = 'Used';
$string['usedinnplaces'] = 'Used in {$a} places';
$string['usemessageform'] = 'or use the form below to send a message to the selected students';
$string['user'] = 'User';
$string['useraccount'] = 'User account';
$string['userconfirmed'] = 'Confirmed {$a}';
@@ -2213,3 +2198,19 @@ $string['sectionusedefaultname'] = 'Use default section name';
$string['publish'] = 'Publish';
$string['extendenrol'] = 'Extend enrolment (individual)';
$string['groupextendenrol'] = 'Extend enrolment (common)';
// Deprecated since Moodle 3.6.
$string['addedrecip'] = 'Added {$a} new recipient';
$string['addedrecips'] = 'Added {$a} new recipients';
$string['allfieldsrequired'] = 'All fields are required';
$string['backtoparticipants'] = 'Back to participants list';
$string['currentlyselectedusers'] = 'Currently selected users';
$string['coursemessage'] = 'Message course users';
$string['emaildisplayhidden'] = 'Email hidden';
$string['emailuserhasnone'] = 'There is no email address for the user.';
$string['formattexttype'] = 'Formatting';
$string['keepsearching'] = 'Keep searching';
$string['messagedselectedcountusersfailed'] = 'A problem occurred and {$a} messages have not been sent.';
$string['messagedselecteduserfailed'] = 'The message was not sent to user {$a->fullname}.';
$string['previewhtml'] = 'HTML format preview';
$string['sitemessage'] = 'Message users';
-59
View File
@@ -1,59 +0,0 @@
<form id="theform" method="post" action="messageselect.php">
<input type="hidden" name="id" value="<?php p($id) ?>" />
<input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
<input type="hidden" name="returnto" value="<?php p($returnto) ?>" />
<input type="hidden" name="deluser" value="" />
<?php echo $OUTPUT->box_start(); ?>
<table border="0" cellpadding="5">
<tr valign="top">
<td align="right"><b>
<?php print_string("messagebody"); ?>:
</b></td>
<td align="left">
<?php print_textarea(true, 15, 65, 1, 1, "messagebody", $messagebody); ?>
</td>
</tr>
<tr valign="top">
<td align="right"><label for="menuformat"><b><?php print_string("formattexttype"); ?>:</b></label></td>
<td>
<?php
print_string('formathtml');
echo '<input type="hidden" name="format" value="'.FORMAT_HTML.'" />';
?>
</td>
</tr>
<tr><td align="center" colspan="2">
<input type="submit" name="send" value="<?php print_string('sendmessage', 'message'); ?>" />
<input type="submit" name="preview" value="<?php print_string('preview'); ?>" />
</td></tr>
</table>
<?php echo $OUTPUT->box_end(); ?>
<table align="center"><tr><th colspan="4" scope="row"><?php print_string('currentlyselectedusers'); ?></th></tr>
<?php
if (count($SESSION->emailto[$id])) {
foreach ($SESSION->emailto[$id] as $user) {
echo '<tr><td>'.fullname($user,true).'</td>';
// Check to see if we should be showing the email address.
if ($user->maildisplay == 0) { // 0 = don't display my email to anyone.
echo '<td>' . get_string('emaildisplayhidden') . '</td><td>';
} else {
echo '<td>'.$user->email.'</td><td>';
}
if (empty($user->email)) {
$error = get_string('emailuserhasnone');
}
if (!empty($error)) {
echo $OUTPUT->pix_icon('t/emailno', $error);
unset($error);
}
echo '</td><td><input type="submit" onClick="this.form.deluser.value='.$user->id.';" value="' . get_string('remove') . '" /></td></tr>';
}
}
else {
echo '<tr><td colspan="3" align="center">'.get_string('nousersyet').'</td></tr>';
}
?>
</table>
</form>
-205
View File
@@ -1,205 +0,0 @@
<?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/>.
/**
* This file is part of the User section Moodle
*
* @copyright 1999 Martin Dougiamas http://dougiamas.com
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @package core_user
*/
require_once('../config.php');
require_once($CFG->dirroot.'/message/lib.php');
require_once($CFG->dirroot . '/course/lib.php');
$id = required_param('id', PARAM_INT);
$messagebody = optional_param('messagebody', '', PARAM_CLEANHTML);
$send = optional_param('send', '', PARAM_BOOL);
$preview = optional_param('preview', '', PARAM_BOOL);
$edit = optional_param('edit', '', PARAM_BOOL);
$returnto = optional_param('returnto', '', PARAM_LOCALURL);
$format = optional_param('format', FORMAT_MOODLE, PARAM_INT);
$deluser = optional_param('deluser', 0, PARAM_INT);
$url = new moodle_url('/user/messageselect.php', array('id' => $id));
if ($messagebody !== '') {
$url->param('messagebody', $messagebody);
}
if ($send !== '') {
$url->param('send', $send);
}
if ($preview !== '') {
$url->param('preview', $preview);
}
if ($edit !== '') {
$url->param('edit', $edit);
}
if ($returnto !== '') {
$url->param('returnto', $returnto);
}
if ($format !== FORMAT_MOODLE) {
$url->param('format', $format);
}
if ($deluser !== 0) {
$url->param('deluser', $deluser);
}
$PAGE->set_url($url);
if (!$course = $DB->get_record('course', array('id' => $id))) {
print_error('invalidcourseid');
}
require_login($course);
$coursecontext = context_course::instance($id); // Course context.
$systemcontext = context_system::instance(); // SYSTEM context.
require_capability('moodle/course:bulkmessaging', $coursecontext);
if (empty($SESSION->emailto)) {
$SESSION->emailto = array();
}
if (!array_key_exists($id, $SESSION->emailto)) {
$SESSION->emailto[$id] = array();
}
if ($deluser) {
if (array_key_exists($id, $SESSION->emailto) && array_key_exists($deluser, $SESSION->emailto[$id])) {
unset($SESSION->emailto[$id][$deluser]);
}
}
if (empty($SESSION->emailselect[$id]) || $messagebody) {
$SESSION->emailselect[$id] = array('messagebody' => $messagebody);
}
$messagebody = $SESSION->emailselect[$id]['messagebody'];
$count = 0;
if ($data = data_submitted()) {
require_sesskey();
$namefields = get_all_user_name_fields(true);
foreach ($data as $k => $v) {
if (preg_match('/^(user|teacher)(\d+)$/', $k, $m)) {
if (!array_key_exists($m[2], $SESSION->emailto[$id])) {
if ($user = $DB->get_record_select('user', "id = ?", array($m[2]), 'id, '.
$namefields . ', idnumber, email, mailformat, lastaccess, lang, '.
'maildisplay, auth, suspended, deleted, emailstop, username')) {
$SESSION->emailto[$id][$m[2]] = $user;
$count++;
}
}
}
}
}
if ($course->id == SITEID) {
$strtitle = get_string('sitemessage');
$PAGE->set_pagelayout('admin');
} else {
$strtitle = get_string('coursemessage');
$PAGE->set_pagelayout('incourse');
}
$link = null;
if (course_can_view_participants($coursecontext) || course_can_view_participants($systemcontext)) {
$link = new moodle_url("/user/index.php", array('id' => $course->id));
}
$PAGE->navbar->add(get_string('participants'), $link);
$PAGE->navbar->add($strtitle);
$PAGE->set_title($strtitle);
$PAGE->set_heading($strtitle);
echo $OUTPUT->header();
// If messaging is disabled on site, we can still allow users with capabilities to send emails instead.
if (empty($CFG->messaging)) {
echo $OUTPUT->notification(get_string('messagingdisabled', 'message'));
}
if ($count) {
if ($count == 1) {
$heading = get_string('addedrecip', 'moodle', $count);
} else {
$heading = get_string('addedrecips', 'moodle', $count);
}
echo $OUTPUT->heading($heading);
}
if (!empty($messagebody) && !$edit && !$deluser && ($preview || $send)) {
require_sesskey();
if (count($SESSION->emailto[$id])) {
if (!empty($preview)) {
echo '<form method="post" action="messageselect.php" style="margin: 0 20px;">
<input type="hidden" name="returnto" value="'.s($returnto).'" />
<input type="hidden" name="id" value="'.$id.'" />
<input type="hidden" name="format" value="'.$format.'" />
<input type="hidden" name="sesskey" value="' . sesskey() . '" />
';
echo "<h3>".get_string('previewhtml')."</h3>";
echo "<div class=\"messagepreview\">\n".format_text($messagebody, $format)."\n</div>\n";
echo '<p align="center"><input type="submit" name="send" value="'.get_string('sendmessage', 'message').'" />'."\n";
echo '<input type="submit" name="edit" value="'.get_string('update').'" /></p>';
echo "\n</form>";
} else if (!empty($send)) {
$fails = array();
foreach ($SESSION->emailto[$id] as $user) {
if (!message_post_message($USER, $user, $messagebody, $format)) {
$user->fullname = fullname($user);
$fails[] = get_string('messagedselecteduserfailed', 'moodle', $user);
};
}
if (empty($fails)) {
echo $OUTPUT->heading(get_string('messagedselectedusers'));
unset($SESSION->emailto[$id]);
unset($SESSION->emailselect[$id]);
} else {
echo $OUTPUT->heading(get_string('messagedselectedcountusersfailed', 'moodle', count($fails)));
echo '<ul>';
foreach ($fails as $f) {
echo '<li>', $f, '</li>';
}
echo '</ul>';
}
echo '<p align="center"><a href="index.php?id='.$id.'">'.get_string('backtoparticipants').'</a></p>';
}
echo $OUTPUT->footer();
exit;
} else {
echo $OUTPUT->notification(get_string('nousersyet'));
}
}
echo '<p align="center"><a href="'.$returnto.'">'.get_string("keepsearching").'</a>'.
((count($SESSION->emailto[$id])) ? ', '.get_string('usemessageform') : '').'</p>';
if ((!empty($send) || !empty($preview) || !empty($edit)) && (empty($messagebody))) {
echo $OUTPUT->notification(get_string('allfieldsrequired'));
}
if (count($SESSION->emailto[$id])) {
require_sesskey();
require("message.html");
}
$PAGE->requires->yui_module('moodle-core-formchangechecker',
'M.core_formchangechecker.init',
array(array(
'formid' => 'theform'
))
);
$PAGE->requires->string_for_js('changesmadereallygoaway', 'moodle');
echo $OUTPUT->footer();