]> git.mjollnir.org Git - moodle.git/commitdiff
adding a progress bar
authortoyomoyo <toyomoyo>
Fri, 2 Mar 2007 08:09:21 +0000 (08:09 +0000)
committertoyomoyo <toyomoyo>
Fri, 2 Mar 2007 08:09:21 +0000 (08:09 +0000)
lib/accesslib.php

index 41d3a130f31f7b8684f1782cd2d6872ffea9b43d..e6b425d788313ecb262498ed8c76b063c0aac5fc 100755 (executable)
@@ -3707,12 +3707,15 @@ function user_has_role_assignment($userid, $roleid, $contextid=0) {
 /** @param object $context-context to be deleted
  * @param bool deletechild - deltes child contexts dependencies
  */
-function insert_context_rel($context, $deletechild=true) {
+function insert_context_rel($context, $deletechild=true, $deleteparent=true) {
     // removes all parents 
     if ($deletechild) {
         delete_records('context_rel', 'c2', $context->id);
     }
-    delete_records('context_rel', 'c1', $context->id);
+    
+    if ($deleteparent) {
+        delete_records('context_rel', 'c1', $context->id);
+    }
     // insert all parents
     if ($parents = get_parent_contexts($context)) {
         $parents[] = $context->id;
@@ -3728,10 +3731,25 @@ function insert_context_rel($context, $deletechild=true) {
 // rebuild context_rel table without deleting
 function build_context_rel() {
   
+    global $db;
+    $savedb = $db->debug;
+  
+    // total number of records
+    $total = count_records('context');
+    // processed records
+    $done = 0;
+    print_progress($done, $total, 10, 0, 'Processing context relations');
+    $db->debug = false;
     if ($contexts = get_records('context')) {
         foreach ($contexts as $context) {
-            insert_context_rel($context);
+            // no need to delete because it's all empty
+            insert_context_rel($context, false, false);
+            $db->debug = true;
+            print_progress(++$done, $total, 10, 0, 'Processing context relations');
+            $db->debug = false;
         }
-    } 
+    }
+    
+    $db->debug = $savedb;
 }
 ?>
\ No newline at end of file