From 8fbb9f3790d9604200ace844edaa31ad33ff72f2 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 14 Feb 2014 17:24:29 +0100 Subject: [PATCH] Format code + adding require in order to load constants. --- main/admin/add_users_to_group.php | 614 ++++++++++++++---------------- 1 file changed, 286 insertions(+), 328 deletions(-) diff --git a/main/admin/add_users_to_group.php b/main/admin/add_users_to_group.php index 431e25854d..95fa0a3f8d 100644 --- a/main/admin/add_users_to_group.php +++ b/main/admin/add_users_to_group.php @@ -5,14 +5,15 @@ */ // name of the language file that needs to be included -$language_file=array('admin','registration','userInfo'); +$language_file = array('admin','registration','userInfo'); // resetting the course id -$cidReset=true; +$cidReset = true; // including some necessary files require_once '../inc/global.inc.php'; require_once '../inc/lib/xajax/xajax.inc.php'; +require_once '../inc/lib/group_portal_manager.lib.php'; // setting the section (for the tabs) $this_section = SECTION_PLATFORM_ADMIN; @@ -22,163 +23,161 @@ global $_configuration; api_protect_admin_script(true); // setting breadcrumbs -$interbreadcrumb[]=array('url' => 'index.php','name' => get_lang('PlatformAdmin')); -$interbreadcrumb[]=array('url' => 'group_list.php','name' => get_lang('GroupList')); +$interbreadcrumb[] = array('url' => 'index.php','name' => get_lang('PlatformAdmin')); +$interbreadcrumb[] = array('url' => 'group_list.php','name' => get_lang('GroupList')); // Database Table Definitions $tbl_group = Database::get_main_table(TABLE_MAIN_GROUP); $tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP); $tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); +$needle = null; +$user_anonymous = api_get_anonymous_id(); // setting the name of the tool $tool_name = get_lang('SubscribeUsersToGroup'); $group_id = intval($_GET['id']); $add_type = 'multiple'; -if(isset($_REQUEST['add_type']) && $_REQUEST['add_type']!=''){ +if (isset($_REQUEST['add_type']) && $_REQUEST['add_type']!='') { $add_type = Security::remove_XSS($_REQUEST['add_type']); } //checking for extra field with filter on $xajax = new xajax(); $xajax->registerFunction('search_users'); -function search_users($needle,$type,$relation_type) { - global $tbl_user,$tbl_user_rel_access_url, $tbl_group_rel_user,$group_id,$_configuration; - $xajax_response = new XajaxResponse(); - $return = $return_origin = $return_destination = ''; - $without_user_id = $without_user_id = $condition_relation = ''; - - if (!empty($group_id) && !empty($relation_type)) { - $group_id = intval($group_id); - $relation_type = intval($relation_type); - // get user_id from relation type and group id - $sql = "SELECT user_id FROM $tbl_group_rel_user - WHERE group_id = '$group_id' - AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.",".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; - $res = Database::query($sql); - $user_ids = array(); - if (Database::num_rows($res) > 0) { - while ($row = Database::fetch_row($res)) { - $user_ids[] = $row[0]; - } - $without_user_id = " AND user.user_id NOT IN(".implode(',',$user_ids).") "; - } - - if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { - $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; - } else { - $condition_relation = " AND groups.relation_type = '$relation_type' "; - } - - // data for destination user list - $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname - FROM $tbl_group_rel_user groups - INNER JOIN $tbl_user user ON user.user_id = groups.user_id - WHERE groups.group_id = '$group_id' $condition_relation "; - - $rs_destination = Database::query($sql); - if (Database::num_rows($rs_destination) > 0) { - $return_destination .= ''; - } else { - $return_destination .= ''; - } - - $xajax_response -> addAssign('ajax_destination_list','innerHTML',api_utf8_encode($return_destination)); - - } else { - $return_destination .= ''; - $xajax_response -> addAssign('ajax_destination_list','innerHTML',api_utf8_encode($return_destination)); - - if ($type == 'single') { - $return.= ''; - $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); - } else { - $return_origin .= ''; - $xajax_response -> addAssign('ajax_origin_list_multiple','innerHTML',api_utf8_encode($return_origin)); - } - } - - if (!empty($needle) && !empty($type)) { - - // xajax send utf8 datas... datas in db can be non-utf8 datas - $charset = api_get_system_encoding(); - $needle = Database::escape_string($needle); - $needle = api_convert_encoding($needle, $charset, 'utf-8'); - $user_anonymous=api_get_anonymous_id(); - - - $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; - if ($type == 'single') { - if (!empty($group_id) && !empty($relation_type)) { - // search users where username or firstname or lastname begins likes $needle - $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user - WHERE (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') - AND user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11"; - if ($_configuration['multiple_access_urls']) { - $access_url_id = api_get_current_access_url_id(); - if ($access_url_id != -1) { - $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user - INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) - WHERE access_url_id = '$access_url_id' AND (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') - AND user.user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11 "; - } - } - $rs_single = Database::query($sql); - $i=0; - while ($user = Database :: fetch_array($rs_single)) { - $i++; - if ($i<=10) { - $person_name = api_get_person_name($user['firstname'], $user['lastname']); - $return .= ''.$person_name.' ('.$user['username'].')
'; - } else { - $return .= '...
'; - } - } - $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); - } else { - $xajax_response ->addAlert(get_lang('YouMustChooseARelationType')); - $xajax_response->addClear('user_to_add', 'value'); - } - - } else { - // multiple - if (!empty($group_id) && !empty($relation_type)) { - $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user - WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; - if ($_configuration['multiple_access_urls']) { - $access_url_id = api_get_current_access_url_id(); - if ($access_url_id != -1) { - $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user - INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) - WHERE access_url_id = '$access_url_id' - AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' - AND user.user_id<>'$user_anonymous' $without_user_id $order_clause "; - } - } - - $rs_multiple = Database::query($sql); - $return_origin .= ''; - $xajax_response -> addAssign('ajax_origin_list_multiple','innerHTML',api_utf8_encode($return_origin)); - } - } - } - return $xajax_response; +function search_users($needle, $type, $relation_type) +{ + global $tbl_user, $tbl_user_rel_access_url, $tbl_group_rel_user, $group_id; + $xajax_response = new XajaxResponse(); + $return = $return_origin = $return_destination = ''; + $without_user_id = $without_user_id = $condition_relation = ''; + + if (!empty($group_id) && !empty($relation_type)) { + $group_id = intval($group_id); + $relation_type = intval($relation_type); + // get user_id from relation type and group id + $sql = "SELECT user_id FROM $tbl_group_rel_user + WHERE group_id = '$group_id' + AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.",".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; + $res = Database::query($sql); + $user_ids = array(); + if (Database::num_rows($res) > 0) { + while ($row = Database::fetch_row($res)) { + $user_ids[] = $row[0]; + } + $without_user_id = " AND user.user_id NOT IN(".implode(',', $user_ids).") "; + } + + if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { + $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; + } else { + $condition_relation = " AND groups.relation_type = '$relation_type' "; + } + + // data for destination user list + $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname + FROM $tbl_group_rel_user groups + INNER JOIN $tbl_user user ON user.user_id = groups.user_id + WHERE groups.group_id = '$group_id' $condition_relation "; + + $rs_destination = Database::query($sql); + if (Database::num_rows($rs_destination) > 0) { + $return_destination .= ''; + } else { + $return_destination .= ''; + } + $xajax_response->addAssign('ajax_destination_list','innerHTML',api_utf8_encode($return_destination)); + } else { + $return_destination .= ''; + $xajax_response -> addAssign('ajax_destination_list','innerHTML',api_utf8_encode($return_destination)); + + if ($type == 'single') { + $return.= ''; + $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); + } else { + $return_origin .= ''; + $xajax_response -> addAssign('ajax_origin_list_multiple','innerHTML',api_utf8_encode($return_origin)); + } + } + + if (!empty($needle) && !empty($type)) { + + // xajax send utf8 datas... datas in db can be non-utf8 datas + $charset = api_get_system_encoding(); + $needle = Database::escape_string($needle); + $needle = api_convert_encoding($needle, $charset, 'utf-8'); + $user_anonymous = api_get_anonymous_id(); + $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; + if ($type == 'single') { + if (!empty($group_id) && !empty($relation_type)) { + // search users where username or firstname or lastname begins likes $needle + $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user + WHERE (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') + AND user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11"; + if (api_is_multiple_url_enabled()) { + $access_url_id = api_get_current_access_url_id(); + if ($access_url_id != -1) { + $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user + INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) + WHERE access_url_id = '$access_url_id' AND (username LIKE '$needle%' OR firstname LIKE '$needle%' OR lastname LIKE '$needle%') + AND user.user_id<>'$user_anonymous' $without_user_id $order_clause LIMIT 11 "; + } + } + $rs_single = Database::query($sql); + $i=0; + while ($user = Database :: fetch_array($rs_single)) { + $i++; + if ($i<=10) { + $person_name = api_get_person_name($user['firstname'], $user['lastname']); + $return .= ''.$person_name.' ('.$user['username'].')
'; + } else { + $return .= '...
'; + } + } + $xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); + } else { + $xajax_response ->addAlert(get_lang('YouMustChooseARelationType')); + $xajax_response->addClear('user_to_add', 'value'); + } + + } else { + // multiple + if (!empty($group_id) && !empty($relation_type)) { + $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user + WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; + if (api_is_multiple_url_enabled()) { + $access_url_id = api_get_current_access_url_id(); + if ($access_url_id != -1) { + $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user + INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) + WHERE access_url_id = '$access_url_id' + AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' + AND user.user_id<>'$user_anonymous' $without_user_id $order_clause "; + } + } + + $rs_multiple = Database::query($sql); + $return_origin .= ''; + $xajax_response->addAssign('ajax_origin_list_multiple','innerHTML',api_utf8_encode($return_origin)); + } + } + } + return $xajax_response; } $xajax->processRequests(); $htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/'); - $htmlHeadXtra[] = ' '; -$form_sent=0; -$errorMsg=$firstLetterUser=$firstLetterSession=''; -$UserList=$SessionList=array(); -$users=$sessions=array(); -$noPHP_SELF=true; +$form_sent = 0; +$errorMsg = $firstLetterUser = $firstLetterSession=''; +$UserList = $SessionList = array(); +$users = $sessions = array(); +$noPHP_SELF = true; $group_info = GroupPortalManager::get_group_data($group_id); $group_name = $group_info['name']; Display::display_header($group_name); -if ($_POST['form_sent']) { - - $form_sent = $_POST['form_sent']; - $firstLetterUser = $_POST['firstLetterUser']; - $UserList = $_POST['sessionUsersList']; - $group_id = intval($_POST['id']); - $relation_type = intval($_POST['relation']); - - if(!is_array($UserList)) { - $UserList=array(); - } - if ($form_sent == 1) { - if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { - $relations = array(GROUP_USER_PERMISSION_PENDING_INVITATION,GROUP_USER_PERMISSION_READER); - $users_by_group = GroupPortalManager::get_users_by_group($group_id,null,$relations); - $user_id_relation = array_keys($users_by_group); - $user_relation_diff = array_diff($user_id_relation,$UserList); - foreach ($user_relation_diff as $user_id) { - GroupPortalManager::delete_user_rel_group($user_id,$group_id); - } - } else { - GroupPortalManager::delete_users($group_id, $relation_type); - } - $result = GroupPortalManager::add_users_to_groups($UserList, array($group_id), $relation_type); - Display :: display_confirmation_message(get_lang('UsersEdited')); - } +if (isset($_POST['form_sent']) && $_POST['form_sent']) { + $form_sent = $_POST['form_sent']; + $firstLetterUser = $_POST['firstLetterUser']; + $UserList = $_POST['sessionUsersList']; + $group_id = intval($_POST['id']); + $relation_type = intval($_POST['relation']); + + if (!is_array($UserList)) { + $UserList=array(); + } + if ($form_sent == 1) { + if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { + $relations = array(GROUP_USER_PERMISSION_PENDING_INVITATION,GROUP_USER_PERMISSION_READER); + $users_by_group = GroupPortalManager::get_users_by_group($group_id, null, $relations); + $user_id_relation = array_keys($users_by_group); + $user_relation_diff = array_diff($user_id_relation, $UserList); + foreach ($user_relation_diff as $user_id) { + GroupPortalManager::delete_user_rel_group($user_id, $group_id); + } + } else { + GroupPortalManager::delete_users($group_id, $relation_type); + } + $result = GroupPortalManager::add_users_to_groups($UserList, array($group_id), $relation_type); + Display :: display_confirmation_message(get_lang('UsersEdited')); + } } $nosessionUsersList = $sessionUsersList = array(); @@ -262,123 +259,122 @@ $order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, usern if ($ajax_search) { - // data for destination list - if (isset($_POST['id']) && isset($_POST['relation'])) { - // data for destination user list - $id = intval($_POST['id']); - $relation_type = intval($_POST['relation']); - $condition_relation = ""; - - if ($relation_type==GROUP_USER_PERMISSION_PENDING_INVITATION) { - $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; - } else { - $condition_relation = " AND groups.relation_type = '$relation_type' "; - } - - $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname - FROM $tbl_group_rel_user groups - INNER JOIN $tbl_user user ON user.user_id = groups.user_id - WHERE groups.group_id = '$id' $condition_relation "; - $rs_destination = Database::query($sql); - if (Database::num_rows($rs_destination) > 0) { - while ($row_destination_list = Database::fetch_array($rs_destination)) { - $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; - } - } - } - + // data for destination list + if (isset($_POST['id']) && isset($_POST['relation'])) { + // data for destination user list + $id = intval($_POST['id']); + $relation_type = intval($_POST['relation']); + $condition_relation = ""; + + if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { + $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; + } else { + $condition_relation = " AND groups.relation_type = '$relation_type' "; + } + + $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname + FROM $tbl_group_rel_user groups + INNER JOIN $tbl_user user ON user.user_id = groups.user_id + WHERE groups.group_id = '$id' $condition_relation "; + $rs_destination = Database::query($sql); + if (Database::num_rows($rs_destination) > 0) { + while ($row_destination_list = Database::fetch_array($rs_destination)) { + $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; + } + } + } } else { - $many_users = false; - $sql = "SELECT count(user_id) FROM $tbl_user user - WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id "; - - if ($_configuration['multiple_access_urls']) { - $access_url_id = api_get_current_access_url_id(); - if ($access_url_id != -1) { - $sql = "SELECT count(user.user_id) FROM $tbl_user user - INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) - WHERE access_url_id = '$access_url_id' - AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' - AND user.user_id<>'$user_anonymous' $without_user_id "; - } - } - $rs_count = Database::query($sql); - $row_count = 0; - if (Database::num_rows($rs_count)) { - $row_count = Database::fetch_row($rs_count); - $row_count = $row_count[0]; - } - if ($row_count > 2) $many_users = true; - - // data for origin list - if (isset($_GET['id'])) { - $id = intval($_GET['id']); - $needle = Database::escape_string($_POST['firstLetterUser']); - $needle = api_convert_encoding($needle, $charset, 'utf-8'); - $user_anonymous=api_get_anonymous_id(); - // get user_id from relation type and group id - $sql = "SELECT user_id FROM $tbl_group_rel_user - WHERE group_id = $id - AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.",".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; - $res = Database::query($sql); - $user_ids = array(); - if (Database::num_rows($res) > 0) { - while ($row = Database::fetch_row($res)) { - $user_ids[] = $row[0]; - } - $without_user_id = " AND user.user_id NOT IN(".implode(',',$user_ids).") "; - } - - $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user - WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; - if ($_configuration['multiple_access_urls']) { - $access_url_id = api_get_current_access_url_id(); - if ($access_url_id != -1) { - $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user - INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) - WHERE access_url_id = '$access_url_id' - AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' - AND user.user_id<>'$user_anonymous' $without_user_id $order_clause "; - } - } - $rs_origin_list = Database::query($sql); - while ($row_origin_list = Database::fetch_array($rs_origin_list)) { - $nosessionUsersList[$row_origin_list['user_id']] = $row_origin_list; - } - } - - // data for destination list - if (isset($_POST['id']) && isset($_POST['relation'])) { - // data for destination user list - $id = intval($_POST['id']); - $relation_type = intval($_POST['relation']); - - if ($relation_type==GROUP_USER_PERMISSION_PENDING_INVITATION) { - $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; - } else { - $condition_relation = " AND groups.relation_type = '$relation_type' "; - } - - $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname - FROM $tbl_group_rel_user groups - INNER JOIN $tbl_user user ON user.user_id = groups.user_id - WHERE groups.group_id = '$id' $condition_relation "; - $rs_destination = Database::query($sql); - if (Database::num_rows($rs_destination) > 0) { - while ($row_destination_list = Database::fetch_array($rs_destination)) { - $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; - } - } - } + $many_users = false; + $sql = "SELECT count(user_id) FROM $tbl_user user + WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id "; + + if (api_is_multiple_url_enabled()) { + $access_url_id = api_get_current_access_url_id(); + if ($access_url_id != -1) { + $sql = "SELECT count(user.user_id) FROM $tbl_user user + INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) + WHERE access_url_id = '$access_url_id' + AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' + AND user.user_id<>'$user_anonymous' $without_user_id "; + } + } + $rs_count = Database::query($sql); + $row_count = 0; + if (Database::num_rows($rs_count)) { + $row_count = Database::fetch_row($rs_count); + $row_count = $row_count[0]; + } + if ($row_count > 2) $many_users = true; + + // data for origin list + if (isset($_GET['id'])) { + $id = intval($_GET['id']); + $needle = isset($_POST['firstLetterUser']) ? Database::escape_string($_POST['firstLetterUser']) : null; + $needle = api_convert_encoding($needle, $charset, 'utf-8'); + $user_anonymous=api_get_anonymous_id(); + // get user_id from relation type and group id + $sql = "SELECT user_id FROM $tbl_group_rel_user + WHERE group_id = $id + AND relation_type IN (".GROUP_USER_PERMISSION_ADMIN.",".GROUP_USER_PERMISSION_READER.",".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_MODERATOR.", ".GROUP_USER_PERMISSION_HRM.") "; + $res = Database::query($sql); + $user_ids = array(); + if (Database::num_rows($res) > 0) { + while ($row = Database::fetch_row($res)) { + $user_ids[] = $row[0]; + } + $without_user_id = " AND user.user_id NOT IN(".implode(',',$user_ids).") "; + } + + $sql = "SELECT user_id, username, lastname, firstname FROM $tbl_user user + WHERE ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' AND user_id<>'$user_anonymous' $without_user_id $order_clause "; + if (api_is_multiple_url_enabled()) { + $access_url_id = api_get_current_access_url_id(); + if ($access_url_id != -1) { + $sql = "SELECT user.user_id, username, lastname, firstname FROM $tbl_user user + INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=user.user_id) + WHERE access_url_id = '$access_url_id' + AND ".(api_sort_by_first_name() ? 'firstname' : 'lastname')." LIKE '$needle%' + AND user.user_id<>'$user_anonymous' $without_user_id $order_clause "; + } + } + $rs_origin_list = Database::query($sql); + while ($row_origin_list = Database::fetch_array($rs_origin_list)) { + $nosessionUsersList[$row_origin_list['user_id']] = $row_origin_list; + } + } + + // data for destination list + if (isset($_POST['id']) && isset($_POST['relation'])) { + // data for destination user list + $id = intval($_POST['id']); + $relation_type = intval($_POST['relation']); + + if ($relation_type == GROUP_USER_PERMISSION_PENDING_INVITATION) { + $condition_relation = " AND groups.relation_type IN (".GROUP_USER_PERMISSION_PENDING_INVITATION.",".GROUP_USER_PERMISSION_READER.") "; + } else { + $condition_relation = " AND groups.relation_type = '$relation_type' "; + } + + $sql = "SELECT user.user_id, user.username, user.lastname, user.firstname + FROM $tbl_group_rel_user groups + INNER JOIN $tbl_user user ON user.user_id = groups.user_id + WHERE groups.group_id = '$id' $condition_relation "; + $rs_destination = Database::query($sql); + if (Database::num_rows($rs_destination) > 0) { + while ($row_destination_list = Database::fetch_array($rs_destination)) { + $sessionUsersList[$row_destination_list['user_id']] = $row_destination_list ; + } + } + } } 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').''; } ?> @@ -387,7 +383,7 @@ if ($add_type == 'multiple') {
> -'.$tool_name.' ('.$group_info['name'].')'; ?> +'.$tool_name.' ('.$group_info['name'].')'; ?> - -0 ) { - echo '

'.get_lang('FilterUsers').'

'; - foreach ($new_field_list as $new_field) { - echo $new_field['name']; - $varname = 'field_'.$new_field['variable']; - echo ' '; - echo '  '; - } - echo ''; - echo '

'; - } - } -} -?> - @@ -538,7 +504,6 @@ if(!empty($errorMsg)) {