From c79106c4b59bb9bfd18e003748e92f59a801dde1 Mon Sep 17 00:00:00 2001 From: dongsheng Date: Wed, 23 Apr 2008 02:07:11 +0000 Subject: [PATCH] MDL-14053, include custom profile fields when export user info, see tracker, merged from MOODLE_19_STABLE --- admin/uploaduser.php | 10 +++++--- admin/user/user_bulk_download.php | 38 ++++++++++++++++++++++++------- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/admin/uploaduser.php b/admin/uploaduser.php index 101dba6e7b..bafcf4ad85 100755 --- a/admin/uploaduser.php +++ b/admin/uploaduser.php @@ -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(); diff --git a/admin/user/user_bulk_download.php b/admin/user/user_bulk_download.php index 2cbdf3e118..5eac189c2f 100755 --- a/admin/user/user_bulk_download.php +++ b/admin/user/user_bulk_download.php @@ -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); } -- 2.39.5