*/
$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).'mail.lib.inc.php';
api_block_anonymous_users();
$this_section = SECTION_SOCIAL;
//jquery thickbox already called from main/inc/header.inc.php
// prepare anchor for message group topic
$anchor = '';
if (isset($_GET['anchor_topic'])) {
$anchor = Security::remove_XSS($_GET['anchor_topic']);
} else {
$match = 0;
$param_names = array_keys($_GET);
foreach ($param_names as $param) {
if (preg_match('/^items_(\d)_page_nr$/', $param, $match)) {
break;
}
}
$anchor = 'topic_'.$match[1];
}
$htmlHeadXtra[] = '';
$allowed_views = array('mygroups','newest','pop');
$interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('Social'));
if (isset($_GET['view']) && in_array($_GET['view'],$allowed_views)) {
if ($_GET['view'] == 'mygroups') {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups'));
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('MyGroups'));
} else if ( $_GET['view'] == 'newest') {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups'));
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Newest'));
} else {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups'));
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Popular'));
}
} else {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups'));
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('GroupList'));
}
Display :: display_header($tool_name, 'Groups');
// 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);
}
// display error messages
if (is_string($res)) {
Display::display_error_message($res);
}
if ($res === true) {
$groups_user = GroupPortalManager::get_users_by_group($group_id);
$group_info = GroupPortalManager::get_group_data($group_id);
$admin_user_info = api_get_user_info(1);
$sender_name = api_get_person_name($admin_user_info['firstName'], $admin_user_info['lastName'], null, PERSON_NAME_EMAIL_ADDRESS);
$sender_email = $admin_user_info['mail'];
$subject = sprintf(get_lang('ThereIsANewMessageInTheGroupX'),$group_info['name']);
$link = api_get_path(WEB_PATH).'main/social/groups.php?'.$_SERVER['QUERY_STRING'];
$text_link = ''.get_lang('ClickHereToSeeMessageGroup')."
\r\n
\r\n".get_lang('OrCopyPasteTheFollowingUrl')."
\r\n ".$link;
$message = sprintf(get_lang('YouHaveReceivedANewMessageInTheGroupX'),$group_info['name'])."
$text_link";
foreach ($groups_user as $group_user) {
if ($group_user == $current_user) continue;
$group_user_info = api_get_user_info($group_user['user_id']);
$recipient_name = api_get_person_name($group_user_info['firstName'], $group_user_info['lastName'], null, PERSON_NAME_EMAIL_ADDRESS);
$recipient_email = $group_user_info['mail'];
@api_mail_html($recipient_name, $recipient_email, stripslashes($subject), $message, $sender_name, $sender_email);
}
}
Security::clear_token();
}
}
// getting group information
$group_id = intval($_GET['id']);
$relation_group_title = '';
$my_group_role = 0;
if ($group_id != 0 ) {
$user_leave_message = false;
$user_added_group_message = false;
$group_info = GroupPortalManager::get_group_data($group_id);
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);
$user_leave_message = true;
}
}
// 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)) {
if ($group_info['visibility'] == GROUP_PERMISSION_OPEN) {
GroupPortalManager::add_user_to_group($user_join, $group_id);
$user_added_group_message = true;
} else {
GroupPortalManager::add_user_to_group($user_join, $group_id, GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER);
$user_added_group_message = true;
}
}
}
}
echo '
'.$group_info['name'].'
'; //Group's description echo ''.$name.'
'.$url_close.Display::return_icon('linegroups.jpg','').'('.$count_users_group.')
'.$name.'
'.$url_close.Display::return_icon('linegroups.jpg','').'('.$count_users_group.')
'.$name.'
'.$url_close.Display::return_icon('linegroups.jpg').'('.$count_users_group.')