group_members.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /* For licensing terms, see /dokeos_license.txt */
  3. $language_file = array('admin');
  4. require '../inc/global.inc.php';
  5. require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php';
  6. require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php';
  7. require_once api_get_path(LIBRARY_PATH).'social.lib.php';
  8. $this_section = SECTION_SOCIAL;
  9. $interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('Social'));
  10. api_block_anonymous_users();
  11. Display :: display_header($tool_name, 'Groups');
  12. SocialManager::show_social_menu();
  13. echo '<div class="actions-title">';
  14. echo get_lang('GroupMembers');
  15. echo '</div>';
  16. // Group information
  17. $group_id = intval($_GET['id']);
  18. $admins = GroupPortalManager::get_users_by_group($group_id, true,GROUP_USER_PERMISSION_ADMIN);
  19. $show_message = '';
  20. if (isset($_GET['action']) && $_GET['action']=='add') {
  21. // we add a user only if is a open group
  22. $user_join = intval($_GET['u']);
  23. //if i'm the admin
  24. if (isset($admins[api_get_user_id()]) && $admins[api_get_user_id()]['relation_type'] == GROUP_USER_PERMISSION_ADMIN) {
  25. GroupPortalManager::update_user_permission($user_join, $group_id);
  26. $show_message = get_lang('UserAdded');
  27. }
  28. }
  29. if (isset($_GET['action']) && $_GET['action']=='delete') {
  30. // we add a user only if is a open group
  31. $user_join = intval($_GET['u']);
  32. //if i'm the admin
  33. if (isset($admins[api_get_user_id()]) && $admins[api_get_user_id()]['relation_type'] == GROUP_USER_PERMISSION_ADMIN) {
  34. GroupPortalManager::delete_user_rel_group($user_join, $group_id);
  35. $show_message = get_lang('UserDeleted');
  36. }
  37. }
  38. $users = GroupPortalManager::get_users_by_group($group_id, true);
  39. if (! empty($show_message)){
  40. Display :: display_normal_message($show_message);
  41. }
  42. $new_member_list = array();
  43. foreach($users as $user) {
  44. switch ($user['relation_type']) {
  45. case GROUP_USER_PERMISSION_ADMIN:
  46. $user['link'] = Display::return_icon('admin_star.png', get_lang('Admin'));
  47. break;
  48. case GROUP_USER_PERMISSION_READER:
  49. $user['link'] = '<a href="group_members.php?id='.$group_id.'&u='.$user['user_id'].'&action=delete">'.Display::return_icon('delete.png', get_lang('DeleteFromGroup')).'</a><br />'.
  50. '<a href="group_members.php?id='.$group_id.'&u='.$user['user_id'].'&action=set_admin">'.Display::return_icon('delete.png', get_lang('LikeModerator')).'</a>';
  51. break;
  52. case GROUP_USER_PERMISSION_PENDING_INVITATION:
  53. $user['link'] = '<a href="group_members.php?id='.$group_id.'&u='.$user['user_id'].'&action=add">'.Display::return_icon('pending_invitation.png', get_lang('PendingInvitation')).'</a>';
  54. break;
  55. }
  56. $new_member_list[] = $user;
  57. }
  58. if (count($new_member_list) > 0) {
  59. Display::display_sortable_grid('search_users', array(), $new_member_list, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, false, true,true,false,true,true));
  60. }
  61. Display :: display_footer();
  62. ?>