From: skodak Date: Sat, 31 May 2008 10:30:30 +0000 (+0000) Subject: MDL-14679 towards /admin/roles conversion X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=9bec527490de40d63399b1b84caaa33c24286933;p=moodle.git MDL-14679 towards /admin/roles conversion --- diff --git a/admin/roles/allowassign.php b/admin/roles/allowassign.php index 5657b0a230..076962026e 100755 --- a/admin/roles/allowassign.php +++ b/admin/roles/allowassign.php @@ -37,11 +37,11 @@ foreach ($roles as $srole) { foreach ($roles as $trole) { if (isset($temp[$srole->id][$trole->id])) { // if set, need to write to db - if (!$record = get_record('role_allow_assign', 'roleid', $srole->id, 'allowassign', $trole->id)) { + if (!$record = $DB->get_record('role_allow_assign', array('roleid'=>$srole->id, 'allowassign'=>$trole->id))) { allow_assign($srole->id, $trole->id); } } else { //if set, means can access, attempt to remove it from db - delete_records('role_allow_assign', 'roleid', $srole->id, 'allowassign', $trole->id); + $DB->delete_records('role_allow_assign', array('roleid'=>$srole->id, 'allowassign'=>$trole->id)); } } } @@ -88,10 +88,11 @@ -function get_box_list($roleid, $arraylist){ +function get_box_list($roleid, $arraylist) { + global $DB; foreach ($arraylist as $targetid) { - if (get_record('role_allow_assign', 'roleid', $roleid, 'allowassign', $targetid)) { + if ($DB->get_record('role_allow_assign', array('roleid'=>$roleid, 'allowassign'=>$targetid))) { $array[] = ''; } else { $array[] = ''; diff --git a/admin/roles/allowoverride.php b/admin/roles/allowoverride.php index 4bb41fe599..cb05671e4b 100755 --- a/admin/roles/allowoverride.php +++ b/admin/roles/allowoverride.php @@ -20,7 +20,7 @@ $roles = get_all_roles(); - if ($grant = data_submitted()) { + if ($grant = data_submitted(false)) { foreach ($grant as $grole => $val) { if ($grole == 'dummy') { @@ -35,11 +35,11 @@ foreach ($roles as $srole) { foreach ($roles as $trole) { if (isset($temp[$srole->id][$trole->id])) { // if set, need to write to db - if (!$record = get_record('role_allow_override', 'roleid', $srole->id, 'allowoverride', $trole->id)) { + if (!$record = $DB->get_record('role_allow_override', array('roleid'=>$srole->id, 'allowoverride'=>$trole->id))) { allow_override($srole->id, $trole->id); } } else { //if set, means can access, attempt to remove it from db - delete_records('role_allow_override', 'roleid', $srole->id, 'allowoverride', $trole->id); + $DB->delete_records('role_allow_override', array('roleid'=>$srole->id, 'allowoverride'=>$trole->id)); } } } @@ -85,10 +85,11 @@ admin_externalpage_print_footer(); // returns array -function get_box_list($roleid, $arraylist){ +function get_box_list($roleid, $arraylist) { + global $DB; foreach ($arraylist as $targetid) { - if (get_record('role_allow_override', 'roleid', $roleid, 'allowoverride', $targetid)) { + if ($DB->get_record('role_allow_override', array('roleid'=>$roleid, 'allowoverride'=>$targetid))) { $array[] = ''; } else { $array[] = ''; diff --git a/admin/roles/assign.html b/admin/roles/assign.html index 93d8d8e5e0..98ddb570af 100755 --- a/admin/roles/assign.html +++ b/admin/roles/assign.html @@ -61,7 +61,7 @@ $i=0; if (!empty($searchtext)) { echo "\n"; - while ($user = rs_fetch_next_record($availableusers)) { + foreach ($availableusers as $user) { $fullname = fullname($user, true); echo "\n"; $i++; @@ -73,7 +73,7 @@ echo ''."\n" .''."\n"; } else { - while ($user = rs_fetch_next_record($availableusers)) { + foreach ($availableusers as $user) { $fullname = fullname($user, true); echo "\n"; $i++; diff --git a/admin/roles/assign.php b/admin/roles/assign.php index 4661ca5459..7f4b19ad2a 100755 --- a/admin/roles/assign.php +++ b/admin/roles/assign.php @@ -41,14 +41,14 @@ $inmeta = 0; if ($context->contextlevel == CONTEXT_COURSE) { $courseid = $context->instanceid; - if ($course = get_record('course', 'id', $courseid)) { + if ($course = $DB->get_record('course', array('id'=>$courseid))) { $inmeta = $course->metacourse; } else { print_error('invalidcourse', 'error'); } } else if (!empty($courseid)){ // we need this for user tabs in user context - if (!$course = get_record('course', 'id', $courseid)) { + if (!$course = $DB->get_record('course', array('id', $courseid))) { print_error('invalidcourse', 'error'); } @@ -114,7 +114,7 @@ } if ($userid) { - $user = get_record('user', 'id', $userid); + $user = $DB->get_record('user', array('id', $userid)); $fullname = fullname($user, has_capability('moodle/site:viewfullnames', $context)); } @@ -177,7 +177,7 @@ } else { $managerroles = get_roles_with_capability('moodle/course:managemetacourse', CAP_ALLOW, $context); if (!empty($managerroles) and !array_key_exists($roleid, $managerroles)) { - $erruser = get_record('user', 'id', $adduser, '','','','', 'id, firstname, lastname'); + $erruser = $DB->get_record('user', array('id'=>$adduser), 'id, firstname, lastname'); $errors[] = get_string('metaassignerror', 'role', fullname($erruser)); $allow = false; } @@ -210,7 +210,7 @@ } } - $rolename = get_field('role', 'name', 'id', $roleid); + $rolename = $DB->get_field('role', 'name', array('id'=>$roleid)); add_to_log($course->id, 'role', 'assign', 'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); } else if ($remove and !empty($frm->removeselect) and confirm_sesskey()) { @@ -239,14 +239,14 @@ sync_metacourse($courseid); $newroles = get_user_roles($context, $removeuser, false); if (!empty($newroles) and !array_key_exists($roleid, $newroles)) { - $erruser = get_record('user', 'id', $removeuser, '','','','', 'id, firstname, lastname'); + $erruser = $DB->get_record('user', array('id'=>$removeuser), 'id, firstname, lastname'); $errors[] = get_string('metaunassignerror', 'role', fullname($erruser)); $allow = false; } } } - $rolename = get_field('role', 'name', 'id', $roleid); + $rolename = $DB->get_field('role', 'name', array('id'=>$roleid)); add_to_log($course->id, 'role', 'unassign', 'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); } else if ($showall) { $searchtext = ''; @@ -277,19 +277,19 @@ } $select = "username <> 'guest' AND deleted = 0 AND confirmed = 1"; + $params = array(); - $usercount = count_records_select('user', $select) - count($contextusers); + $usercount = $DB->count_records_select('user', $select, $params) - count($contextusers); $searchtext = trim($searchtext); if ($searchtext !== '') { // Search for a subset of remaining users - $LIKE = sql_ilike(); - $FULLNAME = sql_fullname(); + $LIKE = $DB->sql_ilike(); + $FULLNAME = $DB->sql_fullname(); - $selectsql = " AND ($FULLNAME $LIKE '%$searchtext%' OR email $LIKE '%$searchtext%') "; - $select .= $selectsql; - } else { - $selectsql = ""; + $select .= " AND ($FULLNAME $LIKE :search1 OR email $LIKE :search2) "; + $params['search1'] = "%$searchtext%"; + $params['search2'] = "%$searchtext%"; } if ($context->contextlevel > CONTEXT_COURSE) { // mod or block (or group?) @@ -327,27 +327,30 @@ if ($validroleids) { $roleids = '('.implode(',', $validroleids).')'; - $select = " SELECT u.id, u.firstname, u.lastname, u.email"; - $countselect = "SELECT COUNT(u.id)"; - $from = " FROM {$CFG->prefix}user u - INNER JOIN {$CFG->prefix}role_assignments ra ON ra.userid = u.id - INNER JOIN {$CFG->prefix}role r ON r.id = ra.roleid"; - $where = " WHERE ra.contextid ".get_related_contexts_string($context)." - AND u.deleted = 0 - AND ra.roleid in $roleids"; - $excsql = " AND u.id NOT IN ( - SELECT u.id - FROM {$CFG->prefix}role_assignments r, - {$CFG->prefix}user u - WHERE r.contextid = $contextid - AND u.id = r.userid - AND r.roleid = $roleid - $selectsql)"; - - $availableusers = get_recordset_sql($select . $from . $where . $selectsql . $excsql); + $fields = "SELECT u.id, u.firstname, u.lastname, u.email"; + $countfields = "SELECT COUNT('x')"; + + $sql = " FROM {user} u + JOIN {role_assignments} ra ON ra.userid = u.id + JOIN {role} r ON r.id = ra.roleid + WHERE ra.contextid ".get_related_contexts_string($context)." + AND $select AND ra.roleid in $roleids + AND u.id NOT IN ( + SELECT u.id + FROM {role_assignments} r, {user} u + WHERE r.contextid = :contextid + AND u.id = r.userid + AND r.roleid = :roleid)"; + $params['contextid'] = $contextid; + $params['roleid'] = $roleid; + + $availableusers = $DB->get_recordset_sql("$fields $sql", $params); + $usercount = $DB->count_records_sql("$countfields $sql", $params); + + } else { + $availableusers = array(); + $usercount = 0; } - - $usercount = $availableusers->_numOfRows; } } else { @@ -361,20 +364,24 @@ /// MDL-11111 do not include user already assigned this role in this context as available users /// so that the number of available users is right and we save time looping later - $availableusers = get_recordset_sql('SELECT id, firstname, lastname, email - FROM '.$CFG->prefix.'user - WHERE '.$select.' - AND id NOT IN ( - SELECT u.id - FROM '.$CFG->prefix.'role_assignments r, - '.$CFG->prefix.'user u - WHERE r.contextid = '.$contextid.' - AND u.id = r.userid - AND r.roleid = '.$roleid.' - '.$selectsql.') - ORDER BY lastname ASC, firstname ASC'); - - $usercount = $availableusers->_numOfRows; + $fields = "SELECT id, firstname, lastname, email"; + $countfields = "SELECT COUNT('x')"; + + $sql = " FROM {user} + WHERE $select + AND id NOT IN ( + SELECT u.id + FROM {role_assignments} r, {user} u + WHERE r.contextid = :contextid + AND u.id = r.userid + AND r.roleid = :roleid)"; + $order = "ORDER BY lastname ASC, firstname ASC"; + + $params['contextid'] = $contextid; + $params['roleid'] = $roleid; + + $availableusers = $DB->get_recordset_sql("$fields $sql $order", $params); + $usercount = $DB->count_records_sql("$countfields $sql", $params); } echo '
'; diff --git a/admin/roles/manage.php b/admin/roles/manage.php index afa4cd9805..3e2259dea4 100755 --- a/admin/roles/manage.php +++ b/admin/roles/manage.php @@ -38,9 +38,9 @@ $rolesort[$i] = $rolex->id; if ($rolex->sortorder != $i) { $r = new object(); - $r->id = $rolex->id; + $r->id = $rolex->id; $r->sortorder = $i; - update_record('role', $r); + $DB->update_record('role', $r); $roles[$rolex->id]->sortorder = $i; } $i++; @@ -56,7 +56,7 @@ /// form processing, editing a role, adding a role, deleting a role etc. switch ($action) { case 'add': - if ($data = data_submitted() and confirm_sesskey()) { + if ($data = data_submitted(false) and confirm_sesskey()) { $shortname = moodle_strtolower(clean_param(clean_filename($shortname), PARAM_SAFEDIR)); // only lowercase safe ASCII characters $legacytype = required_param('legacytype', PARAM_RAW); @@ -124,7 +124,7 @@ mark_context_dirty($sitecontext->path); if (empty($errors)) { - $rolename = get_field('role', 'name', 'id', $newroleid); + $rolename = $DB->get_field('role', 'name', array('id'=>$newroleid)); add_to_log(SITEID, 'role', 'add', 'admin/roles/manage.php?action=add', $rolename, '', $USER->id); redirect('manage.php'); } @@ -133,7 +133,7 @@ break; case 'edit': - if ($data = data_submitted() and confirm_sesskey()) { + if ($data = data_submitted(false) and confirm_sesskey()) { $shortname = moodle_strtolower(clean_param(clean_filename($shortname), PARAM_SAFEDIR)); // only lowercase safe ASCII characters $legacytype = required_param('legacytype', PARAM_RAW); @@ -275,7 +275,7 @@ $a->id = $roleid; $a->name = $roles[$roleid]->name; $a->shortname = $roles[$roleid]->shortname; - $a->count = (int)count_records('role_assignments', 'roleid', $roleid); + $a->count = $DB->count_records('role_assignments', array('roleid'=>$roleid)); notice_yesno(get_string('deleterolesure', 'role', $a), 'manage.php', 'manage.php', $optionsyes, NULL, 'post', 'get'); admin_externalpage_print_footer(); die; diff --git a/admin/roles/override.php b/admin/roles/override.php index d90097e5d0..237fa9d3a9 100755 --- a/admin/roles/override.php +++ b/admin/roles/override.php @@ -25,7 +25,7 @@ } if ($courseid) { - if (!$course = get_record('course', 'id', $courseid)) { + if (!$course = $DB->get_record('course', array('id'=>$courseid))) { print_error('invalidcourse'); } } else { @@ -67,7 +67,7 @@ } if ($userid) { - $user = get_record('user', 'id', $userid); + $user = $DB->get_record('user', array('id'=>$userid)); $fullname = fullname($user, has_capability('moodle/site:viewfullnames', $context)); } @@ -75,10 +75,10 @@ $capabilities = fetch_context_capabilities($context); /// Process incoming role override - if ($data = data_submitted() and $roleid and confirm_sesskey()) { + if ($data = data_submitted(false) and $roleid and confirm_sesskey()) { $allowed_values = array(CAP_INHERIT, CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT); - $localoverrides = get_records_select('role_capabilities', "roleid = $roleid AND contextid = $context->id", + $localoverrides = $DB->get_records_select('role_capabilities', "roleid = ? AND contextid = ?", array($roleid, $context->id), '', 'capability, permission, id'); foreach ($capabilities as $cap) { @@ -110,7 +110,7 @@ // force accessinfo refresh for users visiting this context... mark_context_dirty($context->path); - $rolename = get_field('role', 'name', 'id', $roleid); + $rolename = $DB->get_field('role', 'name', array('id'=>$roleid)); add_to_log($course->id, 'role', 'override', 'admin/roles/override.php?contextid='.$context->id.'&roleid='.$roleid, $rolename, '', $USER->id); redirect($baseurl); } @@ -171,7 +171,7 @@ $r_caps = role_context_capabilities($roleid, $parentcontext); - $localoverrides = get_records_select('role_capabilities', "roleid = $roleid AND contextid = $context->id", + $localoverrides = $DB->get_records_select('role_capabilities', "roleid = ? AND contextid = ?", array($roleid, $context->id), '', 'capability, permission, id'); $lang = str_replace('_utf8', '', current_language()); @@ -199,7 +199,7 @@ foreach ($overridableroles as $roleid => $rolename) { $countusers = 0; - $overridecount = count_records_select('role_capabilities', "roleid = $roleid AND contextid = $context->id"); + $overridecount = $DB->count_records_select('role_capabilities', "roleid = ? AND contextid = ?", array($roleid, $context->id)); $description = format_string(get_field('role', 'description', 'id', $roleid)); $table->data[] = array(''.$rolename.'', $description, $overridecount); } diff --git a/admin/roles/tabs.php b/admin/roles/tabs.php index 99cce56510..cc2e68579c 100755 --- a/admin/roles/tabs.php +++ b/admin/roles/tabs.php @@ -24,7 +24,7 @@ if ($currenttab != 'update') { break; case CONTEXT_COURSECAT: - $category = get_record('course_categories', 'id', $context->instanceid); + $category = $DB->get_record('course_categories', array('id'=>$context->instanceid)); $strcategories = get_string("categories"); $strcategory = get_string("category"); $strcourses = get_string("courses"); @@ -44,7 +44,7 @@ if ($currenttab != 'update') { if ($context->instanceid != SITEID) { $streditcoursesettings = get_string("editcoursesettings"); - $course = get_record('course', 'id', $context->instanceid); + $course = $DB->get_record('course', array('id'=>$context->instanceid)); require_login($course); $navlinks[] = array('name' => get_string('roles'), @@ -60,16 +60,16 @@ if ($currenttab != 'update') { case CONTEXT_MODULE: // get module type? - if (!$cm = get_record('course_modules','id',$context->instanceid)) { + if (!$cm = $DB->get_record('course_modules', array('id'=>$context->instanceid))) { print_error('invalidcoursemodule', 'error'); } - if (!$module = get_record('modules','id',$cm->module)) { //$module->name; + if (!$module = $DB->get_record('modules', array('id'=>$cm->module))) { //$module->name; print_error('invalidmodule', 'error'); } - if (!$course = get_record('course','id',$cm->course)) { + if (!$course = $DB->get_record('course', array('id'=>$cm->course))) { print_error('invalidcourse'); } - if (!$instance = get_record($module->name, 'id', $cm->instance)) { + if (!$instance = $DB->get_record($module->name, array('id'=>$cm->instance))) { print_error('moduledoesnotexist', 'error'); } @@ -104,14 +104,14 @@ if ($currenttab != 'update') { break; case CONTEXT_BLOCK: - if ($blockinstance = get_record('block_instance', 'id', $context->instanceid)) { - if ($block = get_record('block', 'id', $blockinstance->blockid)) { + if ($blockinstance = $DB->get_record('block_instance', array('id'=>$context->instanceid))) { + if ($block = $DB->get_record('block', array('id'=>$blockinstance->blockid))) { $blockname = print_context_name($context); switch ($blockinstance->pagetype) { case 'course-view': - if ($course = get_record('course', 'id', $blockinstance->pageid)) { + if ($course = $DB->get_record('course', array('id'=>$blockinstance->pageid))) { require_login($course);