--- profile_csv.module 2009-10-26 11:52:34.000000000 -0400 +++ profile_csvRoles.module 2010-03-18 16:00:00.000000000 -0400 @@ -1,6 +1,7 @@ 1, '#default_value' => variable_get(PROFILE_CSV_PARAM .'mail', 0), ); + $form[$set][PROFILE_CSV_PARAM . 'role'] = array( //Check box to display user role in doc + '#type' => 'checkbox', + '#title' => t('User Role'), + '#return_value' => 1, + '#default_value' => variable_get(PROFILE_CSV_PARAM .'role', 0), + ); $set = 'profile'; $form[$set] = array( @@ -236,7 +243,20 @@ function _profile_csv_get_user($uid = 0) if (variable_get(PROFILE_CSV_PARAM .'mail', 0)) { $users[] = $row->mail; } - $users['data'] = unserialize($row->data); + if (variable_get(PROFILE_CSV_PARAM .'role', 0)) { + /* Find every role user $uid has and save that data */ + $roles = user_roles(TRUE); + $users_roles = 'Registered User'; //default user role + $roles_result = db_query('SELECT u.rid FROM {users_roles} u WHERE u.uid = %d', $uid); + $roles_count = db_result(db_query('SELECT COUNT(*) FROM {users_roles} u WHERE u.uid = %d', $uid)); + while($user_role = db_fetch_object($roles_result)){ + $users_roles .= ', '; //separator + $users_roles .= $roles[$user_role->rid];//append role + } + $users[] = $users_roles; + } + + $users['data'] = unserialize($row->data); } return $users; } @@ -280,6 +300,10 @@ function _profile_csv_header() { if (variable_get(PROFILE_CSV_PARAM .'mail', 0)) { $row[] = '"mail"'; } + if (variable_get(PROFILE_CSV_PARAM .'role', 0)) { //print User Role column title + $row[] = '"role"'; + } + foreach (_profile_csv_get_profile_fields() as $field) { $row[] = '"'. $field['title'] .'"'; }