Adding legal agreement when exporting user list (if enabled) see BT#3465

skala
Julio Montoya 14 years ago
parent 7736871c26
commit faca288269
  1. 4
      main/inc/lib/main_api.lib.php
  2. 30
      main/user/user.php

@ -1174,10 +1174,11 @@ function api_get_course_info($course_code = null) {
$_course['department_name'] = $course_data['department_name'];
$_course['department_url'] = $course_data['department_url' ];
$_course['legal_agreement'] = $course_data['legal_agreement' ];
// The real_id is an integer. It is mandatory for future implementations.
$_course['real_id' ] = $course_data['id' ];
$_course['course_language'] = $course_data['course_language'];
$_course['activate_legal'] = $course_data['activate_legal'];
//I know this is bad, but this reflects that it was a bad decistion to not add a flag in the DB if an image exists
if (file_exists(api_get_path(SYS_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png')) {
@ -1246,6 +1247,7 @@ function api_get_course_info_by_id($id = null) {
$_course['real_id' ] = $course_data['id' ];
$_course['title' ] = $course_data['title' ];
$_course['course_language'] = $course_data['course_language'];
$_course['activate_legal'] = $course_data['activate_legal'];
if (file_exists(api_get_path(SYS_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png')) {
$url_image = api_get_path(WEB_COURSE_PATH).$course_data['directory'].'/course-pic85x85.png';

@ -98,12 +98,19 @@ if (api_is_allowed_to_edit(null, true)) {
$extra_fields = UserManager::get_extra_user_data(api_get_user_id(), false, false, false, true);
$extra_fields = array_keys($extra_fields);
if ($sort_by_first_name) {
if ($sort_by_first_name) {
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} else {
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
}
$legal = '';
if (isset($course_info['activate_legal']) AND $course_info['activate_legal'] == 1) {
$legal = ', legal_agreement';
$a_users[0][] = get_lang('Legal');
}
if ($_GET['type'] == 'pdf') {
if ($is_western_name_order) {
$a_users[0] = array('#', get_lang('OfficialCode'), get_lang('FirstName').', '.get_lang('LastName'));
@ -111,13 +118,14 @@ if (api_is_allowed_to_edit(null, true)) {
$a_users[0] = array('#', get_lang('OfficialCode'), get_lang('LastName').', '.get_lang('FirstName'));
}
}
$a_users[0] = array_merge($a_users[0], $extra_fields);
// users subscribed to the course through a session
if (api_get_setting('use_session_mode') == 'true') {
if (api_get_session_id()) {
$table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, phone, user.official_code, active
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, phone, user.official_code, active $legal
FROM $table_session_course_user as session_course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -138,6 +146,13 @@ if (api_is_allowed_to_edit(null, true)) {
$counter = 1;
while ($user = Database:: fetch_array($rs, 'ASSOC')) {
if (isset($user['legal_agreement'])) {
if ($user['legal_agreement'] == 1) {
$user['legal_agreement'] = get_lang('Yes');
} else {
$user['legal_agreement'] = get_lang('No');
}
}
$extra_fields = UserManager::get_extra_user_data($user['user_id'], false, false, false, true);
if (!empty($extra_fields)) {
foreach($extra_fields as $key => $extra_value) {
@ -164,7 +179,7 @@ if (api_is_allowed_to_edit(null, true)) {
// users directly subscribed to the course
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, phone, user.official_code, active
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.email, phone, user.official_code, active $legal
FROM $table_course_user as course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -178,12 +193,19 @@ if (api_is_allowed_to_edit(null, true)) {
//only users no teachers/coaches
$sql_query .= " AND course_user.status = 5 ";
$sql_query .= ($sort_by_first_name ? " ORDER BY user.firstname, user.lastname" : " ORDER BY user.lastname, user.firstname");
$rs = Database::query($sql_query);
$counter = 1;
while ($user = Database::fetch_array($rs, 'ASSOC')) {
if (isset($user['legal_agreement'])) {
if ($user['legal_agreement'] == 1) {
$user['legal_agreement'] = get_lang('Yes');
} else {
$user['legal_agreement'] = get_lang('No');
}
}
$extra_fields = UserManager::get_extra_user_data($user['user_id'], false, false, false, true);
if (!empty($extra_fields)) {
foreach($extra_fields as $key => $extra_value) {

Loading…
Cancel
Save