*/
// resetting the course id
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
$xajax = new xajax();
$xajax->registerFunction(['search_users', 'AccessUrlEditUsersToUrl', 'search_users']);
// setting the section (for the tabs)
$this_section = SECTION_PLATFORM_ADMIN;
// Access restrictions
api_protect_global_admin_script();
if (!api_get_multiple_access_url()) {
header('Location: index.php');
exit;
}
// Database Table Definitions
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_access_url_rel_user = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$tbl_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL);
// setting breadcrumbs
$tool_name = get_lang('EditUsersToURL');
$interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('PlatformAdmin')];
$interbreadcrumb[] = ['url' => 'access_urls.php', 'name' => get_lang('MultipleAccessURLs')];
$add_type = 'multiple';
if (isset($_REQUEST['add_type']) && $_REQUEST['add_type'] != '') {
$add_type = Security::remove_XSS($_REQUEST['add_type']);
}
$access_url_id = 1;
if (isset($_REQUEST['access_url_id']) && $_REQUEST['access_url_id'] != '') {
$access_url_id = Security::remove_XSS($_REQUEST['access_url_id']);
}
$xajax->processRequests();
$htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/');
$htmlHeadXtra[] = '';
$form_sent = 0;
$errorMsg = '';
$UserList = [];
$message = '';
if (isset($_POST['form_sent']) && $_POST['form_sent']) {
$form_sent = $_POST['form_sent'];
$UserList = $_POST['sessionUsersList'];
if (!is_array($UserList)) {
$UserList = [];
}
if ($form_sent == 1) {
if ($access_url_id == 0) {
Display::addFlash(Display::return_message(get_lang('SelectURL')));
header('Location: access_url_edit_users_to_url.php');
exit;
} elseif (is_array($UserList)) {
$result = UrlManager::update_urls_rel_user($UserList, $access_url_id);
$url_info = UrlManager::get_url_data_from_id($access_url_id);
if (!empty($result)) {
$message .= 'URL: '.$url_info['url'].'
';
}
if (!empty($result['users_added'])) {
$message .= '
'.get_lang('UsersAdded').':
';
$i = 1;
$user_added_list = [];
foreach ($result['users_added'] as $user) {
$user_info = api_get_user_info($user);
if (!empty($user_info)) {
$user_added_list[] = $i.'. '.api_get_person_name($user_info['firstname'], $user_info['lastname'], null, null, null, $user_info['username']);
$i++;
}
}
if (!empty($user_added_list)) {
$message .= implode(', ', $user_added_list);
}
}
if (!empty($result['users_deleted'])) {
$message .= '
'.get_lang('UsersDeleted').':
';
$user_deleted_list = [];
$i = 1;
foreach ($result['users_deleted'] as $user) {
$user_info = api_get_user_info($user);
if (!empty($user_info)) {
$user_deleted_list[] = $i.'. '.api_get_person_name($user_info['firstname'], $user_info['lastname']);
$i++;
}
}
if (!empty($user_deleted_list)) {
$message .= implode(', ', $user_deleted_list);
}
}
}
}
}
Display::display_header($tool_name);
if (!empty($message)) {
echo Display::return_message($message, 'normal', false);
}
echo '';
echo Display::url(
Display::return_icon('view_more_stats.gif', get_lang('AddUserToURL'), ''),
api_get_path(WEB_CODE_PATH).'admin/access_url_add_users_to_url.php'
);
echo '
';
api_display_tool_title($tool_name);
$nosessionUsersList = $sessionUsersList = [];
$ajax_search = $add_type == 'unique' ? true : false;
if ($ajax_search) {
$Users = UrlManager::get_url_rel_user_data($access_url_id);
foreach ($Users as $user) {
$sessionUsersList[$user['user_id']] = $user;
}
} else {
$order_clause = api_sort_by_first_name() ? ' ORDER BY username, firstname, lastname' : ' ORDER BY username, lastname, firstname';
$Users = UrlManager::get_url_rel_user_data(null, $order_clause);
foreach ($Users as $user) {
if ($user['access_url_id'] == $access_url_id) {
$sessionUsersList[$user['user_id']] = $user;
}
}
$sql = "SELECT u.user_id, lastname, firstname, username
FROM $tbl_user u WHERE status <> ".ANONYMOUS." ".
$order_clause;
$result = Database::query($sql);
$Users = Database::store_result($result);
$user_list_leys = array_keys($sessionUsersList);
foreach ($Users as $user) {
if (!in_array($user['user_id'], $user_list_leys)) {
$nosessionUsersList[$user['user_id']] = $user;
}
}
}
if ($add_type == 'multiple') {
$link_add_type_unique = ''.get_lang('SessionAddTypeUnique').'';
$link_add_type_multiple = get_lang('SessionAddTypeMultiple');
} else {
$link_add_type_unique = get_lang('SessionAddTypeUnique');
$link_add_type_multiple = ''.get_lang('SessionAddTypeMultiple').'';
}
$url_list = UrlManager::get_url_data();
?>
|