]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14679 towards /admin/roles conversion
authorskodak <skodak>
Sat, 31 May 2008 10:30:30 +0000 (10:30 +0000)
committerskodak <skodak>
Sat, 31 May 2008 10:30:30 +0000 (10:30 +0000)
admin/roles/allowassign.php
admin/roles/allowoverride.php
admin/roles/assign.html
admin/roles/assign.php
admin/roles/manage.php
admin/roles/override.php
admin/roles/tabs.php

index 5657b0a230c33153645a62ca61eea36f642064f7..076962026efa319390004bec2a4d2a2d79a4ea9b 100755 (executable)
         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));
                 }
             }
         }
 
 
 
-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[] = '<input type="checkbox" name="s_'.$roleid.'_'.$targetid.'" value="1" checked="checked"/>';
         } else {
             $array[] = '<input type="checkbox" name="s_'.$roleid.'_'.$targetid.'" value="1" />';
index 4bb41fe5997445cd39f22c1b8be9c1db9ed9fb0f..cb05671e4ba0fb453dbf857022c61cf29ba8fc98 100755 (executable)
@@ -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') {
         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));
                 }
             }
         }
     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[] = '<input type="checkbox" name="s_'.$roleid.'_'.$targetid.'" value="1" checked="checked"/>';
         } else {
             $array[] = '<input type="checkbox" name="s_'.$roleid.'_'.$targetid.'" value="1" />';
index 93d8d8e5e05ce781807fc1117f3c603dc7cc243f..98ddb570af94072728722ceae66866db1e21ad35 100755 (executable)
@@ -61,7 +61,7 @@
             $i=0;
             if (!empty($searchtext)) {
                 echo "<optgroup label=\"$strsearchresults (" . $usercount . ")\">\n";
-                while ($user = rs_fetch_next_record($availableusers)) {
+                foreach ($availableusers as $user) {
                     $fullname = fullname($user, true);
                     echo "<option value=\"$user->id\">".$fullname.", ".$user->email."</option>\n";
                     $i++;
@@ -73,7 +73,7 @@
                     echo '<optgroup label="'.get_string('toomanytoshow').'"><option></option></optgroup>'."\n"
                           .'<optgroup label="'.get_string('trysearching').'"><option></option></optgroup>'."\n";
                 } else {
-                    while ($user = rs_fetch_next_record($availableusers)) {
+                    foreach ($availableusers as $user) {
                         $fullname = fullname($user, true);
                         echo "<option value=\"$user->id\">".$fullname.", ".$user->email."</option>\n";
                         $i++;
index 4661ca54593e28e36a860ddc54be7afb091979c0..7f4b19ad2a0b6ea974c273ce9d6d90f91fd9b966 100755 (executable)
     $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');
         }
 
     }
 
     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));
     }
 
                     } 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;
                         }
                 }
             }
             
-            $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()) {
 
                     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 = '';
         }
 
         $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?)
                 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 {
 
             /// 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 '<div class="selector">';
index afa4cd9805bbe0a8459b22140b5f33a02cfe6d7b..3e2259dea4e5d85c2cbdfaed96f2101f21679fa6 100755 (executable)
@@ -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);
                 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');
                 }
             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);
                 $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;
index d90097e5d0dc3e486dd37c6899350ef71f184f7e..237fa9d3a9040d385daffe03fa2c37a6b45434ae 100755 (executable)
@@ -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));
     }
 
     $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) {
 
         // 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);
     }
 
         $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());
 
         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('<a href="'.$baseurl.'&amp;roleid='.$roleid.'">'.$rolename.'</a>', $description, $overridecount);
         }
index 99cce565102a745141e8a78a90e1d5c72ce33d79..cc2e68579c7a42f8f906f94df0b2f10cc4b920bd 100755 (executable)
@@ -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);