diff --git a/admin/multilangupgrade.php b/admin/multilangupgrade.php index d25c70953a5..77c221905db 100644 --- a/admin/multilangupgrade.php +++ b/admin/multilangupgrade.php @@ -56,35 +56,34 @@ foreach ($tables as $table) { if (in_array($data->type, array('text','mediumtext','longtext','varchar'))) { // Text stuff only // first find candidate records $sql = "SELECT id, $column FROM $fulltable WHERE $column LIKE '%%' OR $column LIKE '%get_recordset_sql($sql)) { - foreach ($rs as $data) { - $text = $data->$column; - $id = $data->id; - if ($i % 600 == 0) { - echo '
'; - } - if ($i % 10 == 0) { - echo '.'; - } - $i++; + $rs = $DB->get_recordset_sql($sql); + foreach ($rs as $data) { + $text = $data->$column; + $id = $data->id; + if ($i % 600 == 0) { + echo '
'; + } + if ($i % 10 == 0) { + echo '.'; + } + $i++; - if (empty($text) or is_numeric($text)) { - continue; // nothing to do - } + if (empty($text) or is_numeric($text)) { + continue; // nothing to do + } - $search = '/(<(?:lang|span) lang="[a-zA-Z0-9_-]*".*?>.+?<\/(?:lang|span)>)(\s*<(?:lang|span) lang="[a-zA-Z0-9_-]*".*?>.+?<\/(?:lang|span)>)+/is'; - $newtext = preg_replace_callback($search, 'multilangupgrade_impl', $text); + $search = '/(<(?:lang|span) lang="[a-zA-Z0-9_-]*".*?>.+?<\/(?:lang|span)>)(\s*<(?:lang|span) lang="[a-zA-Z0-9_-]*".*?>.+?<\/(?:lang|span)>)+/is'; + $newtext = preg_replace_callback($search, 'multilangupgrade_impl', $text); - if (is_null($newtext)) { - continue; // regex error - } + if (is_null($newtext)) { + continue; // regex error + } - if ($newtext != $text) { - $DB->execute("UPDATE $fulltable SET $column=? WHERE id=?", array($newtext, $id)); - } + if ($newtext != $text) { + $DB->execute("UPDATE $fulltable SET $column=? WHERE id=?", array($newtext, $id)); } - $rs->close(); } + $rs->close(); } } } diff --git a/admin/user/lib.php b/admin/user/lib.php index 3f21653850e..25775cba590 100644 --- a/admin/user/lib.php +++ b/admin/user/lib.php @@ -11,14 +11,13 @@ function add_selection_all($ufiltering) { list($sqlwhere, $params) = $ufiltering->get_sql_filter("id<>:exguest AND deleted <> 1", array('exguest'=>$CFG->siteguest)); - if ($rs = $DB->get_recordset_select('user', $sqlwhere, $params, 'fullname', 'id,'.$DB->sql_fullname().' AS fullname')) { - foreach ($rs as $user) { - if (!isset($SESSION->bulk_users[$user->id])) { - $SESSION->bulk_users[$user->id] = $user->id; - } + $rs = $DB->get_recordset_select('user', $sqlwhere, $params, 'fullname', 'id,'.$DB->sql_fullname().' AS fullname'); + foreach ($rs as $user) { + if (!isset($SESSION->bulk_users[$user->id])) { + $SESSION->bulk_users[$user->id] = $user->id; } - $rs->close(); } + $rs->close(); } function get_selection_data($ufiltering) { diff --git a/admin/user/user_bulk_confirm.php b/admin/user/user_bulk_confirm.php index 7f103419101..c7ba604ea5e 100755 --- a/admin/user/user_bulk_confirm.php +++ b/admin/user/user_bulk_confirm.php @@ -24,19 +24,18 @@ echo $OUTPUT->header(); if ($confirm and confirm_sesskey()) { list($in, $params) = $DB->get_in_or_equal($SESSION->bulk_users); - if ($rs = $DB->get_recordset_select('user', "id $in", $params, '', 'id, username, secret, confirmed, auth, firstname, lastname')) { - foreach ($rs as $user) { - if ($user->confirmed) { - continue; - } - $auth = get_auth_plugin($user->auth); - $result = $auth->user_confirm($user->username, $user->secret); - if ($result != AUTH_CONFIRM_OK && $result != AUTH_CONFIRM_ALREADY) { - echo $OUTPUT->notification(get_string('usernotconfirmed', '', fullname($user, true))); - } + $rs = $DB->get_recordset_select('user', "id $in", $params, '', 'id, username, secret, confirmed, auth, firstname, lastname'); + foreach ($rs as $user) { + if ($user->confirmed) { + continue; + } + $auth = get_auth_plugin($user->auth); + $result = $auth->user_confirm($user->username, $user->secret); + if ($result != AUTH_CONFIRM_OK && $result != AUTH_CONFIRM_ALREADY) { + echo $OUTPUT->notification(get_string('usernotconfirmed', '', fullname($user, true))); } - $rs->close(); } + $rs->close(); redirect($return, get_string('changessaved')); } else { diff --git a/admin/user/user_bulk_delete.php b/admin/user/user_bulk_delete.php index 26e11f0f738..a8b6705ce8f 100755 --- a/admin/user/user_bulk_delete.php +++ b/admin/user/user_bulk_delete.php @@ -25,16 +25,15 @@ echo $OUTPUT->header(); if ($confirm and confirm_sesskey()) { list($in, $params) = $DB->get_in_or_equal($SESSION->bulk_users); - if ($rs = $DB->get_recordset_select('user', "id $in", $params)) { - foreach ($rs as $user) { - if (!is_siteadmin($user) and $USER->id != $user->id and delete_user($user)) { - unset($SESSION->bulk_users[$user->id]); - } else { - echo $OUTPUT->notification(get_string('deletednot', '', fullname($user, true))); - } + $rs = $DB->get_recordset_select('user', "id $in", $params); + foreach ($rs as $user) { + if (!is_siteadmin($user) and $USER->id != $user->id and delete_user($user)) { + unset($SESSION->bulk_users[$user->id]); + } else { + echo $OUTPUT->notification(get_string('deletednot', '', fullname($user, true))); } - $rs->close(); } + $rs->close(); session_gc(); // remove stale sessions redirect($return, get_string('changessaved')); diff --git a/admin/user/user_bulk_forcepasswordchange.php b/admin/user/user_bulk_forcepasswordchange.php index 6988c741c0c..d67c9427aec 100644 --- a/admin/user/user_bulk_forcepasswordchange.php +++ b/admin/user/user_bulk_forcepasswordchange.php @@ -38,17 +38,16 @@ if ($confirm and confirm_sesskey()) { $parts = array_chunk($SESSION->bulk_users, 300); foreach ($parts as $users) { list($in, $params) = $DB->get_in_or_equal($users); - if ($rs = $DB->get_recordset_select('user', "id $in", $params)) { - foreach ($rs as $user) { - if (!empty($changeable[$user->auth])) { - set_user_preference('auth_forcepasswordchange', 1, $user->id); - unset($SESSION->bulk_users[$user->id]); - } else { - echo $OUTPUT->notification(get_string('forcepasswordchangenot', '', fullname($user, true))); - } + $rs = $DB->get_recordset_select('user', "id $in", $params); + foreach ($rs as $user) { + if (!empty($changeable[$user->auth])) { + set_user_preference('auth_forcepasswordchange', 1, $user->id); + unset($SESSION->bulk_users[$user->id]); + } else { + echo $OUTPUT->notification(get_string('forcepasswordchangenot', '', fullname($user, true))); } - $rs->close(); } + $rs->close(); } echo $OUTPUT->notification(get_string('changessaved'), 'notifysuccess'); echo $OUTPUT->continue_button($return); diff --git a/admin/user/user_bulk_message.php b/admin/user/user_bulk_message.php index 52127fd7dc1..ceb5bcd95fc 100755 --- a/admin/user/user_bulk_message.php +++ b/admin/user/user_bulk_message.php @@ -25,15 +25,14 @@ if (empty($CFG->messaging)) { if ($confirm and !empty($msg) and confirm_sesskey()) { list($in, $params) = $DB->get_in_or_equal($SESSION->bulk_users); - if ($rs = $DB->get_recordset_select('user', "id $in", $params)) { - foreach ($rs as $user) { - //TODO we should probably support all text formats here or only FORMAT_MOODLE - //For now bulk messaging is still using the html editor and its supplying html - //so we have to use html format for it to be displayed correctly - message_post_message($USER, $user, $msg, FORMAT_HTML, 'direct'); - } - $rs->close(); + $rs = $DB->get_recordset_select('user', "id $in", $params); + foreach ($rs as $user) { + //TODO we should probably support all text formats here or only FORMAT_MOODLE + //For now bulk messaging is still using the html editor and its supplying html + //so we have to use html format for it to be displayed correctly + message_post_message($USER, $user, $msg, FORMAT_HTML, 'direct'); } + $rs->close(); redirect($return); }