*/ $cidReset=true; $language_file = array('userInfo'); require_once '../inc/global.inc.php'; require_once api_get_path(LIBRARY_PATH).'usermanager.lib.php'; require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH).'social.lib.php'; require_once api_get_path(LIBRARY_PATH).'message.lib.php'; require_once api_get_path(LIBRARY_PATH).'text.lib.php'; api_block_anonymous_users(); $this_section = SECTION_SOCIAL; $htmlHeadXtra[] = ''; //jQuery $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; $interbreadcrumb[]= array ('url' =>'profile.php','name' => get_lang('Social')); $interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Groups')); Display :: display_header($tool_name, 'Groups'); echo '
'; echo get_lang('Groups'); echo '
'; // save message group if (isset($_POST['token']) && $_POST['token'] === $_SESSION['sec_token']) { if (isset($_POST['action'])) { $title = $_POST['title']; $content = $_POST['content']; $group_id = intval($_POST['group_id']); $parent_id = intval($_POST['parent_id']); if ($_POST['action'] == 'edit_message_group') { $edit_message_id = intval($_POST['message_id']); $res = MessageManager::send_message(0, $title, $content, $_FILES, '', $group_id, $parent_id, $edit_message_id); } else { $res = MessageManager::send_message(0, $title, $content, $_FILES, '', $group_id, $parent_id); } if (is_string($res)) { Display::display_error_message($res); } Security::clear_token(); } } // getting group information $group_id = intval($_GET['id']); echo '
'; //this include the social menu div //SocialManager::show_social_menu(array('messages')); echo '
'; if ($group_id != 0 ) { //Loading group information if (isset($_GET['status']) && $_GET['status']=='sent') { Display::display_confirmation_message(get_lang('MessageHasBeenSent'), false); } if (isset($_GET['action']) && $_GET['action']=='leave') { $user_leaved = intval($_GET['u']); //I can "leave me myself" if (api_get_user_id() == $user_leaved) { GroupPortalManager::delete_user_rel_group($user_leaved, $group_id); } } // add a user to a group if its open if (isset($_GET['action']) && $_GET['action']=='join') { // we add a user only if is a open group $user_join = intval($_GET['u']); if (api_get_user_id() == $user_join && !empty($group_id)) { $group_info = GroupPortalManager::get_group_data($group_id); if ($group_info['visibility'] == GROUP_PERMISSION_OPEN) { GroupPortalManager::add_user_to_group($user_join, $group_id); } else { GroupPortalManager::add_user_to_group($user_join, $group_id, GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER); } } } //-- Shows left column echo GroupPortalManager::show_group_column_information($group_id, api_get_user_id()); //--- //-- Show message groups echo '
'; echo '
'; if (GroupPortalManager::is_group_member($group_id)) { $content = MessageManager::display_messages_for_group($group_id); if (!empty($content)) { echo $content; } else { echo get_lang('YouShouldCreateATopic'); } } else { echo get_lang('YouShouldJoinTheGroup'); } echo '
'; // end layout messages echo '
'; // end layout right } else { // My groups ----- $results = GroupPortalManager::get_groups_by_user(api_get_user_id(), 0, true); $groups = array(); if (is_array($results) && count($results) > 0) { foreach ($results as $result) { //cutting text //$result['name'] = cut($result['name'],150); //$result['description'] = cut($result['description'],180); $id = $result['id']; $url_open = ''; $url_close = ''; if ($result['relation_type'] == GROUP_USER_PERMISSION_ADMIN) { $result['name'] .= Display::return_icon('admin_star.png', get_lang('Admin')); } elseif ($result['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) { $result['name'] .= Display::return_icon('moderator_star.png', get_lang('Moderator')); } $groups[]= array($url_open.$result['picture_uri'].$url_close, $url_open.$result['name'].$url_close, cut($result['description'],180,true)); } } echo '
'; // Everybody can create groups if (api_get_setting('allow_students_to_create_groups_in_social') == 'true') { echo ''.get_lang('CreateAgroup').''; } else { // Only admins and teachers can create groups if (api_is_allowed_to_edit(null,true)) { echo ''.get_lang('CreateAgroup').''; } } echo '

'.get_lang('MyGroups').'

'; if (count($groups) > 0) { Display::display_sortable_grid('mygroups', array(), $groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,false)); } // Newest groups -------- $results = GroupPortalManager::get_groups_by_age(); $groups = array(); foreach ($results as $result) { $id = $result['id']; $url_open = ''; $url_close = ''; $groups[]= array($url_open.$result['picture_uri'].$url_close, $url_open.$result['name'].$url_close, cut($result['description'],180,true)); } if (count($groups) > 0) { echo '

'.get_lang('Newest').'

'; Display::display_sortable_grid('newest', array(), $groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,false)); } // Pop groups ----- $results = GroupPortalManager::get_groups_by_popularity(); $groups = array(); foreach ($results as $result) { $id = $result['id']; $url_open = ''; $url_close = ''; if ($result['count'] == 1 ) { $result['count'] = $result['count'].' '.get_lang('Member'); } else { $result['count'] = $result['count'].' '.get_lang('Members'); } $groups[]= array($url_open.$result['picture_uri'].$url_close, $url_open.$result['name'].$url_close,$result['count'],cut($result['description'],120,true)); } if (count($groups) > 0) { echo '

'.get_lang('Popular').'

'; Display::display_sortable_grid('popular', array(), $groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,true,true)); } echo '
'; echo '
'; } Display :: display_footer(); ?>