Merge branch 'MDL-49963' of https://github.com/andrewhancox/moodle
authorDavid Monllao <davidm@moodle.com>
Mon, 21 Mar 2016 02:04:29 +0000 (10:04 +0800)
committerDavid Monllao <davidm@moodle.com>
Mon, 21 Mar 2016 02:04:29 +0000 (10:04 +0800)
1  2 
lang/en/moodle.php
user/index.php

diff --combined lang/en/moodle.php
@@@ -237,6 -237,17 +237,6 @@@ $string['idnumbercoursecategory_help'] 
  $string['categoryupdated'] = 'The category \'{$a}\' was updated';
  $string['changesmadereallygoaway'] = 'You have made changes. Are you sure you want to navigate away and lose your changes?';
  $string['city'] = 'City/town';
 -$string['clambroken'] = 'Your administrator has enabled virus checking for file uploads but has misconfigured something.<br />Your file upload was NOT successful. Your administrator has been emailed to notify them so they can fix it.<br />Maybe try uploading this file later.';
 -$string['clamdeletedfile'] = 'The file has been deleted';
 -$string['clamdeletedfilefailed'] = 'The file could not be deleted';
 -$string['clamemailsubject'] = '{$a} :: Clam AV notification';
 -$string['clamfailed'] = 'Clam AV has failed to run.  The return error message was {$a}. Here is the output from Clam:';
 -$string['clamlost'] = 'Moodle is configured to run clam on file upload, but the path supplied to Clam AV, {$a},  is invalid.';
 -$string['clamlostandactinglikevirus'] = 'In addition, Moodle is configured so that if clam fails to run, files are treated like viruses.  This essentially means that no student can upload a file successfully until you fix this.';
 -$string['clammovedfile'] = 'The file has been moved to your specified quarantine directory, the new location is {$a}';
 -$string['clammovedfilebasic'] = 'The file has been moved to a quarantine directory.';
 -$string['clamquarantinedirfailed'] = 'Could not move the file into your specified quarantine directory, {$a}. You need to fix this as files are being deleted if they\'re found to be infected.';
 -$string['clamunknownerror'] = 'There was an unknown error with clam.';
  $string['cleaningtempdata'] = 'Cleaning temp data';
  $string['clear'] = 'Clear';
  $string['clickhelpiconformoreinfo'] = '... continues ... Click on the help icon to read the full article';
@@@ -996,7 -1007,7 +996,7 @@@ $string['interestslist'] = 'List of int
  $string['interestslist_help'] = 'Enter your interests, one by one, which will then be displayed on your profile page as tags.';
  $string['invalidemail'] = 'Invalid email address';
  $string['invalidlogin'] = 'Invalid login, please try again';
 -$string['invalidusername'] = 'The username can only contain alphanumeric lowercase characters, underscore (_), hyphen (-), period (.) or at symbol (@)';
 +$string['invalidusername'] = 'The username can only contain alphanumeric lowercase characters (letters and numbers), underscore (_), hyphen (-), period (.) or at symbol (@).';
  $string['invalidusernameupload'] = 'Invalid username';
  $string['ip_address'] = 'IP address';
  $string['jump'] = 'Jump';
@@@ -1228,7 -1239,6 +1228,7 @@@ $string['never'] = 'Never'
  $string['neverdeletelogs'] = 'Never delete logs';
  $string['new'] = 'New';
  $string['newaccount'] = 'New account';
 +$string['newactivityname'] = 'New name for activity {$a}';
  $string['newcourse'] = 'New course';
  $string['newpassword'] = 'New password';
  $string['newpassword_help'] = 'Enter a new password or leave blank to keep current password.';
@@@ -1626,7 -1636,7 +1626,7 @@@ $string['secondstotime259200'] = '3 day
  $string['secondstotime345600'] = '4 days';
  $string['secondstotime432000'] = '5 days';
  $string['secondstotime518400'] = '6 days';
 -$string['secondstotime604800'] = '1 Week';
 +$string['secondstotime604800'] = '1 week';
  $string['secondstotime86400'] = '1 day';
  $string['secretalreadyused'] = 'Change password confirmation link was already used, password was not changed.';
  $string['secs'] = 'secs';
@@@ -1645,6 -1655,8 +1645,8 @@@ $string['selectagroup'] = 'Select a gro
  $string['selectaregion'] = 'Select a region';
  $string['selctauser'] = 'Select a user';
  $string['selectall'] = 'Select all';
+ $string['selectallusersonpage'] = 'Select all users on this page';
+ $string['selectalluserswithcount'] = 'Select all {$a} users';
  $string['selectamodule'] = 'Please select an activity module';
  $string['selectanoptions'] = 'Select an option';
  $string['selectdefault'] = 'Select default';
@@@ -1961,6 -1973,25 +1963,6 @@@ $string['viewfileinpopup'] = 'View fil
  $string['viewprofile'] = 'View profile';
  $string['views'] = 'Views';
  $string['viewsolution'] = 'view solution';
 -$string['virusfound'] = 'Attention administrator! Clam AV has found a virus in a file uploaded by {$a->user} for the course {$a->course}. Here is the output of clamscan:';
 -$string['virusfoundlater'] = 'A file you uploaded on {$a->date} with the filename {$a->filename} for the course {$a->course} has since been found to contain a virus.  Here is a summary of what has happened to your file:
 -
 -{$a->action}
 -
 -If this was submitted work, you may want to resubmit it so that your tutor can see it.';
 -$string['virusfoundlateradmin'] = 'Attention administrator! A file that was uploaded on {$a->date} with the filename {$a->filename} for the course {$a->course} by the user {$a->user} has since been found to contain a virus.  Here is a summary of what has happened to the file:
 -
 -{$a->action}
 -
 -The user has also been notified.';
 -$string['virusfoundlateradminnolog'] = 'Attention administrator! A file that was uploaded with the filename {$a->filename} has since been found to contain a virus. Moodle was unable to resolve this file back to the user that originally uploaded it.
 -
 -Here is a summary of what has happened to the file:
 -
 -{$a->action}';
 -$string['virusfoundsubject'] = '{$a}: Virus found!';
 -$string['virusfounduser'] = 'The file you have uploaded, {$a->filename}, has been scanned by a virus checker and found to be infected! Your file upload was NOT successful.';
 -$string['virusplaceholder'] = 'This file that has been uploaded was found to contain a virus and has been moved or deleted and the user notified.';
  $string['visible'] = 'Visible';
  $string['visible_help'] = 'This setting determines whether the course appears in the list of courses. Apart from teachers and administrators, users are not allowed to enter the course.';
  $string['visibletostudents'] = 'Visible to {$a}';
diff --combined user/index.php
@@@ -42,6 -42,7 +42,7 @@@ $search       = optional_param('search'
  $roleid       = optional_param('roleid', 0, PARAM_INT); // Optional roleid, 0 means all enrolled users (or all on the frontpage).
  $contextid    = optional_param('contextid', 0, PARAM_INT); // One of this or.
  $courseid     = optional_param('id', 0, PARAM_INT); // This are required.
+ $selectall    = optional_param('selectall', false, PARAM_BOOL); // When rendering checkboxes against users mark them all checked.
  
  $PAGE->set_url('/user/index.php', array(
          'page' => $page,
@@@ -649,6 -650,7 +650,6 @@@ if ($mode === MODE_USERDETAILS) {    /
                      $row->cells[1]->text .= get_string('role').get_string('labelsep', 'langconfig').$user->role.'<br />';
                  }
                  if ($user->maildisplay == 1 or ($user->maildisplay == 2 and ($course->id != SITEID) and !isguestuser()) or
 -                            has_capability('moodle/course:viewhiddenuserfields', $context) or
                              in_array('email', $extrafields) or ($user->id == $USER->id)) {
                      $row->cells[1]->text .= get_string('email').get_string('labelsep', 'langconfig').html_writer::link("mailto:$user->email", $user->email) . '<br />';
                  }
                  $row->cells[2]->text .= implode('', $links);
  
                  if ($bulkoperations) {
-                     $row->cells[2]->text .= '<br /><input type="checkbox" class="usercheckbox" name="user'.$user->id.'" /> ';
+                     if ($selectall) {
+                         $checked = 'checked="true"';
+                     } else {
+                         $checked = '';
+                     }
+                     $row->cells[2]->text .= '<br /><input type="checkbox" class="usercheckbox" name="user'.$user->id.'" ' .$checked .'/> ';
                  }
                  $table->data = array($row);
                  echo html_writer::table($table);
  
              $data = array();
              if ($bulkoperations) {
-                 $data[] = '<input type="checkbox" class="usercheckbox" name="user'.$user->id.'" />';
+                 if ($selectall) {
+                     $checked = 'checked="true"';
+                 } else {
+                     $checked = '';
+                 }
+                 $data[] = '<input type="checkbox" class="usercheckbox" name="user'.$user->id.'" ' . $checked .'/>';
              }
              $data[] = $OUTPUT->user_picture($user, array('size' => 35, 'courseid' => $course->id));
              $data[] = $profilelink;
  
  if ($bulkoperations) {
      echo '<br /><div class="buttons">';
-     echo '<input type="button" id="checkall" value="'.get_string('selectall').'" /> ';
+     if ($matchcount > 0 && $perpage < $matchcount) {
+         $perpageurl = clone($baseurl);
+         $perpageurl->remove_params('perpage');
+         $perpageurl->param('perpage', SHOW_ALL_PAGE_SIZE);
+         $perpageurl->param('selectall', true);
+         $showalllink = $perpageurl;
+     } else {
+         $showalllink = false;
+     }
+     if ($perpage < $matchcount) {
+         // Select all users, refresh page showing all users and mark them all selected.
+         $label = get_string('selectalluserswithcount', 'moodle', $matchcount);
+         echo '<input type="button" id="checkall" value="' . $label . '" data-showallink="' . $showalllink . '" /> ';
+         // Select all users, mark all users on page as selected.
+         echo '<input type="button" id="checkallonpage" value="' . get_string('selectallusersonpage') . '" /> ';
+     } else {
+         echo '<input type="button" id="checkallonpage" value="' . get_string('selectall') . '" /> ';
+     }
      echo '<input type="button" id="checknone" value="'.get_string('deselectall').'" /> ';
      $displaylist = array();
      $displaylist['messageselect.php'] = get_string('messageselectadd');