checked for subscribing readers from admin platform - partial CT#190

skala
Cristian Fasanando 16 years ago
parent 3662ac49ba
commit 5bc8b6b41e
  1. 55
      main/admin/add_users_to_group.php
  2. 9
      main/admin/group_list.php

@ -163,7 +163,7 @@ function search_users($needle,$type,$relation_type) {
} }
} }
$rs_multiple = Database::query($sql, __FILE__, __LINE__); $rs_multiple = Database::query($sql, __FILE__, __LINE__);
$return_origin .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">'; $return_origin .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">';
while ($user = Database :: fetch_array($rs_multiple)) { while ($user = Database :: fetch_array($rs_multiple)) {
$person_name = api_get_person_name($user['firstname'], $user['lastname']); $person_name = api_get_person_name($user['firstname'], $user['lastname']);
$return_origin .= '<option value="'.$user['user_id'].'">'.$person_name.' ('.$user['username'].')</option>'; $return_origin .= '<option value="'.$user['user_id'].'">'.$person_name.' ('.$user['username'].')</option>';
@ -223,7 +223,9 @@ $users=$sessions=array();
$noPHP_SELF=true; $noPHP_SELF=true;
$group_info = GroupPortalManager::get_group_data($group_id); $group_info = GroupPortalManager::get_group_data($group_id);
Display::display_header($tool_name); $group_name = $group_info['name'];
Display::display_header($group_name);
if($_POST['form_sent']) { if($_POST['form_sent']) {
@ -236,8 +238,18 @@ if($_POST['form_sent']) {
if(!is_array($UserList)) { if(!is_array($UserList)) {
$UserList=array(); $UserList=array();
} }
if ($form_sent == 1) { if ($form_sent == 1) {
GroupPortalManager::delete_users($group_id, $relation_type); 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); $result = GroupPortalManager::add_users_to_groups($UserList, array($group_id), $relation_type);
Display :: display_confirmation_message(get_lang('UsersEdited')); Display :: display_confirmation_message(get_lang('UsersEdited'));
} }
@ -277,8 +289,25 @@ if ($ajax_search) {
} else { } 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']==true) {
$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,__FILE__,__LINE__);
$row_count = Database::fetch_row($rs_count);
if ($row_count > 2) $many_users = true;
// data for origin list // data for origin list
if (isset($_POST['id']) && isset($_POST['firstLetterUser'])) { if (isset($_POST['id']) && isset($_POST['firstLetterUser'])) {
$id = intval($_POST['id']); $id = intval($_POST['id']);
$needle = Database::escape_string($_POST['firstLetterUser']); $needle = Database::escape_string($_POST['firstLetterUser']);
$needle = api_convert_encoding($needle, $charset, 'utf-8'); $needle = api_convert_encoding($needle, $charset, 'utf-8');
@ -420,13 +449,15 @@ if(!empty($errorMsg)) {
<td align="center"> <td align="center">
<?php echo get_lang('FirstLetterUser'); ?> : <?php echo get_lang('FirstLetterUser'); ?> :
<select name="firstLetterUser" id="firstLetterUser" onchange = "xajax_search_users(this.value,'multiple',document.getElementById('relation').value)" > <div id="firstLetter">
<option value = "%">--</option> <select name="firstLetterUser" id="firstLetterUser" onchange = "xajax_search_users(this.value,'multiple',document.getElementById('relation').value)" >
<?php <option value = "%"><?php echo get_lang('All') ?></option>
$selected_letter = isset($_POST['firstLetterUser'])?$_POST['firstLetterUser']:''; <?php
echo Display :: get_alphabet_options($selected_letter); $selected_letter = isset($_POST['firstLetterUser'])?$_POST['firstLetterUser']:'';
?> echo Display :: get_alphabet_options($selected_letter);
</select> ?>
</select>
</div>
</td> </td>
<td align="center">&nbsp;</td> <td align="center">&nbsp;</td>
</tr> </tr>

@ -105,7 +105,14 @@ function get_group_data($from, $number_of_items, $column, $direction)
$users = array (); $users = array ();
$t = time(); $t = time();
while ($group = Database::fetch_row($res)) {
// Status
$status = array();
$status[GROUP_PERMISSION_OPEN] = get_lang('Open');
$status[GROUP_PERMISSION_CLOSED] = get_lang('Closed');
while ($group = Database::fetch_row($res)) {
$group[3] = $status[$group[3]];
$group['1'] = '<a href="/main/social/groups.php?id='.$group['0'].'">'.$group['1'].'</a>'; $group['1'] = '<a href="/main/social/groups.php?id='.$group['0'].'">'.$group['1'].'</a>';
$groups[] = $group; $groups[] = $group;
} }

Loading…
Cancel
Save