diff --git a/main/admin/add_users_to_group.php b/main/admin/add_users_to_group.php index f30b46287b..29ba17c402 100644 --- a/main/admin/add_users_to_group.php +++ b/main/admin/add_users_to_group.php @@ -39,7 +39,7 @@ $tbl_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP); $tool_name = get_lang('SubscribeUsersToGroup'); $group_id = intval($_GET['id']); -$add_type = 'single'; +$add_type = 'multiple'; if(isset($_REQUEST['add_type']) && $_REQUEST['add_type']!=''){ $add_type = Security::remove_XSS($_REQUEST['add_type']); } @@ -210,13 +210,17 @@ if($_POST['form_sent']) { $UserList = $_POST['sessionUsersList']; $ClassList = $_POST['sessionClassesList']; + $group_id = intval($_POST['id']); + if(!is_array($UserList)) { $UserList=array(); } if ($form_sent == 1) { - //added a parameter to send emails when registering a user - // SessionManager::suscribe_users_to_session($id_session,$UserList,true,true); + $result = GroupPortalManager::add_users_to_groups($UserList, array($group_id)); + + + //SessionManager::suscribe_users_to_session($id_session,$UserList,true,true); //adding the session to the access_url_rel_session table /*global $_configuration; @@ -269,7 +273,7 @@ if ($ajax_search) { WHERE access_url_id = $access_url_id $order_clause"; } - } + } $result=Database::query($sql,__FILE__,__LINE__); $Users=Database::store_result($result); foreach ($Users as $user) { @@ -332,14 +336,12 @@ if ($ajax_search) { LEFT JOIN $tbl_session_rel_user ON $tbl_session_rel_user.id_user = u.user_id AND id_session = '$id_session' $where_filter - $order_clause"; - - } else { - + $order_clause"; + } else { $sql="SELECT u.user_id, lastname, firstname, username, group_id FROM $tbl_user u LEFT JOIN $tbl_group_rel_user gu - ON (gu.user_id = u.user_id) WHERE gu.group_id = $group_id + ON (gu.user_id = u.user_id) AND gu.group_id = $group_id $order_clause"; } @@ -364,14 +366,14 @@ if ($ajax_search) { if($user['group_id'] != $group_id) $nosessionUsersList[$user['user_id']] = $user ; } - var_dump($nosessionUsersList); + $user_anonymous=api_get_anonymous_id(); - /* foreach($nosessionUsersList as $key_user_list =>$value_user_list) { + foreach($nosessionUsersList as $key_user_list =>$value_user_list) { if ($nosessionUsersList[$key_user_list]['user_id']==$user_anonymous) { unset($nosessionUsersList[$key_user_list]); } - }*/ - + } + //filling the correct users in list $sql="SELECT u.user_id, lastname, firstname, username, group_id FROM $tbl_user u @@ -392,6 +394,7 @@ if ($ajax_search) { $order_clause"; } } + $result=Database::query($sql,__FILE__,__LINE__); $Users=Database::store_result($result); @@ -402,7 +405,7 @@ if ($ajax_search) { } foreach ($Users as $user) { - if($user['group_id'] == $group_id){ + if($user['group_id'] == $group_id) { $sessionUsersList[$user['user_id']] = $user; if (array_key_exists($user['user_id'],$nosessionUsersList)) unset($nosessionUsersList[$user['user_id']]); @@ -411,25 +414,21 @@ if ($ajax_search) { } if ($add_type == 'multiple') { - //$link_add_type_unique = ''.Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').''; - //$link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple'); + $link_add_type_unique = ''.Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').''; + $link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple'); } else { - //$link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique'); - //$link_add_type_multiple = ''.Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').''; - /* - *
-  |  -
- */ + $link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique'); + $link_add_type_multiple = ''.Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').''; } - - ?> +
+  |  +
'.$tool_name.' ('.$session_info['name'].')

'; ?> -
> +> + -





+




'; $user_id = api_get_user_id(); $is_western_name_order = api_is_western_name_order(); + + if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') { + $sql = 'SELECT DISTINCT u.user_id as id, '.($is_western_name_order ? 'concat(u.firstname," ",u.lastname," ","( ",u.email," )")' : 'concat(u.lastname," ",u.firstname," ","( ",u.email," )")').' as name FROM '.$tbl_my_user_friend.' uf ' . 'INNER JOIN '.$tbl_my_user.' AS u ON uf.friend_user_id = u.user_id ' . 'WHERE relation_type<>6 AND friend_user_id<>'.(int)$user_id.' AND '.($is_western_name_order ? 'concat(u.firstname, " ", u.lastname)' : 'concat(u.lastname, " ", u.firstname)').' like CONCAT("%","'.$search.'","%") '; + + } elseif (api_get_setting('allow_social_tool')=='false' && api_get_setting('allow_message_tool')=='true') { $valid=api_get_setting('time_limit_whosonline'); + $sql='SELECT DISTINCT u.user_id as id, '.($is_western_name_order ? 'concat(u.firstname," ",u.lastname," ","( ",u.email," )")' : 'concat(u.lastname," ",u.firstname," ","( ",u.email," )")').' as name FROM '.$tbl_my_user.' u INNER JOIN '.$track_online_table.' t ON u.user_id=t.login_user_id WHERE DATE_ADD(login_date,INTERVAL "'.$valid.'" MINUTE) >= "'.$current_date.'" AND '.($is_western_name_order ? 'concat(u.firstname, " ", u.lastname)' : 'concat(u.lastname, " ", u.firstname)').' like CONCAT("%","'.$search.'","%") '; diff --git a/main/tracking/courseLog.php b/main/tracking/courseLog.php index e75b3e5c62..1c7cb920cf 100644 --- a/main/tracking/courseLog.php +++ b/main/tracking/courseLog.php @@ -124,7 +124,7 @@ $nbStudents = count($a_students); if (isset($_GET['additional_profile_field']) && is_numeric($_GET['additional_profile_field'])) { //$additional_user_profile_info = get_addtional_profile_information_of_field($_GET['additional_profile_field']); $user_array = array(); - foreach($a_students as $key=>$item){ + foreach ($a_students as $key=>$item) { $user_array[] = $key; } //fetching only the user that are loaded NOT ALL user in the portal @@ -662,10 +662,12 @@ if ($_GET['studentlist'] == 'false') { $table -> set_header(6, get_lang('Student_publication'),false); $table -> set_header(7, get_lang('Messages'),false); $table -> set_header(8, get_lang('FirstLogin'), false, 'align="center"'); - $table -> set_header(9, get_lang('LatestLogin'), false, 'align="center"'); - $table -> set_header(10, get_lang('Details'),false); + $table -> set_header(9, get_lang('LatestLogin'), false, 'align="center"'); if (isset($_GET['additional_profile_field']) AND is_numeric($_GET['additional_profile_field'])) { - $table -> set_header(11, get_lang('AdditionalProfileField'),false); + $table -> set_header(10, get_lang('AdditionalProfileField'),false); + $table -> set_header(11, get_lang('Details'),false); + } else { + $table -> set_header(10, get_lang('Details'),false); } if ($export_csv) { $csv_content[] = array (); @@ -703,13 +705,15 @@ if ($_GET['studentlist'] == 'false') { $row[] = Tracking :: get_first_connection_date_on_the_course($student_id, $course_code); $row[] = Tracking :: get_last_connection_date_on_the_course($student_id, $course_code); - $row[] = '
'; - // we need to display an additional profile field if (isset($_GET['additional_profile_field']) AND is_numeric($_GET['additional_profile_field'])) { - if (is_array($additional_user_profile_info[$student_id])) + if (is_array($additional_user_profile_info[$student_id])) { $row[]=implode(', ', $additional_user_profile_info[$student_id]); + } else { + $row[]=' '; + } } + $row[] = '
'; if ($export_csv) { $row[8] = strip_tags($row[8]); $row[9] = strip_tags($row[9]); @@ -904,10 +908,10 @@ function get_addtional_profile_information_of_field_by_user($field_id, $users){ // Database table definition $table_user = Database::get_main_table(TABLE_MAIN_USER); $table_user_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES); - $result = UserManager::get_extra_field_information($field_id); - + $result_extra_field = UserManager::get_extra_field_information($field_id); + if (!empty($users)) { - if ($result['field_type'] == USER_FIELD_TYPE_TAG ) { + if ($result_extra_field['field_type'] == USER_FIELD_TYPE_TAG ) { foreach($users as $user_id) { $user_result = UserManager::get_user_tags($user_id, $field_id); $tag_list = array(); @@ -929,6 +933,24 @@ function get_addtional_profile_information_of_field_by_user($field_id, $users){ $result = api_sql_query($sql,__FILE__,__LINE__); while($row = Database::fetch_array($result)) { + + if (!empty($row['field_value'])) { + if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DOUBLE_SELECT) { + $id_double_select = explode(';',$row['field_value']); + $value1 = $result_extra_field['options'][$id_double_select[0]]['option_value']; + $value2 = $result_extra_field['options'][$id_double_select[1]]['option_value']; + $row['field_value'] = ($value1.';'.$value2); + } else if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DATE) { + $datetime = explode(';',$row['field_value']); + $time = mktime(0,0,0,$datetime[1],$datetime[0],$datetime[2]); + $row['field_value'] = date('Y-m-d',$time); + } else if ($result_extra_field['field_type'] == USER_FIELD_TYPE_DATETIME) { + $datetime = explode(';',$row['field_value']); + $time = mktime($datetime[3],$datetime[4],0,$datetime[1],$datetime[0],$datetime[2]); + $row['field_value'] = date('Y-m-d H:i:s',$time); + } + } + $return[$row['user_id']][] = $row['field_value']; } }