]> git.mjollnir.org Git - moodle.git/commitdiff
Firstsync seems to work, but basic sync is broken right now.
authorpaca70 <paca70>
Thu, 14 Oct 2004 11:31:53 +0000 (11:31 +0000)
committerpaca70 <paca70>
Thu, 14 Oct 2004 11:31:53 +0000 (11:31 +0000)
I'll return to this in two days.

auth/ldap/lib.php

index 03da7e525af0aaff525070b26038ed9c5b0ab8c4..9e57b95a63a8f1b4ce3943505a5e1f7bb5838716 100644 (file)
@@ -348,7 +348,7 @@ function auth_sync_users ($firstsync=0, $unsafe_optimizations = false, $bulk_ins
                     }    
                 }    
             }    
-           echo 'Firstsync complete!';
+           echo "Firstsync complete!\n";
            return;
         } 
 
@@ -359,8 +359,8 @@ function auth_sync_users ($firstsync=0, $unsafe_optimizations = false, $bulk_ins
         //make information available with idnumber
         $moodleldapusers = array(); //all users in moodle db
 
-        foreach ($users as $key=>$value){
-            $moodleldapusers[$value->idnumber]= $value;
+        foreach ($users as $user){
+            $moodleldapusers[$user->idnumber]= $user;
         }    
 
         unset($users); //not needed anymore
@@ -392,26 +392,28 @@ function auth_sync_users ($firstsync=0, $unsafe_optimizations = false, $bulk_ins
                 } 
                 $idnumber = $user->idnumber;
 
-                if (isset($moodleldapusers[$useridnumber])) {
+                if (isset($moodleldapusers[$idnumber])) {
                     $arraytoupdate = &$updateusers;
-                    $userinfo = $moodleldapusers[$useridnumber];
-                    unset($moodleldapusers[$useridnumber]); 
+                    $userinfo = $moodleldapusers[$idnumber];
+                    unset($moodleldapusers[$idnumber]); 
                 } else {
                     $arraytoupdate = &$newusers;
                     $userinfo = new object();
-                    $userinfo->idnumber = $useridnumber;
+                    $userinfo->idnumber = $idnumber;
                 }
 
                 //update local userinformation
                 foreach ($updatelocals as $local => $remote) {
-                    if (isset($user[$remote][0])) {
-                        $userinfo->$local = utf8_decode($user[$remote][0]);
+                    if (isset($user->$local)) {
+                        $userinfo->$local = utf8_decode($user->$local);
                     }    
                 }
                 //Force values for some fields
                 $userinfo->timemodified = time();
                 $userinfo->confirmed = 1;
-
+                $userinfo->deleted = 0;
+                
+                //store userinfo to selected array
                 $arraytoupdate[$useridnumber] = $userinfo;
 
             } else {
@@ -971,7 +973,7 @@ function auth_ldap_isgroupmember ($username='', $groupdns='') {
         $search = @ldap_read($ldapconnection, $group,  '('.$CFG->ldap_memberattribute.'='.$username.')', array($CFG->ldap_memberattribute));
         if ($search) {$info = auth_ldap_get_entries($ldapconnection, $search);
         
-            if ($info['count'] > 0 ) {
+            if (count($info) > 0 ) {
                 // user is member of group
                 $result = true;
                 break;
@@ -1140,7 +1142,7 @@ function auth_ldap_get_userlist($filter="*") {
         $users = auth_ldap_get_entries($ldapconnection, $ldap_result);
 
         //add found users to list
-        for ($i=0;$i<$users['count'];$i++) {
+        for ($i=0;$i<count($users);$i++) {
             array_push($fresult, ($users[$i][$CFG->ldap_user_attribute][0]) );
         }
     }
@@ -1163,7 +1165,6 @@ function auth_ldap_get_entries($conn, $searchresult){
     $i=0;
     $fresult=array();
     $entry = ldap_first_entry($conn, $searchresult);
-    $count=0;
     do {
         $attributes = ldap_get_attributes($conn, $entry);
         for($j=0; $j<$attributes['count']; $j++) {
@@ -1175,11 +1176,9 @@ function auth_ldap_get_entries($conn, $searchresult){
             }
         }         
         $i++;               
-        $count++;
     }
     while ($entry = ldap_next_entry($conn, $entry));
     //were done
-    $fresult['count']=$count;
     return ($fresult);
 }