]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14053, include custom profile fields when export user info, see tracker, merged...
authordongsheng <dongsheng>
Wed, 23 Apr 2008 02:07:11 +0000 (02:07 +0000)
committerdongsheng <dongsheng>
Wed, 23 Apr 2008 02:07:11 +0000 (02:07 +0000)
admin/uploaduser.php
admin/user/user_bulk_download.php

index 101dba6e7b84da39b9c395253487806713b8df9e..bafcf4ad856650b5171ec5ff73bfaa16bc41213d 100755 (executable)
@@ -66,9 +66,13 @@ $returnurl = $CFG->wwwroot.'/'.$CFG->admin.'/uploaduser.php';
 $bulknurl  = $CFG->wwwroot.'/'.$CFG->admin.'/user/user_bulk.php';
 
 // array of all valid fields for validation
-$STD_FIELDS = array('firstname', 'lastname', 'username', 'email', 'city', 'country', 'lang', 'auth', 'timezone', 'mailformat', 'maildisplay', 'maildigest', 'htmleditor',
-                    'ajax', 'autosubscribe', 'mnethostid', 'institution', 'department', 'idnumber', 'icq', 'phone1', 'phone2', 'address', 'url', 'description',
-                    'oldusername', 'emailstop', 'deleted',  'password');
+$STD_FIELDS = array('id', 'firstname', 'lastname', 'username', 'email', 
+        'city', 'country', 'lang', 'auth', 'timezone', 'mailformat', 
+        'maildisplay', 'maildigest', 'htmleditor', 'ajax', 'autosubscribe', 
+        'mnethostid', 'institution', 'department', 'idnumber', 'skype', 
+        'msn', 'aim', 'yahoo', 'icq', 'phone1', 'phone2', 'address', 
+        'url', 'description', 'oldusername', 'emailstop', 'deleted',  
+        'password');
 
 $PRF_FIELDS = array();
 
index 2cbdf3e1189d4c9d507c106d080f60128ae6f756..5eac189c2f0c0739a7beae0541692b7f4ab7648c 100755 (executable)
@@ -17,16 +17,31 @@ if (empty($SESSION->bulk_users)) {
     redirect($return);
 }
 
-
 if ($format) {
     $fields = array('id'        => 'id',
-                    'username'  => get_string('username'),
-                    'email'     => get_string('email'),
-                    'firstname' => get_string('firstname'),
-                    'lastname'  => get_string('lastname'),
-                    'idnumber'  => get_string('idnumber'),
-                    'city'      => get_string('city'),
-                    'country'   => get_string('country'));
+                    'username'  => 'username',
+                    'email'     => 'email',
+                    'firstname' => 'firstname',
+                    'lastname'  => 'lastname',
+                    'idnumber'  => 'idnumber',
+                    'institution' => 'institution',
+                    'department' => 'department',
+                    'phone1'    => 'phone1',
+                    'phone2'    => 'phone2',
+                    'city'      => 'city',
+                    'url'       => 'url',
+                    'icq'       => 'icq',
+                    'skype'     => 'skype',
+                    'aim'       => 'aim',
+                    'yahoo'     => 'yahoo',
+                    'msn'       => 'msn',
+                    'country'   => 'country');
+
+    if ($extrafields = get_records_select('user_info_field')) {
+        foreach ($extrafields as $n=>$v){
+            $fields['profile_field_'.$v->shortname] = 'profile_field_'.$v->name;
+        }
+    }
 
     switch ($format) {
         case 'csv' : user_download_csv($fields);
@@ -56,6 +71,7 @@ function user_download_ods($fields) {
     global $CFG, $SESSION;
 
     require_once("$CFG->libdir/odslib.class.php");
+    require_once($CFG->dirroot.'/user/profile/lib.php');
 
     $filename = clean_filename(get_string('users').'.ods');
 
@@ -77,6 +93,7 @@ function user_download_ods($fields) {
             continue;
         }
         $col = 0;
+        profile_load_data($user);
         foreach ($fields as $field=>$unused) {
             $worksheet[0]->write($row, $col, $user->$field);
             $col++;
@@ -92,6 +109,7 @@ function user_download_xls($fields) {
     global $CFG, $SESSION;
 
     require_once("$CFG->libdir/excellib.class.php");
+    require_once($CFG->dirroot.'/user/profile/lib.php');
 
     $filename = clean_filename(get_string('users').'.xls');
 
@@ -113,6 +131,7 @@ function user_download_xls($fields) {
             continue;
         }
         $col = 0;
+        profile_load_data($user);
         foreach ($fields as $field=>$unused) {
             $worksheet[0]->write($row, $col, $user->$field);
             $col++;
@@ -126,6 +145,8 @@ function user_download_xls($fields) {
 
 function user_download_csv($fields) {
     global $CFG, $SESSION;
+    
+    require_once($CFG->dirroot.'/user/profile/lib.php');
 
     $filename = clean_filename(get_string('users').'.csv');
 
@@ -149,6 +170,7 @@ function user_download_csv($fields) {
         if (!$user = get_record('user', 'id', $userid)) {
             continue;
         }
+        profile_load_data($user);
         foreach ($fields as $field=>$unused) {
             $row[] = str_replace($delimiter, $encdelim, $user->$field);
         }