Minor - code style review - refs #5637

1.9.x
Yannick Warnier 11 years ago
parent 9f627e9dba
commit c30e1c9583
  1. 493
      main/social/group_invitation.php
  2. 198
      main/social/group_members.php
  3. 130
      main/social/group_topics.php
  4. 739
      main/social/groups.php
  5. 333
      main/social/home.php
  6. 2
      main/social/index.php
  7. 6
      main/social/invitations.php
  8. 227
      main/social/message_for_group_form.inc.php
  9. 91
      main/social/myfiles.php
  10. 252
      main/social/profile_friends_and_groups.inc.php

@ -21,7 +21,7 @@ api_block_anonymous_users();
$xajax = new xajax(); $xajax = new xajax();
$xajax->registerFunction ('search_users'); $xajax->registerFunction('search_users');
$add = isset($_GET['add']) ? Security::remove_XSS($_GET['add']) : null; $add = isset($_GET['add']) ? Security::remove_XSS($_GET['add']) : null;
@ -31,25 +31,25 @@ $this_section = SECTION_PLATFORM_ADMIN;
// setting breadcrumbs // setting breadcrumbs
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
$interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('Social')); $interbreadcrumb[] = array('url' => 'home.php', 'name' => get_lang('Social'));
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups')); $interbreadcrumb[] = array('url' => 'groups.php', 'name' => get_lang('Groups'));
// Database Table Definitions // Database Table Definitions
$tbl_group = Database::get_main_table(TABLE_MAIN_GROUP); $tbl_group = Database::get_main_table(TABLE_MAIN_GROUP);
$tbl_user = Database::get_main_table(TABLE_MAIN_USER); $tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP); $tbl_group_rel_user = Database::get_main_table(TABLE_MAIN_USER_REL_GROUP);
// setting the name of the tool // setting the name of the tool
$tool_name = get_lang('SubscribeUsersToGroup'); $tool_name = get_lang('SubscribeUsersToGroup');
$group_id = intval($_REQUEST['id']); $group_id = intval($_REQUEST['id']);
$add_type = 'multiple'; $add_type = 'multiple';
if (isset($_REQUEST['add_type']) && $_REQUEST['add_type']!='') { if (isset($_REQUEST['add_type']) && $_REQUEST['add_type'] != '') {
$add_type = Security::remove_XSS($_REQUEST['add_type']); $add_type = Security::remove_XSS($_REQUEST['add_type']);
} }
//checking for extra field with filter on //checking for extra field with filter on
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
//todo @this validation could be in a function in group_portal_manager //todo @this validation could be in a function in group_portal_manager
if (empty($group_id)) { if (empty($group_id)) {
@ -65,8 +65,9 @@ if (empty($group_id)) {
} }
} }
function search_users($needle, $type) { function search_users($needle, $type)
global $tbl_user,$tbl_group_rel_user,$group_id; {
global $tbl_user, $tbl_group_rel_user, $group_id;
$xajax_response = new XajaxResponse(); $xajax_response = new XajaxResponse();
$return = ''; $return = '';
@ -76,14 +77,15 @@ function search_users($needle, $type) {
$charset = api_get_system_encoding(); $charset = api_get_system_encoding();
$needle = Database::escape_string($needle); $needle = Database::escape_string($needle);
$needle = api_convert_encoding($needle, $charset, 'utf-8'); $needle = api_convert_encoding($needle, $charset, 'utf-8');
$user_anonymous=api_get_anonymous_id(); $user_anonymous = api_get_anonymous_id();
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; $order_clause = api_sort_by_first_name(
) ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username';
$cond_user_id = ''; $cond_user_id = '';
if (!empty($id_session)) { if (!empty($id_session)) {
$group_id = Database::escape_string($group_id); $group_id = Database::escape_string($group_id);
// check id_user from session_rel_user table // check id_user from session_rel_user table
$sql = 'SELECT id_user FROM '.$tbl_group_rel_user.' WHERE group_id ="'.(int)$group_id.'"'; $sql = 'SELECT id_user FROM ' . $tbl_group_rel_user . ' WHERE group_id ="' . (int)$group_id . '"';
$res = Database::query($sql); $res = Database::query($sql);
$user_ids = array(); $user_ids = array();
if (Database::num_rows($res) > 0) { if (Database::num_rows($res) > 0) {
@ -92,69 +94,90 @@ function search_users($needle, $type) {
} }
} }
if (count($user_ids) > 0) { if (count($user_ids) > 0) {
$cond_user_id = ' AND user_id NOT IN('.implode(",",$user_ids).')'; $cond_user_id = ' AND user_id NOT IN(' . implode(
",",
$user_ids
) . ')';
} }
} }
if ($type == 'single') { if ($type == 'single') {
// search users where username or firstname or lastname begins likes $needle // search users where username or firstname or lastname begins likes $needle
$sql = 'SELECT user_id, username, lastname, firstname FROM '.$tbl_user.' user $sql = 'SELECT user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
WHERE (username LIKE "'.$needle.'%" WHERE (username LIKE "' . $needle . '%"
OR firstname LIKE "'.$needle.'%" OR firstname LIKE "' . $needle . '%"
OR lastname LIKE "'.$needle.'%") AND user_id<>"'.$user_anonymous.'"'. OR lastname LIKE "' . $needle . '%") AND user_id<>"' . $user_anonymous . '"' .
$order_clause. $order_clause .
' LIMIT 11'; ' LIMIT 11';
} else { } else {
$sql = 'SELECT user_id, username, lastname, firstname FROM '.$tbl_user.' user $sql = 'SELECT user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
WHERE '.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND user_id<>"'.$user_anonymous.'"'.$cond_user_id. WHERE ' . (api_sort_by_first_name(
$order_clause; ) ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND user_id<>"' . $user_anonymous . '"' . $cond_user_id .
$order_clause;
} }
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_user_rel_access_url = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $tbl_user_rel_access_url = Database::get_main_table(
TABLE_MAIN_ACCESS_URL_REL_USER
);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) { if ($access_url_id != -1) {
if ($type == 'single') { if ($type == 'single') {
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user $sql = 'SELECT user.user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id) 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 (username LIKE "'.$needle.'%" WHERE access_url_id = ' . $access_url_id . ' AND (username LIKE "' . $needle . '%"
OR firstname LIKE "'.$needle.'%" OR firstname LIKE "' . $needle . '%"
OR lastname LIKE "'.$needle.'%") AND user.user_id<>"'.$user_anonymous.'"'. OR lastname LIKE "' . $needle . '%") AND user.user_id<>"' . $user_anonymous . '"' .
$order_clause. $order_clause .
' LIMIT 11'; ' LIMIT 11';
} else { } else {
$sql = 'SELECT user.user_id, username, lastname, firstname FROM '.$tbl_user.' user $sql = 'SELECT user.user_id, username, lastname, firstname FROM ' . $tbl_user . ' user
INNER JOIN '.$tbl_user_rel_access_url.' url_user ON (url_user.user_id=user.user_id) INNER JOIN ' . $tbl_user_rel_access_url . ' url_user ON (url_user.user_id=user.user_id)
WHERE access_url_id = '.$access_url_id.' WHERE access_url_id = ' . $access_url_id . '
AND '.(api_sort_by_first_name() ? 'firstname' : 'lastname').' LIKE "'.$needle.'%" AND user.user_id<>"'.$user_anonymous.'"'.$cond_user_id. AND ' . (api_sort_by_first_name(
$order_clause; ) ? 'firstname' : 'lastname') . ' LIKE "' . $needle . '%" AND user.user_id<>"' . $user_anonymous . '"' . $cond_user_id .
$order_clause;
} }
} }
} }
$rs = Database::query($sql); $rs = Database::query($sql);
$i = 0; $i = 0;
if ($type=='single') { if ($type == 'single') {
while ($user = Database :: fetch_array($rs)) { while ($user = Database :: fetch_array($rs)) {
$i++; $i++;
if ($i<=10) { if ($i <= 10) {
$person_name = api_get_person_name($user['firstname'], $user['lastname']); $person_name = api_get_person_name(
$return .= '<a href="javascript: void(0);" onclick="javascript: add_user(\''.$user['user_id'].'\',\''.$person_name.' ('.$user['username'].')'.'\')">'.$person_name.' ('.$user['username'].')</a><br />'; $user['firstname'],
$user['lastname']
);
$return .= '<a href="javascript: void(0);" onclick="javascript: add_user(\'' . $user['user_id'] . '\',\'' . $person_name . ' (' . $user['username'] . ')' . '\')">' . $person_name . ' (' . $user['username'] . ')</a><br />';
} else { } else {
$return .= '...<br />'; $return .= '...<br />';
} }
} }
$xajax_response -> addAssign('ajax_list_users_single','innerHTML',api_utf8_encode($return)); $xajax_response->addAssign(
'ajax_list_users_single',
'innerHTML',
api_utf8_encode($return)
);
} else { } else {
$return .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">'; $return .= '<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:360px;">';
while ($user = Database :: fetch_array($rs)) { while ($user = Database :: fetch_array($rs)) {
$person_name = api_get_person_name($user['firstname'], $user['lastname']); $person_name = api_get_person_name(
$return .= '<option value="'.$user['user_id'].'">'.$person_name.' ('.$user['username'].')</option>'; $user['firstname'],
$user['lastname']
);
$return .= '<option value="' . $user['user_id'] . '">' . $person_name . ' (' . $user['username'] . ')</option>';
} }
$return .= '</select>'; $return .= '</select>';
$xajax_response -> addAssign('ajax_list_users_multiple','innerHTML',api_utf8_encode($return)); $xajax_response->addAssign(
'ajax_list_users_multiple',
'innerHTML',
api_utf8_encode($return)
);
} }
} }
return $xajax_response; return $xajax_response;
} }
$xajax->processRequests(); $xajax->processRequests();
@ -162,45 +185,44 @@ $xajax->processRequests();
$htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/'); $htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/');
$htmlHeadXtra[] = '<script> $htmlHeadXtra[] = '<script>
function add_user (code, content) { function add_user (code, content) {
// document.getElementById("user_to_add").value = ""; // document.getElementById("user_to_add").value = "";
//document.getElementById("ajax_list_users_single").innerHTML = ""; //document.getElementById("ajax_list_users_single").innerHTML = "";
destination = document.getElementById("destination_users"); destination = document.getElementById("destination_users");
for (i=0;i<destination.length;i++) { for (i=0;i<destination.length;i++) {
if(destination.options[i].text == content) { if(destination.options[i].text == content) {
return false; return false;
} }
} }
destination.options[destination.length] = new Option(content,code); destination.options[destination.length] = new Option(content,code);
destination.selectedIndex = -1; destination.selectedIndex = -1;
sortOptions(destination.options); sortOptions(destination.options);
} }
function remove_item(origin) { function remove_item(origin) {
for(var i = 0 ; i<origin.options.length ; i++) { for(var i = 0 ; i<origin.options.length ; i++) {
if(origin.options[i].selected) { if(origin.options[i].selected) {
origin.options[i]=null; origin.options[i]=null;
i = i-1; i = i-1;
} }
} }
} }
function validate_filter() { function validate_filter() {
document.formulaire.add_type.value = \''.$add_type.'\'; document.formulaire.add_type.value = \'' . $add_type . '\';
document.formulaire.form_sent.value=0; document.formulaire.form_sent.value=0;
document.formulaire.submit(); document.formulaire.submit();
} }
</script>'; </script>';
$form_sent=0; $form_sent = 0;
$errorMsg = $firstLetterUser = $firstLetterSession=''; $errorMsg = $firstLetterUser = $firstLetterSession = '';
$UserList = array(); $UserList = array();
$SessionList = array(); $SessionList = array();
$sessions = array(); $sessions = array();
$Users = array(); $Users = array();
if (isset($_POST['form_sent']) && $_POST['form_sent']) { if (isset($_POST['form_sent']) && $_POST['form_sent']) {
$form_sent = $_POST['form_sent']; $form_sent = $_POST['form_sent'];
$user_list = $_POST['sessionUsersList']; $user_list = $_POST['sessionUsersList'];
$group_id = intval($_POST['id']); $group_id = intval($_POST['id']);
if (!is_array($user_list)) { if (!is_array($user_list)) {
$user_list = array(); $user_list = array();
@ -212,15 +234,21 @@ if (isset($_POST['form_sent']) && $_POST['form_sent']) {
array($group_id), array($group_id),
GROUP_USER_PERMISSION_PENDING_INVITATION GROUP_USER_PERMISSION_PENDING_INVITATION
); );
$title = get_lang('YouAreInvitedToGroup').' '.$group_info['name']; $title = get_lang('YouAreInvitedToGroup') . ' ' . $group_info['name'];
$content = get_lang('YouAreInvitedToGroupContent').' '.$group_info['name'].' <br />'; $content = get_lang('YouAreInvitedToGroupContent') . ' ' . $group_info['name'] . ' <br />';
$content .= get_lang('ToSubscribeClickInTheLinkBelow').' <br />'; $content .= get_lang('ToSubscribeClickInTheLinkBelow') . ' <br />';
$content .= '<a href="'.api_get_path(WEB_CODE_PATH).'social/invitations.php?accept='.$group_id.'">'.get_lang('Subscribe').'</a>'; $content .= '<a href="' . api_get_path(WEB_CODE_PATH).
'social/invitations.php?accept=' . $group_id . '">'.
get_lang('Subscribe') . '</a>';
if (is_array($user_list) && count($user_list) > 0) { if (is_array($user_list) && count($user_list) > 0) {
//send invitation message //send invitation message
foreach ($user_list as $user_id) { foreach ($user_list as $user_id) {
$result = MessageManager::send_message($user_id, $title, $content); $result = MessageManager::send_message(
$user_id,
$title,
$content
);
} }
} }
} }
@ -228,33 +256,36 @@ if (isset($_POST['form_sent']) && $_POST['form_sent']) {
$nosessionUsersList = $sessionUsersList = array(); $nosessionUsersList = $sessionUsersList = array();
$ajax_search = $add_type == 'unique' ? true : false; $ajax_search = $add_type == 'unique' ? true : false;
$order_clause = api_sort_by_first_name() ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username'; $order_clause = api_sort_by_first_name(
) ? ' ORDER BY firstname, lastname, username' : ' ORDER BY lastname, firstname, username';
if ($ajax_search) { if ($ajax_search) {
$sql= "SELECT u.user_id, lastname, firstname, username, group_id $sql = "SELECT u.user_id, lastname, firstname, username, group_id
FROM $tbl_user u FROM $tbl_user u
LEFT JOIN $tbl_group_rel_user gu LEFT JOIN $tbl_group_rel_user gu
ON (gu.user_id = u.user_id) ON (gu.user_id = u.user_id)
WHERE gu.group_id = $group_id $order_clause"; WHERE gu.group_id = $group_id $order_clause";
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$tbl_user_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $tbl_user_rel_access_url = Database::get_main_table(
TABLE_MAIN_ACCESS_URL_REL_USER
);
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
if ($access_url_id != -1) { if ($access_url_id != -1) {
$sql = "SELECT u.user_id, lastname, firstname, username, id_session $sql = "SELECT u.user_id, lastname, firstname, username, id_session
FROM $tbl_user u FROM $tbl_user u
INNER JOIN $tbl_session_rel_user INNER JOIN $tbl_session_rel_user
ON $tbl_session_rel_user.id_user = u.user_id ON $tbl_session_rel_user.id_user = u.user_id
AND $tbl_session_rel_user.id_session = ".intval($id_session)." AND $tbl_session_rel_user.id_session = " . intval($id_session) . "
INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id) INNER JOIN $tbl_user_rel_access_url url_user ON (url_user.user_id=u.user_id)
WHERE access_url_id = $access_url_id WHERE access_url_id = $access_url_id
$order_clause"; $order_clause";
} }
} }
$result = Database::query($sql); $result = Database::query($sql);
$Users = Database::store_result($result); $Users = Database::store_result($result);
foreach ($Users as $user) { foreach ($Users as $user) {
$sessionUsersList[$user['user_id']] = $user ; $sessionUsersList[$user['user_id']] = $user;
} }
} else { } else {
$friends = SocialManager::get_friends(api_get_user_id()); $friends = SocialManager::get_friends(api_get_user_id());
@ -264,7 +295,10 @@ if ($ajax_search) {
$suggest_friends = true; $suggest_friends = true;
} else { } else {
foreach ($friends as $friend) { foreach ($friends as $friend) {
$group_friend_list = GroupPortalManager::get_groups_by_user($friend['friend_user_id'], 0); $group_friend_list = GroupPortalManager::get_groups_by_user(
$friend['friend_user_id'],
0
);
$friend_group_id = ''; $friend_group_id = '';
if (isset($group_friend_list[$group_id]) && $group_friend_list[$group_id]['id'] == $group_id) { if (isset($group_friend_list[$group_id]) && $group_friend_list[$group_id]['id'] == $group_id) {
$friend_group_id = $group_id; $friend_group_id = $group_id;
@ -274,8 +308,8 @@ if ($ajax_search) {
'user_id' => $friend['friend_user_id'], 'user_id' => $friend['friend_user_id'],
'firstname' => $friend['firstName'], 'firstname' => $friend['firstName'],
'lastname' => $friend['lastName'], 'lastname' => $friend['lastName'],
'username' =>$friend['username'], 'username' => $friend['username'],
'group_id'=> $friend_group_id 'group_id' => $friend_group_id
); );
} }
} }
@ -291,7 +325,7 @@ if ($ajax_search) {
// Deleting anonymous users // Deleting anonymous users
$user_anonymous = api_get_anonymous_id(); $user_anonymous = api_get_anonymous_id();
foreach ($nosessionUsersList as $key_user_list =>$value_user_list) { foreach ($nosessionUsersList as $key_user_list => $value_user_list) {
if ($nosessionUsersList[$key_user_list]['user_id'] == $user_anonymous) { if ($nosessionUsersList[$key_user_list]['user_id'] == $user_anonymous) {
unset($nosessionUsersList[$key_user_list]); unset($nosessionUsersList[$key_user_list]);
} }
@ -299,27 +333,51 @@ if ($ajax_search) {
} }
if ($add_type == 'multiple') { if ($add_type == 'multiple') {
$link_add_type_unique = '<a href="'.api_get_self().'?id='.$group_id.'&add='.$add.'&add_type=unique">'.Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').'</a>'; $link_add_type_unique = '<a href="' . api_get_self(
$link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple'); ) . '?id=' . $group_id . '&add=' . $add . '&add_type=unique">' . Display::return_icon(
'single.gif'
) . get_lang('SessionAddTypeUnique') . '</a>';
$link_add_type_multiple = Display::return_icon('multiple.gif') . get_lang(
'SessionAddTypeMultiple'
);
} else { } else {
$link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique'); $link_add_type_unique = Display::return_icon('single.gif') . get_lang(
$link_add_type_multiple = '<a href="'.api_get_self().'?id='.$group_id.'&add='.$add.'&add_type=multiple">'.Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').'</a>'; 'SessionAddTypeUnique'
);
$link_add_type_multiple = '<a href="' . api_get_self(
) . '?id=' . $group_id . '&add=' . $add . '&add_type=multiple">' . Display::return_icon(
'multiple.gif'
) . get_lang('SessionAddTypeMultiple') . '</a>';
} }
$social_avatar_block = SocialManager::show_social_avatar_block('invite_friends',$group_id); $social_avatar_block = SocialManager::show_social_avatar_block(
$social_menu_block = SocialManager::show_social_menu('invite_friends',$group_id); 'invite_friends',
$social_right_content = '<h2>'.Security::remove_XSS($group_info['name'], STUDENT, true).'</h2>'; $group_id
);
$social_menu_block = SocialManager::show_social_menu(
'invite_friends',
$group_id
);
$social_right_content = '<h2>' . Security::remove_XSS(
$group_info['name'],
STUDENT,
true
) . '</h2>';
if (count($nosessionUsersList) == 0) { if (count($nosessionUsersList) == 0) {
$friends = SocialManager::get_friends(api_get_user_id()); $friends = SocialManager::get_friends(api_get_user_id());
if ($friends == 0) { if ($friends == 0) {
$social_right_content .= get_lang('YouNeedToHaveFriendsInYourSocialNetwork'); $social_right_content .= get_lang(
'YouNeedToHaveFriendsInYourSocialNetwork'
);
} else { } else {
$social_right_content .= get_lang('YouAlreadyInviteAllYourContacts'); $social_right_content .= get_lang('YouAlreadyInviteAllYourContacts');
} }
$social_right_content .= '<div>'; $social_right_content .= '<div>';
$social_right_content .= '<a href="search.php">'.get_lang('TryAndFindSomeFriends').'</a>'; $social_right_content .= '<a href="search.php">' . get_lang(
$social_right_content .= '</div>'; 'TryAndFindSomeFriends'
) . '</a>';
$social_right_content .= '</div>';
} }
$add_true = null; $add_true = null;
@ -331,57 +389,31 @@ if ($ajax_search) {
$ajax = 'onsubmit="valide();"'; $ajax = 'onsubmit="valide();"';
} }
$form = '<form name="formulaire" method="post" action="'.api_get_self().'?id='.$group_id.$add_true.'" style="margin:0px;" '.$ajax.'>'; $form = '<form name="formulaire" method="post" action="' . api_get_self().
/*$extra_field_list = UserManager::get_extra_fields(); '?id=' . $group_id . $add_true . '" style="margin:0px;" ' . $ajax . '>';
if ($add_type == 'multiple') {
if (is_array($extra_field_list)) { $form .= '<input type="hidden" name="form_sent" value="1" />';
if (is_array($new_field_list) && count($new_field_list)>0 ) { $form .= '<input type="hidden" name="id" value="' . $group_id . '">';
$form .= '<h3>'.get_lang('FilterUsers').'</h3>'; $form .= '<input type="hidden" name="add_type" />';
foreach ($new_field_list as $new_field) {
$form .= $new_field['name'];
$varname = 'field_'.$new_field['variable'];
$form .= '&nbsp;<select name="'.$varname.'">';
$form .= '<option value="0">--'.get_lang('Select').'--</option>';
foreach ($new_field['data'] as $option) {
$checked='';
if (isset($_POST[$varname])) {
if ($_POST[$varname]==$option[1]) {
$checked = 'selected="true"';
}
}
$form .= '<option value="'.$option[1].'" '.$checked.'>'.$option[1].'</option>';
}
$form .= '</select>';
$form .= '&nbsp;&nbsp;';
}
$form .= '<input type="button" value="'.get_lang('Filter').'" onclick="validate_filter()" />';
$form .= '<br /><br />';
}
}
}*/
$form .= '<input type="hidden" name="form_sent" value="1" />';
$form .= '<input type="hidden" name="id" value="'.$group_id.'">';
$form .= '<input type="hidden" name="add_type" />';
if (!empty($errorMsg)) { if (!empty($errorMsg)) {
$form .= Display::return_message($errorMsg,'error'); //main API $form .= Display::return_message($errorMsg, 'error'); //main API
} }
$form .= '<table border="0" cellpadding="5" cellspacing="0" width="100%"> $form .= '<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tr> <tr>
<td align="center"><b>'.get_lang('Friends').' :</b> <td align="center"><b>' . get_lang('Friends') . ' :</b>
</td> </td>
<td></td> <td></td>
<td align="center"><b>'.get_lang('SendInvitationTo').':</b></td></tr>'; <td align="center"><b>' . get_lang('SendInvitationTo') . ':</b></td></tr>';
if ($add_type=='no') { if ($add_type == 'no') {
$form .=' $form .= '
<tr> <tr>
<td align="center">'.get_lang('FirstLetterUser').' : <td align="center">' . get_lang('FirstLetterUser') . ' :
<select name="firstLetterUser" onchange = "xajax_search_users(this.value,\'multiple\')" > <select name="firstLetterUser" onchange = "xajax_search_users(this.value,\'multiple\')" >
<option value = "%">--</option> <option value = "%">--</option>
'.Display :: get_alphabet_options().' ' . Display :: get_alphabet_options() . '
</select> </select>
</td> </td>
<td align="center">&nbsp;</td> <td align="center">&nbsp;</td>
@ -393,16 +425,24 @@ $form .= '
<td align="center"> <td align="center">
<div id="content_source">'; <div id="content_source">';
if (!($add_type=='multiple')) { if (!($add_type == 'multiple')) {
$form .='<input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value,\'single\')" /><div id="ajax_list_users_single"></div>'; $form .= '<input type="text" id="user_to_add" onkeyup="xajax_search_users(this.value,\'single\')" /><div id="ajax_list_users_single"></div>';
} else { } else {
$form .= '<div id="ajax_list_users_multiple"> $form .= '<div id="ajax_list_users_multiple">
<select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:290px;">'; <select id="origin_users" name="nosessionUsersList[]" multiple="multiple" size="15" style="width:290px;">';
foreach ($nosessionUsersList as $enreg) { foreach ($nosessionUsersList as $enreg) {
$selected = ''; $selected = '';
if(in_array($enreg['user_id'],$UserList)) $selected = 'selected="selected"'; if (in_array(
$form .= '<option value="'.$enreg['user_id'].'" '.$selected.'>'.api_get_person_name($enreg['firstname'], $enreg['lastname']).' ('.$enreg['username'].') </option>'; $enreg['user_id'],
$UserList
)
) {
$selected = 'selected="selected"';
}
$form .= '<option value="' . $enreg['user_id'] . '" ' . $selected . '>' .
api_get_person_name($enreg['firstname'], $enreg['lastname']).
' (' . $enreg['username'] . ') </option>';
} }
$form .= '</select>'; $form .= '</select>';
$form .= '</div>'; $form .= '</div>';
@ -412,7 +452,7 @@ $form .= '</div>';
$form .= '</td><td width="10%" valign="middle" align="center">'; $form .= '</td><td width="10%" valign="middle" align="center">';
if ($ajax_search) { if ($ajax_search) {
$form .= '<button class="arrowl" type="button" onclick="remove_item(document.getElementById(\'destination_users\'))" ></button>'; $form .= '<button class="arrowl" type="button" onclick="remove_item(document.getElementById(\'destination_users\'))" ></button>';
} else { } else {
$form .= '<button class="arrowr" type="button" onclick="moveItem(document.getElementById(\'origin_users\'), document.getElementById(\'destination_users\'))" ></button> $form .= '<button class="arrowr" type="button" onclick="moveItem(document.getElementById(\'origin_users\'), document.getElementById(\'destination_users\'))" ></button>
<br /><br /> <br /><br />
@ -420,20 +460,25 @@ if ($ajax_search) {
<br /><br />'; <br /><br />';
} }
$form .= ' <br /><br /><br /><br /><br /> $form .= ' <br /><br /><br /><br /><br />
</td> </td>
<td align="center"> <td align="center">
<select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:290px;">'; <select id="destination_users" name="sessionUsersList[]" multiple="multiple" size="15" style="width:290px;">';
foreach ($sessionUsersList as $enreg) { foreach ($sessionUsersList as $enreg) {
$form .= ' <option value="'.$enreg['user_id'].'">'.api_get_person_name($enreg['firstname'], $enreg['lastname']).' ('.$enreg['username'].')</option>'; $form .= ' <option value="' . $enreg['user_id'] . '">' . api_get_person_name(
$enreg['firstname'],
$enreg['lastname']
) . ' (' . $enreg['username'] . ')</option>';
} }
$form .= '</select></td> $form .= '</select></td>
</tr> </tr>
<tr> <tr>
<td colspan="3" align="center"> <td colspan="3" align="center">
<br /> <br />
<button class="save" type="button" value="" onclick="valide()" >'.get_lang('InviteUsersToGroup').'</button> <button class="save" type="button" value="" onclick="valide()" >' . get_lang(
'InviteUsersToGroup'
) . '</button>
</td> </td>
</tr> </tr>
</table> </table>
@ -442,15 +487,28 @@ $form .= '</select></td>
$social_right_content .= $form; $social_right_content .= $form;
// Current group members // Current group members
$members = GroupPortalManager::get_users_by_group($group_id, false, array(GROUP_USER_PERMISSION_PENDING_INVITATION)); $members = GroupPortalManager::get_users_by_group(
if (is_array($members) && count($members)>0) { $group_id,
foreach ($members as &$member) { false,
$image_path = UserManager::get_user_picture_path_by_id($member['user_id'], 'web', false, true); array(GROUP_USER_PERMISSION_PENDING_INVITATION)
$picture = UserManager::get_picture_user($member['user_id'], $image_path['file'],80); );
$member['image'] = '<img src="'.$picture['file'].'" width="50px" height="50px" />'; if (is_array($members) && count($members) > 0) {
} foreach ($members as &$member) {
$social_right_content .= '<h3>'.get_lang('UsersAlreadyInvited').'</h3>'; $image_path = UserManager::get_user_picture_path_by_id(
$social_right_content .= Display::return_sortable_grid( $member['user_id'],
'web',
false,
true
);
$picture = UserManager::get_picture_user(
$member['user_id'],
$image_path['file'],
80
);
$member['image'] = '<img src="' . $picture['file'] . '" width="50px" height="50px" />';
}
$social_right_content .= '<h3>' . get_lang('UsersAlreadyInvited') . '</h3>';
$social_right_content .= Display::return_sortable_grid(
'invitation_profile', 'invitation_profile',
array(), array(),
$members, $members,
@ -463,90 +521,89 @@ if (is_array($members) && count($members)>0) {
$htmlHeadXtra[] = '<script> $htmlHeadXtra[] = '<script>
function moveItem(origin , destination) { function moveItem(origin , destination) {
for(var i = 0 ; i<origin.options.length ; i++) { for(var i = 0 ; i<origin.options.length ; i++) {
if(origin.options[i].selected) { if(origin.options[i].selected) {
destination.options[destination.length] = new Option(origin.options[i].text,origin.options[i].value); destination.options[destination.length] = new Option(origin.options[i].text,origin.options[i].value);
origin.options[i]=null; origin.options[i]=null;
i = i-1; i = i-1;
} }
} }
destination.selectedIndex = -1; destination.selectedIndex = -1;
sortOptions(destination.options); sortOptions(destination.options);
} }
function sortOptions(options) { function sortOptions(options) {
newOptions = new Array();
newOptions = new Array(); for (i = 0 ; i<options.length ; i++)
for (i = 0 ; i<options.length ; i++) newOptions[i] = options[i];
newOptions[i] = options[i];
newOptions = newOptions.sort(mysort);
newOptions = newOptions.sort(mysort); options.length = 0;
options.length = 0; for(i = 0 ; i < newOptions.length ; i++)
for(i = 0 ; i < newOptions.length ; i++) options[i] = newOptions[i];
options[i] = newOptions[i];
} }
function mysort(a, b){ function mysort(a, b){
if(a.text.toLowerCase() > b.text.toLowerCase()){ if(a.text.toLowerCase() > b.text.toLowerCase()){
return 1; return 1;
} }
if(a.text.toLowerCase() < b.text.toLowerCase()){ if(a.text.toLowerCase() < b.text.toLowerCase()){
return -1; return -1;
} }
return 0; return 0;
} }
function valide(){ function valide(){
var options = document.getElementById(\'destination_users\').options; var options = document.getElementById(\'destination_users\').options;
for (i = 0 ; i<options.length ; i++) for (i = 0 ; i<options.length ; i++)
options[i].selected = true; options[i].selected = true;
document.forms.formulaire.submit(); document.forms.formulaire.submit();
} }
function loadUsersInSelect(select) { function loadUsersInSelect(select) {
var xhr_object = null; var xhr_object = null;
if(window.XMLHttpRequest) // Firefox if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest(); xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else // XMLHttpRequest non supporté par le navigateur else // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr_object.open("POST", "loadUsersInSelect.ajax.php"); xhr_object.open("POST", "loadUsersInSelect.ajax.php");
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
nosessionUsers = makepost(document.getElementById("origin_users")); nosessionUsers = makepost(document.getElementById("origin_users"));
sessionUsers = makepost(document.getElementById("destination_users")); sessionUsers = makepost(document.getElementById("destination_users"));
nosessionClasses = makepost(document.getElementById("origin_classes")); nosessionClasses = makepost(document.getElementById("origin_classes"));
sessionClasses = makepost(document.getElementById("destination_classes")); sessionClasses = makepost(document.getElementById("destination_classes"));
xhr_object.send("nosessionusers="+nosessionUsers+"&sessionusers="+sessionUsers+"&nosessionclasses="+nosessionClasses+"&sessionclasses="+sessionClasses); xhr_object.send("nosessionusers="+nosessionUsers+"&sessionusers="+sessionUsers+"&nosessionclasses="+nosessionClasses+"&sessionclasses="+sessionClasses);
xhr_object.onreadystatechange = function() { xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) { if(xhr_object.readyState == 4) {
document.getElementById("content_source").innerHTML = result = xhr_object.responseText; document.getElementById("content_source").innerHTML = result = xhr_object.responseText;
} }
} }
} }
function makepost(select) { function makepost(select) {
var options = select.options; var options = select.options;
var ret = ""; var ret = "";
for (i = 0 ; i<options.length ; i++) for (i = 0 ; i<options.length ; i++)
ret = ret + options[i].value +\'::\'+options[i].text+";;"; ret = ret + options[i].value +\'::\'+options[i].text+";;";
return ret; return ret;
} }
</script>'; </script>';
$social_right_content = Display::div($social_right_content, array('class' => 'span9')); $social_right_content = Display::div(
$social_right_content,
array('class' => 'span9')
);
$tpl = new Template($tool_name); $tpl = new Template($tool_name);
$tpl->set_help('Groups'); $tpl->set_help('Groups');
$tpl->assign('social_avatar_block', $social_avatar_block); $tpl->assign('social_avatar_block', $social_avatar_block);
$tpl->assign('social_menu_block', $social_menu_block); $tpl->assign('social_menu_block', $social_menu_block);
$tpl->assign('social_right_content', $social_right_content); $tpl->assign('social_right_content', $social_right_content);
//$tpl->assign('actions', $actions);
//$tpl->assign('content', $content);
$social_layout = $tpl->get_template('layout/social_layout.tpl'); $social_layout = $tpl->get_template('layout/social_layout.tpl');
$tpl->display($social_layout); $tpl->display($social_layout);

@ -12,115 +12,177 @@ $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
$interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('Social')); $interbreadcrumb[] = array('url' => 'home.php', 'name' => get_lang('Social'));
$interbreadcrumb[] = array('url' => 'groups.php','name' => get_lang('Groups')); $interbreadcrumb[] = array('url' => 'groups.php', 'name' => get_lang('Groups'));
$interbreadcrumb[] = array('url' => '#','name' => get_lang('MemberList')); $interbreadcrumb[] = array('url' => '#', 'name' => get_lang('MemberList'));
$group_id = intval($_GET['id']); $group_id = intval($_GET['id']);
//todo @this validation could be in a function in group_portal_manager //todo @this validation could be in a function in group_portal_manager
if (empty($group_id)) { if (empty($group_id)) {
api_not_allowed(); api_not_allowed();
} else { } else {
$group_info = GroupPortalManager::get_group_data($group_id); $group_info = GroupPortalManager::get_group_data($group_id);
if (empty($group_info)) { if (empty($group_info)) {
api_not_allowed(); api_not_allowed();
} }
$user_role = GroupPortalManager::get_user_group_role(api_get_user_id(), $group_id); $user_role = GroupPortalManager::get_user_group_role(
if (!in_array($user_role, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR, GROUP_USER_PERMISSION_READER))) { api_get_user_id(),
api_not_allowed(); $group_id
} );
if (!in_array(
$user_role,
array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_MODERATOR,
GROUP_USER_PERMISSION_READER
)
)
) {
api_not_allowed();
}
} }
$show_message = ''; $show_message = '';
//if i'm a moderator //if i'm a moderator
if (isset($_GET['action']) && $_GET['action']=='add') { if (isset($_GET['action']) && $_GET['action'] == 'add') {
// we add a user only if is a open group // we add a user only if is a open group
$user_join = intval($_GET['u']); $user_join = intval($_GET['u']);
//if i'm a moderator //if i'm a moderator
if (GroupPortalManager::is_group_moderator($group_id)) { if (GroupPortalManager::is_group_moderator($group_id)) {
GroupPortalManager::update_user_role($user_join, $group_id); GroupPortalManager::update_user_role($user_join, $group_id);
$show_message = get_lang('UserAdded'); $show_message = get_lang('UserAdded');
} }
} }
if (isset($_GET['action']) && $_GET['action']=='delete') { if (isset($_GET['action']) && $_GET['action'] == 'delete') {
// we add a user only if is a open group // we add a user only if is a open group
$user_join = intval($_GET['u']); $user_join = intval($_GET['u']);
//if i'm a moderator //if i'm a moderator
if (GroupPortalManager::is_group_moderator($group_id)) { if (GroupPortalManager::is_group_moderator($group_id)) {
GroupPortalManager::delete_user_rel_group($user_join, $group_id); GroupPortalManager::delete_user_rel_group($user_join, $group_id);
$show_message = Display::return_message(get_lang('UserDeleted')); $show_message = Display::return_message(get_lang('UserDeleted'));
} }
} }
if (isset($_GET['action']) && $_GET['action']=='set_moderator') { if (isset($_GET['action']) && $_GET['action'] == 'set_moderator') {
// we add a user only if is a open group // we add a user only if is a open group
$user_moderator= intval($_GET['u']); $user_moderator = intval($_GET['u']);
//if i'm the admin //if i'm the admin
if (GroupPortalManager::is_group_admin($group_id)) { if (GroupPortalManager::is_group_admin($group_id)) {
GroupPortalManager::update_user_role($user_moderator, $group_id, GROUP_USER_PERMISSION_MODERATOR); GroupPortalManager::update_user_role(
$show_message = Display::return_message(get_lang('UserChangeToModerator')); $user_moderator,
} $group_id,
GROUP_USER_PERMISSION_MODERATOR
);
$show_message = Display::return_message(
get_lang('UserChangeToModerator')
);
}
} }
if (isset($_GET['action']) && $_GET['action']=='delete_moderator') { if (isset($_GET['action']) && $_GET['action'] == 'delete_moderator') {
// we add a user only if is a open group // we add a user only if is a open group
$user_moderator= intval($_GET['u']); $user_moderator = intval($_GET['u']);
//only group admins can do that //only group admins can do that
if (GroupPortalManager::is_group_admin($group_id)) { if (GroupPortalManager::is_group_admin($group_id)) {
GroupPortalManager::update_user_role($user_moderator, $group_id, GROUP_USER_PERMISSION_READER); GroupPortalManager::update_user_role(
$show_message = Display::return_message(get_lang('UserChangeToReader')); $user_moderator,
} $group_id,
GROUP_USER_PERMISSION_READER
);
$show_message = Display::return_message(get_lang('UserChangeToReader'));
}
} }
$users = GroupPortalManager::get_users_by_group( $users = GroupPortalManager::get_users_by_group(
$group_id, $group_id,
false, false,
array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_READER, GROUP_USER_PERMISSION_MODERATOR), array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_MODERATOR
),
0, 0,
1000 1000
); );
$new_member_list = array(); $new_member_list = array();
$social_avatar_block = SocialManager::show_social_avatar_block('member_list', $group_id); $social_avatar_block = SocialManager::show_social_avatar_block(
'member_list',
$group_id
);
$social_menu_block = SocialManager::show_social_menu('member_list', $group_id); $social_menu_block = SocialManager::show_social_menu('member_list', $group_id);
$social_right_content = '<h2>'.$group_info['name'].'</h2>'; $social_right_content = '<h2>' . $group_info['name'] . '</h2>';
$social_right_content .= '<div style="width:90%">'; $social_right_content .= '<div style="width:90%">';
foreach($users as $user) { foreach ($users as $user) {
switch ($user['relation_type']) { switch ($user['relation_type']) {
case GROUP_USER_PERMISSION_ADMIN: case GROUP_USER_PERMISSION_ADMIN:
$user['link'] = Display::return_icon('social_group_admin.png', get_lang('Admin')); $user['link'] = Display::return_icon(
break; 'social_group_admin.png',
get_lang('Admin')
);
break;
case GROUP_USER_PERMISSION_READER: case GROUP_USER_PERMISSION_READER:
if (in_array($user_role, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR))) { if (in_array(
$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>'. $user_role,
'<a href="group_members.php?id='.$group_id.'&u='.$user['user_id'].'&action=set_moderator">'.Display::return_icon('social_moderator_add.png', get_lang('AddModerator')).'</a>'; array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_MODERATOR
)
)
) {
$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>' .
'<a href="group_members.php?id=' . $group_id . '&u=' . $user['user_id'] . '&action=set_moderator">' . Display::return_icon(
'social_moderator_add.png',
get_lang('AddModerator')
) . '</a>';
} }
break; break;
case GROUP_USER_PERMISSION_PENDING_INVITATION: case GROUP_USER_PERMISSION_PENDING_INVITATION:
$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>'; $user['link'] = '<a href="group_members.php?id=' . $group_id . '&u=' . $user['user_id'] . '&action=add">' . Display::return_icon(
break; 'pending_invitation.png',
get_lang('PendingInvitation')
) . '</a>';
break;
case GROUP_USER_PERMISSION_MODERATOR: case GROUP_USER_PERMISSION_MODERATOR:
$user['link'] = Display::return_icon('social_group_moderator.png', get_lang('Moderator')); $user['link'] = Display::return_icon(
'social_group_moderator.png',
get_lang('Moderator')
);
//only group admin can manage moderators //only group admin can manage moderators
if ($user_role == GROUP_USER_PERMISSION_ADMIN) { if ($user_role == GROUP_USER_PERMISSION_ADMIN) {
$user['link'] .='<a href="group_members.php?id='.$group_id.'&u='.$user['user_id'].'&action=delete_moderator">'.Display::return_icon('social_moderator_delete.png', get_lang('DeleteModerator')).'</a>'; $user['link'] .= '<a href="group_members.php?id=' . $group_id . '&u=' . $user['user_id'] . '&action=delete_moderator">' . Display::return_icon(
'social_moderator_delete.png',
get_lang('DeleteModerator')
) . '</a>';
} }
break; break;
} }
$image_path = UserManager::get_user_picture_path_by_id($user['user_id'], 'web', false, true); $image_path = UserManager::get_user_picture_path_by_id(
$picture = UserManager::get_picture_user($user['user_id'], $image_path['file'],80); $user['user_id'],
$user['image'] = '<img src="'.$picture['file'].'" width="50px" height="50px" />'; 'web',
false,
true
);
$picture = UserManager::get_picture_user(
$user['user_id'],
$image_path['file'],
80
);
$user['image'] = '<img src="' . $picture['file'] . '" width="50px" height="50px" />';
$new_member_list[] = $user; $new_member_list[] = $user;
} }
@ -129,7 +191,7 @@ if (count($new_member_list) > 0) {
'list_members', 'list_members',
array(), array(),
$new_member_list, $new_member_list,
array('hide_navigation'=>true, 'per_page' => 100), array('hide_navigation' => true, 'per_page' => 100),
array(), array(),
false, false,
array(true, false, true, true, false, true, true) array(true, false, true, true, false, true, true)

@ -10,14 +10,14 @@ $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
$group_id = intval($_GET['id']); $group_id = intval($_GET['id']);
$topic_id = intval($_GET['topic_id']); $topic_id = intval($_GET['topic_id']);
$message_id = intval($_GET['msg_id']); $message_id = intval($_GET['msg_id']);
//todo @this validation could be in a function in group_portal_manager //todo @this validation could be in a function in group_portal_manager
@ -35,11 +35,20 @@ if (empty($group_id)) {
} }
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') { if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
$group_role = GroupPortalManager::get_user_group_role(api_get_user_id(), $group_id); $group_role = GroupPortalManager::get_user_group_role(
api_get_user_id(),
if (api_is_platform_admin() || in_array($group_role, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR))) { $group_id
);
if (api_is_platform_admin() || in_array(
$group_role,
array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR)
)
) {
GroupPortalManager::delete_topic($group_id, $topic_id); GroupPortalManager::delete_topic($group_id, $topic_id);
header("Location: groups.php?id=$group_id&action=show_message&msg=topic_deleted"); header(
"Location: groups.php?id=$group_id&action=show_message&msg=topic_deleted"
);
} }
} }
@ -47,34 +56,58 @@ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') {
if (isset($_POST['token']) && $_POST['token'] === $_SESSION['sec_token']) { if (isset($_POST['token']) && $_POST['token'] === $_SESSION['sec_token']) {
if (isset($_POST['action'])) { if (isset($_POST['action'])) {
$title = isset($_POST['title']) ? $_POST['title'] : null; $title = isset($_POST['title']) ? $_POST['title'] : null;
$content = $_POST['content']; $content = $_POST['content'];
$group_id = intval($_POST['group_id']); $group_id = intval($_POST['group_id']);
$parent_id = intval($_POST['parent_id']); $parent_id = intval($_POST['parent_id']);
if ($_POST['action'] == 'reply_message_group') { if ($_POST['action'] == 'reply_message_group') {
$title = cut($content, 50); $title = cut($content, 50);
} }
if ($_POST['action'] == 'edit_message_group') { if ($_POST['action'] == 'edit_message_group') {
$edit_message_id = intval($_POST['message_id']); $edit_message_id = intval($_POST['message_id']);
$res = MessageManager::send_message(0, $title, $content, $_FILES, '', $group_id, $parent_id, $edit_message_id, 0, $topic_id); $res = MessageManager::send_message(
0,
$title,
$content,
$_FILES,
'',
$group_id,
$parent_id,
$edit_message_id,
0,
$topic_id
);
} else { } else {
if ($_POST['action'] == 'add_message_group' && !$is_member) { if ($_POST['action'] == 'add_message_group' && !$is_member) {
api_not_allowed(); api_not_allowed();
} }
$res = MessageManager::send_message(0, $title, $content, $_FILES, '', $group_id, $parent_id, 0, $topic_id); $res = MessageManager::send_message(
0,
$title,
$content,
$_FILES,
'',
$group_id,
$parent_id,
0,
$topic_id
);
} }
// display error messages // display error messages
if (!$res) { if (!$res) {
$social_right_content .= Display::return_message(get_lang('Error'),'error'); $social_right_content .= Display::return_message(
} get_lang('Error'),
$topic_id = intval($_GET['topic_id']); 'error'
if ($_POST['action'] == 'add_message_group') { );
$topic_id = $res; }
} $topic_id = intval($_GET['topic_id']);
$message_id = $res; if ($_POST['action'] == 'add_message_group') {
} $topic_id = $res;
}
$message_id = $res;
}
} }
$htmlHeadXtra[] = '<script type="text/javascript"> $htmlHeadXtra[] = '<script type="text/javascript">
@ -88,7 +121,9 @@ function remove_image_form(id_elem1) {
if (filepaths.childNodes.length < 3) { if (filepaths.childNodes.length < 3) {
var link_attach = document.getElementById("link-more-attach"); var link_attach = document.getElementById("link-more-attach");
if (link_attach) { if (link_attach) {
link_attach.innerHTML=\'<a href="javascript://" onclick="return add_image_form()">'.get_lang('AddOneMoreFile').'</a>\'; link_attach.innerHTML=\'<a href="javascript://" onclick="return add_image_form()">' . get_lang(
'AddOneMoreFile'
) . '</a>\';
} }
} }
} }
@ -106,7 +141,9 @@ function add_image_form() {
filepaths.appendChild(elem1); filepaths.appendChild(elem1);
id_elem1 = "filepath_"+counter_image; id_elem1 = "filepath_"+counter_image;
id_elem1 = "\'"+id_elem1+"\'"; id_elem1 = "\'"+id_elem1+"\'";
document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"'.api_get_path(WEB_CODE_PATH).'img/delete.gif\"></a>"; document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"' . api_get_path(
WEB_CODE_PATH
) . 'img/delete.gif\"></a>";
if (filepaths.childNodes.length == 3) { if (filepaths.childNodes.length == 3) {
var link_attach = document.getElementById("link-more-attach"); var link_attach = document.getElementById("link-more-attach");
@ -136,9 +173,9 @@ function validate_text_empty(str,msg) {
$(document).ready(function() { $(document).ready(function() {
if ( $("#msg_'.$message_id.'").length) { if ( $("#msg_' . $message_id . '").length) {
$("html,body").animate({ $("html,body").animate({
scrollTop: $("#msg_'.$message_id.'").offset().top scrollTop: $("#msg_' . $message_id . '").offset().top
}) })
} }
@ -168,26 +205,43 @@ $(document).ready(function() {
</script>'; </script>';
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
$interbreadcrumb[] = array ('url' =>'home.php', 'name' => get_lang('Social')); $interbreadcrumb[] = array('url' => 'home.php', 'name' => get_lang('Social'));
$interbreadcrumb[] = array('url' => 'groups.php', 'name' => get_lang('Groups')); $interbreadcrumb[] = array('url' => 'groups.php', 'name' => get_lang('Groups'));
$interbreadcrumb[] = array('url' => '#', 'name' => get_lang('Thread')); $interbreadcrumb[] = array('url' => '#', 'name' => get_lang('Thread'));
$social_right_content = '<div class="breadcrumb"> $social_right_content = '<div class="breadcrumb">
<a href="groups.php?id='.$group_id.'">'.Security::remove_XSS($group_info['name'], STUDENT, true).'</a> <a href="groups.php?id=' . $group_id . '">' . Security::remove_XSS(
$group_info['name'],
STUDENT,
true
) . '</a>
<span class="divider">/</span> <span class="divider">/</span>
<a href="groups.php?id='.$group_id.'#tabs_2">'.get_lang('Discussions').'</a> <a href="groups.php?id=' . $group_id . '#tabs_2">' . get_lang(
'Discussions'
) . '</a>
</div> '; </div> ';
$social_avatar_block = SocialManager::show_social_avatar_block('member_list', $group_id); $social_avatar_block = SocialManager::show_social_avatar_block(
'member_list',
$group_id
);
$social_menu_block = SocialManager::show_social_menu('member_list', $group_id); $social_menu_block = SocialManager::show_social_menu('member_list', $group_id);
if (!empty($show_message)) { if (!empty($show_message)) {
$social_right_content .= Display::return_message($show_message, 'confirmation'); $social_right_content .= Display::return_message(
$show_message,
'confirmation'
);
} }
$social_right_content .= MessageManager::display_message_for_group($group_id, $topic_id, $is_member, $message_id); $social_right_content .= MessageManager::display_message_for_group(
$group_id,
$topic_id,
$is_member,
$message_id
);
$social_right_content = '<div class="span9">'.$social_right_content.'</div>'; $social_right_content = '<div class="span9">' . $social_right_content . '</div>';
$tpl = new Template($tool_name); $tpl = new Template($tool_name);
$tpl->set_help('Groups'); $tpl->set_help('Groups');

@ -10,12 +10,12 @@ $language_file = array('userInfo');
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
require_once api_get_path(LIBRARY_PATH).'mail.lib.inc.php'; require_once api_get_path(LIBRARY_PATH) . 'mail.lib.inc.php';
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
@ -32,7 +32,7 @@ if (isset($_GET['anchor_topic'])) {
} }
} }
if (isset($match[1])) { if (isset($match[1])) {
$anchor = 'topic_'.$match[1]; $anchor = 'topic_' . $match[1];
} }
} }
@ -47,7 +47,9 @@ function remove_image_form(id_elem1) {
if (filepaths.childNodes.length < 3) { if (filepaths.childNodes.length < 3) {
var link_attach = document.getElementById("link-more-attach"); var link_attach = document.getElementById("link-more-attach");
if (link_attach) { if (link_attach) {
link_attach.innerHTML=\'<a href="javascript://" onclick="return add_image_form()">'.get_lang('AddOneMoreFile').'</a>\'; link_attach.innerHTML=\'<a href="javascript://" onclick="return add_image_form()">' . get_lang(
'AddOneMoreFile'
) . '</a>\';
} }
} }
} }
@ -65,7 +67,9 @@ function add_image_form() {
filepaths.appendChild(elem1); filepaths.appendChild(elem1);
id_elem1 = "filepath_"+counter_image; id_elem1 = "filepath_"+counter_image;
id_elem1 = "\'"+id_elem1+"\'"; id_elem1 = "\'"+id_elem1+"\'";
document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"'.api_get_path(WEB_CODE_PATH).'img/delete.gif\"></a>"; document.getElementById("filepath_"+counter_image).innerHTML = "<input type=\"file\" name=\"attach_"+counter_image+"\" size=\"20\" />&nbsp;<a href=\"javascript:remove_image_form("+id_elem1+")\"><img src=\"' . api_get_path(
WEB_CODE_PATH
) . 'img/delete.gif\"></a>";
if (filepaths.childNodes.length == 3) { if (filepaths.childNodes.length == 3) {
var link_attach = document.getElementById("link-more-attach"); var link_attach = document.getElementById("link-more-attach");
@ -91,7 +95,7 @@ jQuery(document).ready(function() {
$("#tabs").tabs(); $("#tabs").tabs();
$("#tab_browse").tabs(); $("#tab_browse").tabs();
var valor = "'.$anchor.'"; var valor = "' . $anchor . '";
$(".head").click(function() { $(".head").click(function() {
$(this).next().next().slideToggle("fast"); $(this).next().next().slideToggle("fast");
@ -119,25 +123,54 @@ jQuery(document).ready(function() {
}); });
</script>'; </script>';
$allowed_views = array('mygroups','newest','pop'); $allowed_views = array('mygroups', 'newest', 'pop');
$interbreadcrumb[]= array ('url' =>'home.php','name' => get_lang('SocialNetwork')); $interbreadcrumb[] = array(
'url' => 'home.php',
'name' => get_lang('SocialNetwork')
);
$content = null; $content = null;
if (isset($_GET['view']) && in_array($_GET['view'], $allowed_views)) { if (isset($_GET['view']) && in_array($_GET['view'], $allowed_views)) {
if ($_GET['view'] == 'mygroups') { if ($_GET['view'] == 'mygroups') {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups')); $interbreadcrumb[] = array(
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('MyGroups')); 'url' => 'groups.php',
} else if ($_GET['view'] == 'newest') { 'name' => get_lang('Groups')
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups')); );
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Newest')); $interbreadcrumb[] = array(
} else { 'url' => '#',
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups')); 'name' => get_lang('MyGroups')
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Popular')); );
} 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 { } else {
$interbreadcrumb[]= array ('url' =>'groups.php','name' => get_lang('Groups')); $interbreadcrumb[] = array(
'url' => 'groups.php',
'name' => get_lang('Groups')
);
if (!isset($_GET['id'])) { if (!isset($_GET['id'])) {
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('GroupList')); $interbreadcrumb[] = array(
'url' => '#',
'name' => get_lang('GroupList')
);
} else { } else {
//$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Group')); //$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('Group'));
} }
@ -156,22 +189,25 @@ if ($group_id != 0) {
$group_info = GroupPortalManager::get_group_data($group_id); $group_info = GroupPortalManager::get_group_data($group_id);
if (!empty($group_id)) { if (!empty($group_id)) {
$interbreadcrumb[]= array ('url' =>'#','name' => $group_info['name']); $interbreadcrumb[] = array('url' => '#', 'name' => $group_info['name']);
} }
if (isset($_GET['action']) && $_GET['action']=='leave') { if (isset($_GET['action']) && $_GET['action'] == 'leave') {
$user_leaved = intval($_GET['u']); $user_leaved = intval($_GET['u']);
if (GroupPortalManager::canLeave($group_info)) { if (GroupPortalManager::canLeave($group_info)) {
// I can "leave me myself" // I can "leave me myself"
if (api_get_user_id() == $user_leaved) { if (api_get_user_id() == $user_leaved) {
GroupPortalManager::delete_user_rel_group($user_leaved, $group_id); GroupPortalManager::delete_user_rel_group(
$user_leaved,
$group_id
);
$user_leave_message = true; $user_leave_message = true;
} }
} }
} }
// add a user to a group if its open // add a user to a group if its open
if (isset($_GET['action']) && $_GET['action']=='join') { if (isset($_GET['action']) && $_GET['action'] == 'join') {
// we add a user only if is a open group // we add a user only if is a open group
$user_join = intval($_GET['u']); $user_join = intval($_GET['u']);
if (api_get_user_id() == $user_join && !empty($group_id)) { if (api_get_user_id() == $user_join && !empty($group_id)) {
@ -179,7 +215,11 @@ if ($group_id != 0) {
GroupPortalManager::add_user_to_group($user_join, $group_id); GroupPortalManager::add_user_to_group($user_join, $group_id);
$user_added_group_message = true; $user_added_group_message = true;
} else { } else {
GroupPortalManager::add_user_to_group($user_join, $group_id, GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER); GroupPortalManager::add_user_to_group(
$user_join,
$group_id,
GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER
);
$user_invitation_sent = true; $user_invitation_sent = true;
} }
} }
@ -187,139 +227,244 @@ if ($group_id != 0) {
} }
$create_thread_link = ''; $create_thread_link = '';
if ($group_id != 0 ) { if ($group_id != 0) {
$social_avatar_block = SocialManager::show_social_avatar_block('groups', $group_id); $social_avatar_block = SocialManager::show_social_avatar_block(
'groups',
$group_id
);
$social_menu_block = SocialManager::show_social_menu('groups', $group_id); $social_menu_block = SocialManager::show_social_menu('groups', $group_id);
} else { } else {
$show_menu = 'browse_groups'; $show_menu = 'browse_groups';
if (isset($_GET['view']) && $_GET['view'] == 'mygroups') { if (isset($_GET['view']) && $_GET['view'] == 'mygroups') {
$show_menu = $_GET['view']; $show_menu = $_GET['view'];
} }
$social_avatar_block = SocialManager::show_social_avatar_block($show_menu, $group_id); $social_avatar_block = SocialManager::show_social_avatar_block(
$show_menu,
$group_id
);
$social_menu_block = SocialManager::show_social_menu($show_menu, $group_id); $social_menu_block = SocialManager::show_social_menu($show_menu, $group_id);
} }
$social_right_content = null; $social_right_content = null;
if ($group_id != 0 ) { if ($group_id != 0) {
$group_info = GroupPortalManager::get_group_data($group_id); $group_info = GroupPortalManager::get_group_data($group_id);
//Loading group information //Loading group information
if (isset($_GET['status']) && $_GET['status']=='sent') { if (isset($_GET['status']) && $_GET['status'] == 'sent') {
$social_right_content .= Display::return_message(get_lang('MessageHasBeenSent'), 'confirmation', false); $social_right_content .= Display::return_message(
get_lang('MessageHasBeenSent'),
'confirmation',
false
);
} }
if ($user_leave_message) { if ($user_leave_message) {
$social_right_content .= Display::return_message(get_lang('UserIsNotSubscribedToThisGroup'), 'confirmation', false); $social_right_content .= Display::return_message(
get_lang('UserIsNotSubscribedToThisGroup'),
'confirmation',
false
);
} }
if ($user_added_group_message) { if ($user_added_group_message) {
$social_right_content .= Display::return_message(get_lang('UserIsSubscribedToThisGroup'), 'confirmation', false); $social_right_content .= Display::return_message(
get_lang('UserIsSubscribedToThisGroup'),
'confirmation',
false
);
} }
if ($user_invitation_sent) { if ($user_invitation_sent) {
$social_right_content .= Display::return_message(get_lang('InvitationSent'), 'confirmation', false); $social_right_content .= Display::return_message(
get_lang('InvitationSent'),
'confirmation',
false
);
} }
$is_group_member = GroupPortalManager::is_group_member($group_id); $is_group_member = GroupPortalManager::is_group_member($group_id);
// details about the current group // details about the current group
$social_right_content = '<div class="span9">'; $social_right_content = '<div class="span9">';
$social_right_content .= '<div id="social-group-details">'; $social_right_content .= '<div id="social-group-details">';
//Group's title //Group's title
$social_right_content .= Display::tag('h2', Security::remove_XSS($group_info['name'], STUDENT, true)); $social_right_content .= Display::tag(
'h2',
Security::remove_XSS($group_info['name'], STUDENT, true)
);
//Privacy //Privacy
if (!$is_group_member) { if (!$is_group_member) {
$social_right_content .= '<div class="social-group-details-info">'; $social_right_content .= '<div class="social-group-details-info">';
$social_right_content .= '<span>'.get_lang('Privacy').' : </span>'; $social_right_content .= '<span>' . get_lang('Privacy') . ' : </span>';
if ($group_info['visibility']== GROUP_PERMISSION_OPEN) { if ($group_info['visibility'] == GROUP_PERMISSION_OPEN) {
$social_right_content .= get_lang('ThisIsAnOpenGroup'); $social_right_content .= get_lang('ThisIsAnOpenGroup');
} elseif ($group_info['visibility']== GROUP_PERMISSION_CLOSED) { } elseif ($group_info['visibility'] == GROUP_PERMISSION_CLOSED) {
$social_right_content .= get_lang('ThisIsACloseGroup'); $social_right_content .= get_lang('ThisIsACloseGroup');
} }
$social_right_content .= '</div>'; $social_right_content .= '</div>';
} }
if (!$is_group_member && $group_info['visibility'] == GROUP_PERMISSION_CLOSED) { if (!$is_group_member && $group_info['visibility'] == GROUP_PERMISSION_CLOSED) {
$role = GroupPortalManager::get_user_group_role(api_get_user_id(), $group_id); $role = GroupPortalManager::get_user_group_role(
api_get_user_id(),
$group_id
);
if ($role == GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER) { if ($role == GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER) {
$social_right_content .= Display::return_message(get_lang('YouAlreadySentAnInvitation')); $social_right_content .= Display::return_message(
get_lang('YouAlreadySentAnInvitation')
);
} }
} }
// Group's tags // Group's tags
if (!empty($tags)) { if (!empty($tags)) {
$social_right_content .= '<div id="social-group-details-info"><span>'.get_lang('Tags').' : </span>'.$tags.'</div>'; $social_right_content .= '<div id="social-group-details-info"><span>' . get_lang(
'Tags'
) . ' : </span>' . $tags . '</div>';
} }
$social_right_content .= '</div>'; $social_right_content .= '</div>';
$social_right_content .= '</div>'; $social_right_content .= '</div>';
//-- Show message groups //-- Show message groups
$social_right_content .= '<div class="span9">'; $social_right_content .= '<div class="span9">';
if ($is_group_member || $group_info['visibility'] == GROUP_PERMISSION_OPEN) { if ($is_group_member || $group_info['visibility'] == GROUP_PERMISSION_OPEN) {
if (!$is_group_member) { if (!$is_group_member) {
if (!in_array($my_group_role, array(GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER, GROUP_USER_PERMISSION_PENDING_INVITATION))) { if (!in_array(
$social_right_content .= '<a class="btn" href="groups.php?id='.$group_id.'&action=join&u='.api_get_user_id().'">'.get_lang('JoinGroup').'</a>'; $my_group_role,
} elseif ($my_group_role == GROUP_USER_PERMISSION_PENDING_INVITATION) { array(
$social_right_content .= '<a class="btn" href="groups.php?id='.$group_id.'&action=join&u='.api_get_user_id().'">'.get_lang('YouHaveBeenInvitedJoinNow').'</a>'; GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER,
GROUP_USER_PERMISSION_PENDING_INVITATION
)
)
) {
$social_right_content .= '<a class="btn" href="groups.php?id=' . $group_id . '&action=join&u=' . api_get_user_id(
) . '">' . get_lang('JoinGroup') . '</a>';
} elseif ($my_group_role == GROUP_USER_PERMISSION_PENDING_INVITATION) {
$social_right_content .= '<a class="btn" href="groups.php?id=' . $group_id . '&action=join&u=' . api_get_user_id(
) . '">' . get_lang('YouHaveBeenInvitedJoinNow') . '</a>';
}
$social_right_content .= '<br /><br />';
}
$content = MessageManager::display_messages_for_group($group_id);
if ($is_group_member) {
if (empty($content)) {
$create_thread_link = '<a href="' . api_get_path(
WEB_CODE_PATH
) . 'social/message_for_group_form.inc.php?view_panel=1&height=400&width=610&&user_friend=' . api_get_user_id(
) . '&group_id=' . $group_id . '&action=add_message_group" class="ajax btn" title="' . get_lang(
'ComposeMessage'
) . '">' . get_lang('YouShouldCreateATopic') . '</a></li>';
} else {
$create_thread_link = '<a href="' . api_get_path(
WEB_CODE_PATH
) . 'social/message_for_group_form.inc.php?view_panel=1&height=400&width=610&&user_friend=' . api_get_user_id(
) . '&group_id=' . $group_id . '&action=add_message_group" class="ajax btn" title="' . get_lang(
'ComposeMessage'
) . '">' . get_lang('NewTopic') . '</a>';
}
}
$members = GroupPortalManager::get_users_by_group($group_id);
$member_content = '';
//Members
if (count($members) > 0) {
if ($my_group_role == GROUP_USER_PERMISSION_ADMIN) {
$member_content .= Display::url(
Display::return_icon(
'edit.gif',
get_lang('EditMembersList')
) . ' ' . get_lang('EditMembersList'),
'group_members.php?id=' . $group_id
);
}
foreach ($members as $member) {
// if is a member
if (in_array(
$member['relation_type'],
array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_MODERATOR
)
)
) {
//add icons
if ($member['relation_type'] == GROUP_USER_PERMISSION_ADMIN) {
$icon = Display::return_icon(
'social_group_admin.png',
get_lang('Admin')
);
} elseif ($member['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) {
$icon = Display::return_icon(
'social_group_moderator.png',
get_lang('Moderator')
);
} else {
$icon = '';
}
$image_path = UserManager::get_user_picture_path_by_id(
$member['user_id'],
'web',
false,
true
);
$picture = UserManager::get_picture_user(
$member['user_id'],
$image_path['file'],
60,
USER_IMAGE_SIZE_MEDIUM
);
$member_content .= '<div class="">';
$member_name = Display::url(
api_get_person_name(
cut($member['firstname'], 15),
cut($member['lastname'], 15)
) . '&nbsp;' . $icon,
'profile.php?u=' . $member['user_id']
);
$member_content .= Display::div(
'<img height="44" border="2" align="middle" vspace="10" class="social-groups-image" src="' . $picture['file'] . '"/>&nbsp' . $member_name
);
$member_content .= '</div>';
} }
$social_right_content .= '<br /><br />'; }
} }
$content = MessageManager::display_messages_for_group($group_id); if (!empty($create_thread_link)) {
if ($is_group_member) { $create_thread_link = Display::div(
if (empty($content)) { $create_thread_link,
$create_thread_link = '<a href="'.api_get_path(WEB_CODE_PATH).'social/message_for_group_form.inc.php?view_panel=1&height=400&width=610&&user_friend='.api_get_user_id().'&group_id='.$group_id.'&action=add_message_group" class="ajax btn" title="'.get_lang('ComposeMessage').'">'.get_lang('YouShouldCreateATopic').'</a></li>'; array('style' => 'padding-top:2px;height:40px')
} else { );
$create_thread_link = '<a href="'.api_get_path(WEB_CODE_PATH).'social/message_for_group_form.inc.php?view_panel=1&height=400&width=610&&user_friend='.api_get_user_id().'&group_id='.$group_id.'&action=add_message_group" class="ajax btn" title="'.get_lang('ComposeMessage').'">'.get_lang('NewTopic').'</a>'; }
} $headers = array(get_lang('Discussions'), get_lang('Members'));
} $social_right_content .= Display::tabs(
$members = GroupPortalManager::get_users_by_group($group_id); $headers,
$member_content = ''; array($create_thread_link . $content, $member_content),
'tabs'
//Members );
if (count($members) > 0) { } else {
if ($my_group_role == GROUP_USER_PERMISSION_ADMIN) { // if I already sent an invitation message
$member_content .= Display::url(Display::return_icon('edit.gif', get_lang('EditMembersList')).' '.get_lang('EditMembersList'), 'group_members.php?id='.$group_id); if (!in_array(
} $my_group_role,
foreach($members as $member) { array(
// if is a member GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER,
if (in_array($member['relation_type'] , array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_READER,GROUP_USER_PERMISSION_MODERATOR))) { GROUP_USER_PERMISSION_PENDING_INVITATION
//add icons )
if ($member['relation_type'] == GROUP_USER_PERMISSION_ADMIN) { )
$icon= Display::return_icon('social_group_admin.png', get_lang('Admin')); ) {
} elseif ($member['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) { $social_right_content .= '<a class="btn" href="groups.php?id=' . $group_id . '&action=join&u=' . api_get_user_id(
$icon= Display::return_icon('social_group_moderator.png', get_lang('Moderator')); ) . '">' . get_lang('JoinGroup') . '</a>';
} else{ } elseif ($my_group_role == GROUP_USER_PERMISSION_PENDING_INVITATION) {
$icon= ''; $social_right_content .= '<a class="btn" href="groups.php?id=' . $group_id . '&action=join&u=' . api_get_user_id(
} ) . '">' . get_lang('YouHaveBeenInvitedJoinNow') . '</a>';
$image_path = UserManager::get_user_picture_path_by_id($member['user_id'], 'web', false, true); }
$picture = UserManager::get_picture_user($member['user_id'], $image_path['file'], 60, USER_IMAGE_SIZE_MEDIUM); }
$social_right_content .= '</div>'; // end layout messages
$member_content .= '<div class="">';
$member_name = Display::url(api_get_person_name(cut($member['firstname'],15),cut($member['lastname'],15)).'&nbsp;'.$icon, 'profile.php?u='.$member['user_id']);
$member_content .= Display::div('<img height="44" border="2" align="middle" vspace="10" class="social-groups-image" src="'.$picture['file'].'"/>&nbsp'.$member_name);
$member_content .= '</div>';
}
}
}
if (!empty($create_thread_link)) {
$create_thread_link = Display::div($create_thread_link, array('style'=>'padding-top:2px;height:40px'));
}
$headers = array(get_lang('Discussions'), get_lang('Members'));
$social_right_content .= Display::tabs($headers, array($create_thread_link.$content, $member_content),'tabs');
} else {
// if I already sent an invitation message
if (!in_array($my_group_role, array(GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER, GROUP_USER_PERMISSION_PENDING_INVITATION))) {
$social_right_content .= '<a class="btn" href="groups.php?id='.$group_id.'&action=join&u='.api_get_user_id().'">'.get_lang('JoinGroup').'</a>';
} elseif ($my_group_role == GROUP_USER_PERMISSION_PENDING_INVITATION) {
$social_right_content .= '<a class="btn" href="groups.php?id='.$group_id.'&action=join&u='.api_get_user_id().'">'.get_lang('YouHaveBeenInvitedJoinNow').'</a>';
}
}
$social_right_content .= '</div>'; // end layout messages
} else { } else {
// My groups ----- // My groups -----
@ -329,129 +474,254 @@ if ($group_id != 0 ) {
if (is_array($results) && count($results) > 0) { if (is_array($results) && count($results) > 0) {
foreach ($results as $result) { foreach ($results as $result) {
$id = $result['id']; $id = $result['id'];
$result['name'] = Security::remove_XSS($result['name'], STUDENT, true); $result['name'] = Security::remove_XSS(
$result['description'] = Security::remove_XSS($result['description'], STUDENT, true); $result['name'],
STUDENT,
true
);
$result['description'] = Security::remove_XSS(
$result['description'],
STUDENT,
true
);
$my_group_list[] = $id; $my_group_list[] = $id;
$url_open = '<a href="groups.php?id='.$id.'">'; $url_open = '<a href="groups.php?id=' . $id . '">';
$url_close = '</a>'; $url_close = '</a>';
$name = cut($result['name'], GROUP_TITLE_LENGTH, true); $name = cut($result['name'], GROUP_TITLE_LENGTH, true);
if ($result['relation_type'] == GROUP_USER_PERMISSION_ADMIN) { if ($result['relation_type'] == GROUP_USER_PERMISSION_ADMIN) {
$name .= ' '.Display::return_icon('social_group_admin.png', get_lang('Admin'), array('style'=>'vertical-align:middle')); $name .= ' ' . Display::return_icon(
'social_group_admin.png',
get_lang('Admin'),
array('style' => 'vertical-align:middle')
);
} elseif ($result['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) { } elseif ($result['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) {
$name .= ' '.Display::return_icon('social_group_moderator.png', get_lang('Moderator'), array('style'=>'vertical-align:middle')); $name .= ' ' . Display::return_icon(
'social_group_moderator.png',
get_lang('Moderator'),
array('style' => 'vertical-align:middle')
);
} }
$count_users_group = count(GroupPortalManager::get_users_by_group($id, false, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_READER, GROUP_USER_PERMISSION_MODERATOR), 0 , 1000)); $count_users_group = count(
if ($count_users_group == 1 ) { GroupPortalManager::get_users_by_group(
$count_users_group = $count_users_group.' '.get_lang('Member'); $id,
false,
array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_MODERATOR
),
0,
1000
)
);
if ($count_users_group == 1) {
$count_users_group = $count_users_group . ' ' . get_lang(
'Member'
);
} else { } else {
$count_users_group = $count_users_group.' '.get_lang('Members'); $count_users_group = $count_users_group . ' ' . get_lang(
'Members'
);
} }
$picture = GroupPortalManager::get_picture_group($result['id'], $result['picture_uri'],80); $picture = GroupPortalManager::get_picture_group(
$result['picture_uri'] = '<img class="social-groups-image" src="'.$picture['file'].'" hspace="4" height="50" border="2" align="left" width="50" />'; $result['id'],
$item_0 = Display::div($result['picture_uri'], array('class'=>'box_description_group_image')); $result['picture_uri'],
$members = Display::span($count_users_group, array('class'=>'box_description_group_member')); 80
$item_1 = Display::div(Display::tag('h3', $url_open.$name.$url_close).$members, array('class'=>'box_description_group_title')); );
$result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="4" height="50" border="2" align="left" width="50" />';
$item_0 = Display::div(
$result['picture_uri'],
array('class' => 'box_description_group_image')
);
$members = Display::span(
$count_users_group,
array('class' => 'box_description_group_member')
);
$item_1 = Display::div(
Display::tag('h3', $url_open . $name . $url_close) . $members,
array('class' => 'box_description_group_title')
);
$item_2 = ''; $item_2 = '';
$item_3 = ''; $item_3 = '';
if ($result['description'] != '') { if ($result['description'] != '') {
$item_3 = '<div class="box_description_group_content" >'.cut($result['description'],100,true).'</div>'; $item_3 = '<div class="box_description_group_content" >' . cut(
$result['description'],
100,
true
) . '</div>';
} else { } else {
$item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>'; $item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>';
$item_3 = '<div class="box_description_group_content" ></div>'; $item_3 = '<div class="box_description_group_content" ></div>';
} }
$grid_item_2 = $item_0.$item_1.$item_2.$item_3; $grid_item_2 = $item_0 . $item_1 . $item_2 . $item_3;
$grid_my_groups[]= array($grid_item_2); $grid_my_groups[] = array($grid_item_2);
} }
} }
// Newest groups // Newest groups
$results = GroupPortalManager::get_groups_by_age(4,false); $results = GroupPortalManager::get_groups_by_age(4, false);
$grid_newest_groups = array(); $grid_newest_groups = array();
foreach ($results as $result) { foreach ($results as $result) {
$result['name'] = Security::remove_XSS($result['name'], STUDENT, true); $result['name'] = Security::remove_XSS($result['name'], STUDENT, true);
$result['description'] = Security::remove_XSS($result['description'], STUDENT, true); $result['description'] = Security::remove_XSS(
$result['description'],
STUDENT,
true
);
$id = $result['id']; $id = $result['id'];
$url_open = '<a href="groups.php?id='.$id.'">'; $url_open = '<a href="groups.php?id=' . $id . '">';
$url_close = '</a>'; $url_close = '</a>';
$count_users_group = count(GroupPortalManager::get_users_by_group($id, false, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_READER, GROUP_USER_PERMISSION_MODERATOR), 0 , 1000)); $count_users_group = count(
if ($count_users_group == 1 ) { GroupPortalManager::get_users_by_group(
$count_users_group = $count_users_group.' '.get_lang('Member'); $id,
false,
array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_MODERATOR
),
0,
1000
)
);
if ($count_users_group == 1) {
$count_users_group = $count_users_group . ' ' . get_lang('Member');
} else { } else {
$count_users_group = $count_users_group.' '.get_lang('Members'); $count_users_group = $count_users_group . ' ' . get_lang('Members');
} }
$name = cut($result['name'],GROUP_TITLE_LENGTH,true); $name = cut($result['name'], GROUP_TITLE_LENGTH, true);
$picture = GroupPortalManager::get_picture_group($result['id'], $result['picture_uri'],80); $picture = GroupPortalManager::get_picture_group(
$result['picture_uri'] = '<img class="social-groups-image" src="'.$picture['file'].'" hspace="4" height="50" border="2" align="left" width="50" />'; $result['id'],
$result['picture_uri'],
$item_0 = Display::div($result['picture_uri'], array('class'=>'box_description_group_image')); 80
$members = Display::span($count_users_group, array('class'=>'box_description_group_member')); );
$item_1 = Display::div(Display::tag('h3', $url_open.$name.$url_close).$members, array('class'=>'box_description_group_title')); $result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="4" height="50" border="2" align="left" width="50" />';
$item_0 = Display::div(
$result['picture_uri'],
array('class' => 'box_description_group_image')
);
$members = Display::span(
$count_users_group,
array('class' => 'box_description_group_member')
);
$item_1 = Display::div(
Display::tag('h3', $url_open . $name . $url_close) . $members,
array('class' => 'box_description_group_title')
);
if ($result['description'] != '') { if ($result['description'] != '') {
$item_3 = '<div class="box_description_group_content" >'.cut($result['description'],100,true).'</div>'; $item_3 = '<div class="box_description_group_content" >' . cut(
$result['description'],
100,
true
) . '</div>';
} else { } else {
$item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>'; $item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>';
$item_3 = '<div class="box_description_group_content" ></div>'; $item_3 = '<div class="box_description_group_content" ></div>';
} }
//Avoiding my groups //Avoiding my groups
$join_url = ''; $join_url = '';
if (!in_array($id,$my_group_list)) { if (!in_array($id, $my_group_list)) {
$join_url = '<a class="btn" href="groups.php?id='.$id.'&action=join&u='.api_get_user_id().'">'.get_lang('JoinGroup').'</a> '; $join_url = '<a class="btn" href="groups.php?id=' . $id . '&action=join&u=' . api_get_user_id(
) . '">' . get_lang('JoinGroup') . '</a> ';
} }
$item_4 = '<div class="box_description_group_actions" >'.$join_url.'</div>'; $item_4 = '<div class="box_description_group_actions" >' . $join_url . '</div>';
$grid_item_2 = $item_0.$item_1.$item_2.$item_3.$item_4; $grid_item_2 = $item_0 . $item_1 . $item_2 . $item_3 . $item_4;
$grid_newest_groups[]= array($grid_item_2); $grid_newest_groups[] = array($grid_item_2);
} }
// Pop groups // Pop groups
$results = GroupPortalManager::get_groups_by_popularity(4,false); $results = GroupPortalManager::get_groups_by_popularity(4, false);
$grid_pop_groups = array(); $grid_pop_groups = array();
if (is_array($results) && count($results) > 0) { if (is_array($results) && count($results) > 0) {
foreach ($results as $result) { foreach ($results as $result) {
$result['name'] = Security::remove_XSS($result['name'], STUDENT, true); $result['name'] = Security::remove_XSS(
$result['description'] = Security::remove_XSS($result['description'], STUDENT, true); $result['name'],
STUDENT,
true
);
$result['description'] = Security::remove_XSS(
$result['description'],
STUDENT,
true
);
$id = $result['id']; $id = $result['id'];
$url_open = '<a href="groups.php?id='.$id.'">'; $url_open = '<a href="groups.php?id=' . $id . '">';
$url_close = '</a>'; $url_close = '</a>';
$count_users_group = count(GroupPortalManager::get_users_by_group($id, false, array(GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_READER, GROUP_USER_PERMISSION_MODERATOR), 0 , 1000)); $count_users_group = count(
if ($count_users_group == 1 ) { GroupPortalManager::get_users_by_group(
$count_users_group = $count_users_group.' '.get_lang('Member'); $id,
false,
array(
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_MODERATOR
),
0,
1000
)
);
if ($count_users_group == 1) {
$count_users_group = $count_users_group . ' ' . get_lang(
'Member'
);
} else { } else {
$count_users_group = $count_users_group.' '.get_lang('Members'); $count_users_group = $count_users_group . ' ' . get_lang(
'Members'
);
} }
$name = cut($result['name'],GROUP_TITLE_LENGTH,true); $name = cut($result['name'], GROUP_TITLE_LENGTH, true);
$picture = GroupPortalManager::get_picture_group($result['id'], $result['picture_uri'],80); $picture = GroupPortalManager::get_picture_group(
$result['picture_uri'] = '<img class="social-groups-image" src="'.$picture['file'].'" hspace="4" height="50" border="2" align="left" width="50" />'; $result['id'],
$result['picture_uri'],
$item_0 = Display::div($result['picture_uri'], array('class'=>'box_description_group_image')); 80
$members = Display::span($count_users_group, array('class'=>'box_description_group_member')); );
$item_1 = Display::div(Display::tag('h3', $url_open.$name.$url_close).$members, array('class'=>'box_description_group_title')); $result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="4" height="50" border="2" align="left" width="50" />';
$item_0 = Display::div(
$result['picture_uri'],
array('class' => 'box_description_group_image')
);
$members = Display::span(
$count_users_group,
array('class' => 'box_description_group_member')
);
$item_1 = Display::div(
Display::tag('h3', $url_open . $name . $url_close) . $members,
array('class' => 'box_description_group_title')
);
if ($result['description'] != '') { if ($result['description'] != '') {
$item_3 = '<div class="box_description_group_content" >'.cut($result['description'],100,true).'</div>'; $item_3 = '<div class="box_description_group_content" >' . cut(
$result['description'],
100,
true
) . '</div>';
} else { } else {
$item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>'; $item_2 = '<div class="box_description_group_title" ><span class="social-groups-text2"></span></div>';
$item_3 = '<div class="box_description_group_content" ></div>'; $item_3 = '<div class="box_description_group_content" ></div>';
} }
$join_url = ''; $join_url = '';
if (!in_array($id,$my_group_list)) { if (!in_array($id, $my_group_list)) {
$join_url = '<a class="btn" href="groups.php?id='.$id.'&action=join&u='.api_get_user_id().'">'.get_lang('JoinGroup').'</a> '; $join_url = '<a class="btn" href="groups.php?id=' . $id . '&action=join&u=' . api_get_user_id(
) . '">' . get_lang('JoinGroup') . '</a> ';
} }
$item_4 = '<div class="box_description_group_actions" >'.$join_url.'</div>'; $item_4 = '<div class="box_description_group_actions" >' . $join_url . '</div>';
$grid_item_2 = $item_0.$item_1.$item_2.$item_3.$item_4; $grid_item_2 = $item_0 . $item_1 . $item_2 . $item_3 . $item_4;
$grid_pop_groups[]= array($grid_item_2); $grid_pop_groups[] = array($grid_item_2);
} }
} }
@ -460,28 +730,58 @@ if ($group_id != 0 ) {
$newest_content = $popular_content = $my_group_content = null; $newest_content = $popular_content = $my_group_content = null;
if (isset($_GET['view']) && in_array($_GET['view'],$allowed_views)) { if (isset($_GET['view']) && in_array($_GET['view'], $allowed_views)) {
$view_group = $_GET['view']; $view_group = $_GET['view'];
switch ($view_group) { switch ($view_group) {
case 'mygroups': case 'mygroups':
if (count($grid_my_groups) > 0) { if (count($grid_my_groups) > 0) {
$my_group_content = Display::return_sortable_grid('mygroups', array(), $grid_my_groups, array('hide_navigation'=>true, 'per_page' => 2), $query_vars, false, array(true, true, true,false)); $my_group_content = Display::return_sortable_grid(
'mygroups',
array(),
$grid_my_groups,
array('hide_navigation' => true, 'per_page' => 2),
$query_vars,
false,
array(true, true, true, false)
);
} }
if (api_get_setting('allow_students_to_create_groups_in_social') == 'true') { if (api_get_setting(
$create_group_item = '<a class="btn" href="'.api_get_path(WEB_PATH).'main/social/group_add.php">'.get_lang('CreateASocialGroup').'</a>'; 'allow_students_to_create_groups_in_social'
) == 'true'
) {
$create_group_item = '<a class="btn" href="' . api_get_path(
WEB_PATH
) . 'main/social/group_add.php">' . get_lang(
'CreateASocialGroup'
) . '</a>';
//$my_group_content = $create_group_item. $my_group_content; //$my_group_content = $create_group_item. $my_group_content;
} else { } else {
if (api_is_allowed_to_edit(null,true)) { if (api_is_allowed_to_edit(null, true)) {
$create_group_item = '<a class="btn" href="'.api_get_path(WEB_PATH).'main/social/group_add.php">'.get_lang('CreateASocialGroup').'</a>'; $create_group_item = '<a class="btn" href="' . api_get_path(
WEB_PATH
) . 'main/social/group_add.php">' . get_lang(
'CreateASocialGroup'
) . '</a>';
} }
} }
break; break;
case 'newest': case 'newest':
if (count($grid_newest_groups) > 0) { if (count($grid_newest_groups) > 0) {
$newest_content = Display::return_sortable_grid('newest', array(), $grid_newest_groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,false)); $newest_content = Display::return_sortable_grid(
'newest',
array(),
$grid_newest_groups,
array('hide_navigation' => true, 'per_page' => 100),
$query_vars,
false,
array(true, true, true, false)
);
} }
if (api_is_platform_admin() || api_get_setting('allow_students_to_create_groups_in_social') == 'true') { if (api_is_platform_admin() || api_get_setting(
'allow_students_to_create_groups_in_social'
) == 'true'
) {
if (empty($grid_newest_groups)) { if (empty($grid_newest_groups)) {
//echo '<a href="group_add.php">'.get_lang('YouShouldCreateAGroup').'</a>'; //echo '<a href="group_add.php">'.get_lang('YouShouldCreateAGroup').'</a>';
} }
@ -489,9 +789,20 @@ if ($group_id != 0 ) {
break; break;
default : default :
if (count($grid_pop_groups) > 0) { if (count($grid_pop_groups) > 0) {
$popular_content = Display::return_sortable_grid('popular', array(), $grid_pop_groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,true,true)); $popular_content = Display::return_sortable_grid(
'popular',
array(),
$grid_pop_groups,
array('hide_navigation' => true, 'per_page' => 100),
$query_vars,
false,
array(true, true, true, true, true)
);
} }
if (api_is_platform_admin() || api_get_setting('allow_students_to_create_groups_in_social') == 'true') { if (api_is_platform_admin() || api_get_setting(
'allow_students_to_create_groups_in_social'
) == 'true'
) {
if (empty($grid_pop_groups)) { if (empty($grid_pop_groups)) {
//echo '<a href="group_add.php">'.get_lang('YouShouldCreateAGroup').'</a>'; //echo '<a href="group_add.php">'.get_lang('YouShouldCreateAGroup').'</a>';
} }
@ -501,29 +812,75 @@ if ($group_id != 0 ) {
} else { } else {
$my_group_content = null; $my_group_content = null;
if (count($grid_my_groups) > 0) { if (count($grid_my_groups) > 0) {
$my_group_content = Display::return_sortable_grid('mygroups', array(), $grid_my_groups, array('hide_navigation'=>true, 'per_page' => 2), $query_vars, false, array(true, true, true,false)); $my_group_content = Display::return_sortable_grid(
'mygroups',
array(),
$grid_my_groups,
array('hide_navigation' => true, 'per_page' => 2),
$query_vars,
false,
array(true, true, true, false)
);
} }
if (api_get_setting('allow_students_to_create_groups_in_social') == 'true') { if (api_get_setting(
$create_group_item = '<a class="btn" href="'.api_get_path(WEB_PATH).'main/social/group_add.php">'.get_lang('CreateASocialGroup').'</a>'; 'allow_students_to_create_groups_in_social'
) == 'true'
) {
$create_group_item = '<a class="btn" href="' . api_get_path(
WEB_PATH
) . 'main/social/group_add.php">' . get_lang(
'CreateASocialGroup'
) . '</a>';
//$my_group_content = $create_group_item. $my_group_content; //$my_group_content = $create_group_item. $my_group_content;
} else { } else {
if (api_is_allowed_to_edit(null,true)) { if (api_is_allowed_to_edit(null, true)) {
$create_group_item = '<a class="btn" href="'.api_get_path(WEB_PATH).'main/social/group_add.php">'.get_lang('CreateASocialGroup').'</a>'; $create_group_item = '<a class="btn" href="' . api_get_path(
WEB_PATH
) . 'main/social/group_add.php">' . get_lang(
'CreateASocialGroup'
) . '</a>';
} }
} }
if (count($grid_newest_groups) > 0) { if (count($grid_newest_groups) > 0) {
$newest_content = Display::return_sortable_grid('mygroups', array(), $grid_newest_groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,false)); $newest_content = Display::return_sortable_grid(
'mygroups',
array(),
$grid_newest_groups,
array('hide_navigation' => true, 'per_page' => 100),
$query_vars,
false,
array(true, true, true, false)
);
} }
if (count($grid_pop_groups) > 0) { if (count($grid_pop_groups) > 0) {
$popular_content = Display::return_sortable_grid('mygroups', array(), $grid_pop_groups, array('hide_navigation'=>true, 'per_page' => 100), $query_vars, false, array(true, true, true,true,true)); $popular_content = Display::return_sortable_grid(
'mygroups',
array(),
$grid_pop_groups,
array('hide_navigation' => true, 'per_page' => 100),
$query_vars,
false,
array(true, true, true, true, true)
);
} }
} }
if (!empty($create_group_item)) { if (!empty($create_group_item)) {
$social_right_content .= Display::div($create_group_item, array('class'=>'span9')); $social_right_content .= Display::div(
$create_group_item,
array('class' => 'span9')
);
} }
$headers = array(get_lang('Newest'), get_lang('Popular'), get_lang('MyGroups')); $headers = array(
$social_right_content .= '<div class="span9">'.Display::tabs($headers, array($newest_content, $popular_content, $my_group_content),'tab_browse').'</div>'; get_lang('Newest'),
get_lang('Popular'),
get_lang('MyGroups')
);
$social_right_content .= '<div class="span9">' . Display::tabs(
$headers,
array($newest_content, $popular_content, $my_group_content),
'tab_browse'
) . '</div>';
} }
$show_message = null; $show_message = null;

@ -11,49 +11,73 @@ $language_file = array('userInfo');
$cidReset = true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
require_once api_get_path(LIBRARY_PATH).'skill.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'skill.lib.php';
$user_id = api_get_user_id(); $user_id = api_get_user_id();
$show_full_profile = true; $show_full_profile = true;
//social tab //social tab
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
unset($_SESSION['this_section']);//for hmtl editor repository unset($_SESSION['this_section']); //for hmtl editor repository
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true' ) { if (api_get_setting('allow_social_tool') != 'true') {
$url = api_get_path(WEB_CODE_PATH).'auth/profile.php'; $url = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
header('Location: '.$url); header('Location: ' . $url);
exit; exit;
api_not_allowed(); api_not_allowed();
} }
//fast upload image //fast upload image
if (api_get_setting('profile', 'picture') == 'true') { if (api_get_setting('profile', 'picture') == 'true') {
$form = new FormValidator('profile', 'post', 'home.php', null, array()); $form = new FormValidator('profile', 'post', 'home.php', null, array());
// PICTURE // PICTURE
$form->addElement('file', 'picture', get_lang('AddImage')); $form->addElement('file', 'picture', get_lang('AddImage'));
$form->add_progress_bar(); $form->add_progress_bar();
if (!empty($user_data['picture_uri'])) { if (!empty($user_data['picture_uri'])) {
$form->addElement('checkbox', 'remove_picture', null, get_lang('DelImage')); $form->addElement(
} 'checkbox',
$allowed_picture_types = array ('jpg', 'jpeg', 'png', 'gif'); 'remove_picture',
$form->addRule('picture', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowed_picture_types).')', 'filetype', $allowed_picture_types); null,
$form->addElement('style_submit_button', 'apply_change', get_lang('SaveSettings'), 'class="save"'); get_lang('DelImage')
);
if ($form->validate()) { }
$user_data = $form->getSubmitValues(); $allowed_picture_types = array('jpg', 'jpeg', 'png', 'gif');
// upload picture if a new one is provided $form->addRule(
if ($_FILES['picture']['size']) { 'picture',
if ($new_picture = UserManager::update_user_picture(api_get_user_id(), $_FILES['picture']['name'], $_FILES['picture']['tmp_name'])) { get_lang('OnlyImagesAllowed') . ' (' . implode(
$table_user = Database :: get_main_table(TABLE_MAIN_USER); ',',
$sql = "UPDATE $table_user SET picture_uri = '$new_picture' WHERE user_id = ".api_get_user_id(); $allowed_picture_types
$result = Database::query($sql); ) . ')',
} 'filetype',
} $allowed_picture_types
} );
$form->addElement(
'style_submit_button',
'apply_change',
get_lang('SaveSettings'),
'class="save"'
);
if ($form->validate()) {
$user_data = $form->getSubmitValues();
// upload picture if a new one is provided
if ($_FILES['picture']['size']) {
if ($new_picture = UserManager::update_user_picture(
api_get_user_id(),
$_FILES['picture']['name'],
$_FILES['picture']['tmp_name']
)
) {
$table_user = Database :: get_main_table(TABLE_MAIN_USER);
$sql = "UPDATE $table_user SET picture_uri = '$new_picture' WHERE user_id = " . api_get_user_id(
);
$result = Database::query($sql);
}
}
}
} }
$user_info = UserManager :: get_user_info_by_id(api_get_user_id()); $user_info = UserManager :: get_user_info_by_id(api_get_user_id());
@ -63,104 +87,187 @@ $social_menu_block = SocialManager::show_social_menu('home');
$social_right_content = '<div class="span5">'; $social_right_content = '<div class="span5">';
$social_right_content .= '<div class="well_border">'; $social_right_content .= '<div class="well_border">';
$social_right_content .= '<h3>'.get_lang('ContactInformation').'</h3>'; $social_right_content .= '<h3>' . get_lang('ContactInformation') . '</h3>';
$list = array( $list = array(
array('title' => get_lang('Name'), 'content' => api_get_person_name($user_info['firstname'], $user_info['lastname'])), array(
array('title' => get_lang('Email'), 'content' => $user_info['email']), 'title' => get_lang('Name'),
); 'content' => api_get_person_name(
$user_info['firstname'],
$user_info['lastname']
)
),
array('title' => get_lang('Email'), 'content' => $user_info['email']),
);
// information current user // information current user
$social_right_content .= '<div>'.Display::description($list).'</div>'; $social_right_content .= '<div>' . Display::description($list) . '</div>';
$social_right_content .= ' $social_right_content .= '
<div class="form-actions"> <div class="form-actions">
<a class="btn" href="'.api_get_path(WEB_PATH).'main/auth/profile.php"> <a class="btn" href="' . api_get_path(WEB_PATH) . 'main/auth/profile.php">
'.get_lang('EditProfile').' ' . get_lang('EditProfile') . '
</a> </a>
</div></div>'; </div></div>';
if (api_get_setting('allow_skills_tool') == 'true') { if (api_get_setting('allow_skills_tool') == 'true') {
$social_right_content .= '<div class="well_border">'; $social_right_content .= '<div class="well_border">';
$skill = new Skill(); $skill = new Skill();
$ranking = $skill->get_user_skill_ranking(api_get_user_id()); $ranking = $skill->get_user_skill_ranking(api_get_user_id());
$url = api_get_path(WEB_CODE_PATH).'social/skills_ranking.php'; $url = api_get_path(WEB_CODE_PATH) . 'social/skills_ranking.php';
$ranking_url = Display::url(sprintf(get_lang('YourSkillRankingX'), $ranking), $url, array('class' => 'btn')); $ranking_url = Display::url(
sprintf(get_lang('YourSkillRankingX'), $ranking),
$url,
array('class' => 'btn')
);
$skills = $skill->get_user_skills(api_get_user_id(), true); $skills = $skill->get_user_skills(api_get_user_id(), true);
$social_right_content .= '<h3>'.get_lang('Skills').'</h3>'; $social_right_content .= '<h3>' . get_lang('Skills') . '</h3>';
$lis = ''; $lis = '';
if (!empty($skills)) { if (!empty($skills)) {
foreach($skills as $skill) { foreach ($skills as $skill) {
$lis .= Display::tag('li', Display::span($skill['name'], array('class'=>'label_tag skill'))); $lis .= Display::tag(
} 'li',
$social_right_content .= Display::tag('ul', $lis); Display::span(
$skill['name'],
array('class' => 'label_tag skill')
)
);
} }
$url = api_get_path(WEB_CODE_PATH).'social/skills_wheel.php'; $social_right_content .= Display::tag('ul', $lis);
$skill_wheel_url = Display::url(get_lang('ViewSkillsWheel'), $url, array('class' => 'btn'));
$social_right_content .= '<div class="btn-group">'.$skill_wheel_url.$ranking_url.'</div>';
$social_right_content .= '</div>';
} }
$url = api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php';
$skill_wheel_url = Display::url(
get_lang('ViewSkillsWheel'),
$url,
array('class' => 'btn')
);
$social_right_content .= '<div class="btn-group">' . $skill_wheel_url . $ranking_url . '</div>';
$social_right_content .= '</div>'; $social_right_content .= '</div>';
}
$social_right_content .= '</div>';
//Search box
$social_right_content .= '<div class="span4">';
$social_right_content .= UserManager::get_search_form('');
$social_right_content .= '<br />';
//Search box //Group box by age
$social_right_content .= '<div class="span4">'; $results = GroupPortalManager::get_groups_by_age(1, false);
$social_right_content .= UserManager::get_search_form('');
$social_right_content .= '<br />'; $groups_newest = array();
if (!empty($results)) {
//Group box by age foreach ($results as $result) {
$results = GroupPortalManager::get_groups_by_age(1,false); $id = $result['id'];
$result['description'] = Security::remove_XSS(
$groups_newest = array(); $result['description'],
if (!empty($results)) { STUDENT,
foreach ($results as $result) { true
$id = $result['id']; );
$result['description'] = Security::remove_XSS($result['description'], STUDENT, true); $result['name'] = Security::remove_XSS($result['name'], STUDENT, true);
$result['name'] = Security::remove_XSS($result['name'], STUDENT, true); if ($result['count'] == 1) {
if ($result['count'] == 1 ) { $result['count'] = '1 ' . get_lang('Member');
$result['count'] = '1 '.get_lang('Member'); } else {
} else { $result['count'] = $result['count'] . ' ' . get_lang('Members');
$result['count'] = $result['count'].' '.get_lang('Members'); }
} $group_url = "groups.php?id=$id";
$group_url = "groups.php?id=$id"; $result['name'] = Display::url(
$result['name'] = Display::url(api_ucwords(cut($result['name'],40,true)), $group_url).Display::span('<br />'.$result['count'],array('class'=>'box_description_group_member')); api_ucwords(cut($result['name'], 40, true)),
$picture = GroupPortalManager::get_picture_group($id, $result['picture_uri'],80); $group_url
$result['picture_uri'] = '<img class="social-groups-image" src="'.$picture['file'].'" hspace="10" height="44" border="2" align="left" width="44" />'; ) . Display::span(
$group_actions = '<div class="box_description_group_actions"><a href="groups.php?#tab_browse-2">'.get_lang('SeeMore').'</a></div>'; '<br />' . $result['count'],
$groups_newest[]= array(Display::url($result['picture_uri'], $group_url), $result['name'], cut($result['description'],120,true).$group_actions); array('class' => 'box_description_group_member')
} );
} $picture = GroupPortalManager::get_picture_group(
$id,
$results = GroupPortalManager::get_groups_by_popularity(1,false); $result['picture_uri'],
80
$groups_pop = array(); );
foreach ($results as $result) { $result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="10" height="44" border="2" align="left" width="44" />';
$result['description'] = Security::remove_XSS($result['description'], STUDENT, true); $group_actions = '<div class="box_description_group_actions"><a href="groups.php?#tab_browse-2">' . get_lang(
$result['name'] = Security::remove_XSS($result['name'], STUDENT, true); 'SeeMore'
$id = $result['id']; ) . '</a></div>';
$group_url = "groups.php?id=$id"; $groups_newest[] = array(
Display::url(
if ($result['count'] == 1 ) { $result['picture_uri'],
$result['count'] = '1 '.get_lang('Member'); $group_url
} else { ),
$result['count'] = $result['count'].' '.get_lang('Members'); $result['name'],
} cut($result['description'], 120, true) . $group_actions
$result['name'] = Display::url(api_ucwords(cut($result['name'],40,true)), $group_url).Display::span('<br />'.$result['count'],array('class'=>'box_description_group_member')); );
$picture = GroupPortalManager::get_picture_group($id, $result['picture_uri'],80); }
$result['picture_uri'] = '<img class="social-groups-image" src="'.$picture['file'].'" hspace="10" height="44" border="2" align="left" width="44" />'; }
$group_actions = '<div class="box_description_group_actions" ><a href="groups.php?#tab_browse-3">'.get_lang('SeeMore').'</a></div>';
$groups_pop[]= array(Display::url($result['picture_uri'], $group_url) , $result['name'], cut($result['description'],120,true).$group_actions); $results = GroupPortalManager::get_groups_by_popularity(1, false);
}
$groups_pop = array();
if (count($groups_newest) > 0) { foreach ($results as $result) {
$social_right_content .= '<div class="social-groups-home-title">'.get_lang('Newest').'</div>'; $result['description'] = Security::remove_XSS(
$social_right_content .= Display::return_sortable_grid('home_group', array(), $groups_newest, array('hide_navigation'=>true, 'per_page' => 100), array(), false, array(true, true, true,false)); $result['description'],
} STUDENT,
true
if (count($groups_pop) > 0) { );
$social_right_content .= '<div class="social-groups-home-title">'.get_lang('Popular').'</div>'; $result['name'] = Security::remove_XSS($result['name'], STUDENT, true);
$social_right_content .= Display::return_sortable_grid('home_group', array(), $groups_pop, array('hide_navigation'=>true, 'per_page' => 100), array(), false, array(true, true, true,true,true)); $id = $result['id'];
} $group_url = "groups.php?id=$id";
if ($result['count'] == 1) {
$result['count'] = '1 ' . get_lang('Member');
} else {
$result['count'] = $result['count'] . ' ' . get_lang('Members');
}
$result['name'] = Display::url(
api_ucwords(cut($result['name'], 40, true)),
$group_url
) . Display::span(
'<br />' . $result['count'],
array('class' => 'box_description_group_member')
);
$picture = GroupPortalManager::get_picture_group(
$id,
$result['picture_uri'],
80
);
$result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="10" height="44" border="2" align="left" width="44" />';
$group_actions = '<div class="box_description_group_actions" ><a href="groups.php?#tab_browse-3">' . get_lang(
'SeeMore'
) . '</a></div>';
$groups_pop[] = array(
Display::url($result['picture_uri'], $group_url),
$result['name'],
cut($result['description'], 120, true) . $group_actions
);
}
if (count($groups_newest) > 0) {
$social_right_content .= '<div class="social-groups-home-title">' . get_lang(
'Newest'
) . '</div>';
$social_right_content .= Display::return_sortable_grid(
'home_group',
array(),
$groups_newest,
array('hide_navigation' => true, 'per_page' => 100),
array(),
false,
array(true, true, true, false)
);
}
if (count($groups_pop) > 0) {
$social_right_content .= '<div class="social-groups-home-title">' . get_lang(
'Popular'
) . '</div>';
$social_right_content .= Display::return_sortable_grid(
'home_group',
array(),
$groups_pop,
array('hide_navigation' => true, 'per_page' => 100),
array(),
false,
array(true, true, true, true, true)
);
}
$social_right_content .= '</div>'; $social_right_content .= '</div>';
$tpl = new Template(get_lang('SocialNetwork')); $tpl = new Template(get_lang('SocialNetwork'));

@ -8,4 +8,4 @@
* Redirect * Redirect
*/ */
header('Location: profile.php'); header('Location: profile.php');
exit(); exit();

@ -154,9 +154,9 @@ if (count($list_get_invitation_sent) > 0) {
$friends_profile = SocialManager::get_picture_user($sender_user_id, $picture['file'], 92); $friends_profile = SocialManager::get_picture_user($sender_user_id, $picture['file'], 92);
$user_info = api_get_user_info($sender_user_id); $user_info = api_get_user_info($sender_user_id);
$title = Security::remove_XSS($invitation['title'], STUDENT, true); $title = Security::remove_XSS($invitation['title'], STUDENT, true);
$content = Security::remove_XSS($invitation['content'], STUDENT, true); $content = Security::remove_XSS($invitation['content'], STUDENT, true);
$date = api_convert_and_format_date($invitation['send_date'], DATE_TIME_FORMAT_LONG); $date = api_convert_and_format_date($invitation['send_date'], DATE_TIME_FORMAT_LONG);
$social_right_content .= ' $social_right_content .= '
<div class="span2"> <div class="span2">
<a class="thumbnail" href="profile.php?u='.$sender_user_id.'"> <a class="thumbnail" href="profile.php?u='.$sender_user_id.'">

@ -7,122 +7,179 @@
/** /**
* Initialization * Initialization
*/ */
$language_file = array('registration','messages','userInfo','admin'); $language_file = array('registration', 'messages', 'userInfo', 'admin');
$cidReset=true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'fckeditor/fckeditor.php'; require_once api_get_path(LIBRARY_PATH) . 'fckeditor/fckeditor.php';
require_once api_get_path(LIBRARY_PATH).'fileDisplay.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'fileDisplay.lib.php';
$tok = Security::get_token(); $tok = Security::get_token();
if (isset($_REQUEST['user_friend'])) { if (isset($_REQUEST['user_friend'])) {
$userfriend_id = intval($_REQUEST['user_friend']); $userfriend_id = intval($_REQUEST['user_friend']);
// panel=1 send message // panel=1 send message
// panel=2 send invitation // panel=2 send invitation
$panel = Security::remove_XSS($_REQUEST['view_panel']); $panel = Security::remove_XSS($_REQUEST['view_panel']);
$info_user_friend = api_get_user_info($userfriend_id); $info_user_friend = api_get_user_info($userfriend_id);
$info_path_friend = UserManager::get_user_picture_path_by_id($userfriend_id,'web',false,true); $info_path_friend = UserManager::get_user_picture_path_by_id(
$userfriend_id,
'web',
false,
true
);
} }
$group_id = intval($_GET['group_id']); $group_id = intval($_GET['group_id']);
$message_id = intval($_GET['message_id']); $message_id = intval($_GET['message_id']);
$actions = array('add_message_group', 'edit_message_group', 'reply_message_group'); $actions = array(
'add_message_group',
'edit_message_group',
'reply_message_group'
);
$allowed_action = (isset($_GET['action']) && in_array($_GET['action'],$actions))?Security::remove_XSS($_GET['action']):''; $allowed_action = (isset($_GET['action']) && in_array(
$_GET['action'],
$actions
)) ? Security::remove_XSS($_GET['action']) : '';
$to_group = ''; $to_group = '';
$subject = ''; $subject = '';
$message = ''; $message = '';
if (!empty($group_id) && $allowed_action) { if (!empty($group_id) && $allowed_action) {
$group_info = GroupPortalManager::get_group_data($group_id); $group_info = GroupPortalManager::get_group_data($group_id);
$is_member = GroupPortalManager::is_group_member($group_id); $is_member = GroupPortalManager::is_group_member($group_id);
if ($group_info['visibility'] == GROUP_PERMISSION_CLOSED && !$is_member) { if ($group_info['visibility'] == GROUP_PERMISSION_CLOSED && !$is_member) {
api_not_allowed(true); api_not_allowed(true);
} }
$to_group = $group_info['name']; $to_group = $group_info['name'];
if (!empty($message_id)) { if (!empty($message_id)) {
$message_info = MessageManager::get_message_by_id($message_id); $message_info = MessageManager::get_message_by_id($message_id);
if ($allowed_action == 'reply_message_group') { if ($allowed_action == 'reply_message_group') {
$subject = get_lang('Reply').': '.api_xml_http_response_encode($message_info['title']); $subject = get_lang('Reply') . ': ' . api_xml_http_response_encode(
//$message = api_xml_http_response_encode($message_info['content']); $message_info['title']
} else { );
$subject = api_xml_http_response_encode($message_info['title']); //$message = api_xml_http_response_encode($message_info['content']);
$message = api_xml_http_response_encode($message_info['content']); } else {
} $subject = api_xml_http_response_encode($message_info['title']);
} $message = api_xml_http_response_encode($message_info['content']);
}
}
} }
$page_item = !empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1; $page_item = !empty($_GET['topics_page_nr']) ? intval(
$param_item_page = isset($_GET['items_page_nr']) && isset($_GET['topic_id'])?('&items_'.intval($_GET['topic_id']).'_page_nr='.(!empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1)):''; $_GET['topics_page_nr']
$param_item_page .= '&topic_id='.intval($_GET['topic_id']); ) : 1;
$page_topic = !empty($_GET['topics_page_nr'])?intval($_GET['topics_page_nr']):1; $param_item_page = isset($_GET['items_page_nr']) && isset($_GET['topic_id']) ? ('&items_' . intval(
$_GET['topic_id']
) . '_page_nr=' . (!empty($_GET['topics_page_nr']) ? intval(
$_GET['topics_page_nr']
) : 1)) : '';
$param_item_page .= '&topic_id=' . intval($_GET['topic_id']);
$page_topic = !empty($_GET['topics_page_nr']) ? intval(
$_GET['topics_page_nr']
) : 1;
?> ?>
<form name="form" action="group_topics.php?id=<?php echo $group_id ?>&anchor_topic=<?php echo Security::remove_XSS($_GET['anchor_topic']) ?>&topics_page_nr=<?php echo $page_topic.$param_item_page ?>" method="POST" enctype="multipart/form-data"> <form name="form"
<input type="hidden" name="action" value="<?php echo $allowed_action ?>" /> action="group_topics.php?id=<?php echo $group_id ?>&anchor_topic=<?php echo Security::remove_XSS(
<input type="hidden" name="group_id" value="<?php echo $group_id ?>" /> $_GET['anchor_topic']
<input type="hidden" name="parent_id" value="<?php echo $message_id ?>" /> ) ?>&topics_page_nr=<?php echo $page_topic . $param_item_page ?>"
<input type="hidden" name="message_id" value="<?php echo $message_id ?>" /> method="POST" enctype="multipart/form-data">
<input type="hidden" name="token" value="<?php echo $tok ?>" /> <input type="hidden" name="action" value="<?php echo $allowed_action ?>"/>
<table width="500px" border="0" height="220px"> <input type="hidden" name="group_id" value="<?php echo $group_id ?>"/>
<tr height="180"> <input type="hidden" name="parent_id" value="<?php echo $message_id ?>"/>
<td align="left"> <input type="hidden" name="message_id" value="<?php echo $message_id ?>"/>
<div id="id_content_panel_init"> <input type="hidden" name="token" value="<?php echo $tok ?>"/>
<dl> <table width="500px" border="0" height="220px">
<?php <tr height="180">
if (api_get_setting('allow_message_tool')=='true') { <td align="left">
//normal message <div id="id_content_panel_init">
$user_info = api_get_user_info($userfriend_id); <dl>
//echo api_xml_http_response_encode(get_lang('To')).":&nbsp;&nbsp;".api_xml_http_response_encode($to_group); <?php
$height = 180; if (api_get_setting('allow_message_tool') == 'true') {
if ($allowed_action == 'add_message_group') { //normal message
$height = 140; $user_info = api_get_user_info($userfriend_id);
echo '<span style="color:red">*</span> '.api_xml_http_response_encode(get_lang('Title')).' :<br />'; //echo api_xml_http_response_encode(get_lang('To')).":&nbsp;&nbsp;".api_xml_http_response_encode($to_group);
echo '<input id="txt_subject_id" name="title" type="text" style="width:450px;" value="'.$subject.'"><br /><br />'; $height = 180;
} if ($allowed_action == 'add_message_group') {
//echo api_xml_http_response_encode(get_lang('Description')).' :<br />'; $height = 140;
echo '<span style="color:red">*</span> ' . api_xml_http_response_encode(
get_lang('Title')
) . ' :<br />';
echo '<input id="txt_subject_id" name="title" type="text" style="width:450px;" value="' . $subject . '"><br /><br />';
}
//echo api_xml_http_response_encode(get_lang('Description')).' :<br />';
$oFCKeditor = new FCKeditor('content') ; $oFCKeditor = new FCKeditor('content');
$oFCKeditor->ToolbarSet = 'messages'; $oFCKeditor->ToolbarSet = 'messages';
$oFCKeditor->Width = '95%'; $oFCKeditor->Width = '95%';
$oFCKeditor->Height = $height; $oFCKeditor->Height = $height;
$oFCKeditor->Value = $message; $oFCKeditor->Value = $message;
$return = $oFCKeditor->CreateHtml(); $return = $oFCKeditor->CreateHtml();
echo $return; echo $return;
if ($allowed_action == 'add_message_group') { if ($allowed_action == 'add_message_group') {
echo '<div><span style="color:red"> * </span>'.get_lang('FieldRequired').'</div>'; echo '<div><span style="color:red"> * </span>' . get_lang(
} 'FieldRequired'
?> ) . '</div>';
<br /><br /> }
<?php echo api_xml_http_response_encode(get_lang('AttachmentFiles')); ?> :<br /> ?>
<span id="filepaths"><div id="filepath_1"><input type="file" name="attach_1" size="20" /></div></span> <br/><br/>
<div id="link-more-attach"> <?php echo api_xml_http_response_encode(
<a href="javascript://" onclick="return add_image_form()"> get_lang('AttachmentFiles')
<?php echo get_lang('AddOneMoreFile') ?></a> ); ?> :<br/>
</div> <span id="filepaths"><div id="filepath_1"><input
(<?php echo api_xml_http_response_encode(sprintf(get_lang('MaximunFileSizeX'), format_file_size(api_get_setting('message_max_upload_filesize')))) ?>) type="file" name="attach_1" size="20"/>
<br /> </div></span>
<br /> <div id="link-more-attach">
<a href="javascript://"
onclick="return add_image_form()">
<?php echo get_lang('AddOneMoreFile') ?></a>
</div>
(<?php echo api_xml_http_response_encode(
sprintf(
get_lang('MaximunFileSizeX'),
format_file_size(
api_get_setting(
'message_max_upload_filesize'
)
)
)
) ?>)
<br/>
<br/>
<?php if ($allowed_action == 'add_message_group') { ?> <?php if ($allowed_action == 'add_message_group') { ?>
<button class="btn save" onclick="if(validate_text_empty(this.form.title.value,'<?php echo get_lang('YouShouldWriteASubject')?>')){return false;}" type="submit" value="<?php echo api_xml_http_response_encode(get_lang('SendMessage')); ?>"><?php echo api_xml_http_response_encode(get_lang('SendMessage')) ?></button> <button class="btn save"
<?php } else { ?> onclick="if(validate_text_empty(this.form.title.value,'<?php echo get_lang(
<button class="btn save" type="submit" value="<?php echo api_xml_http_response_encode(get_lang('SendMessage')); ?>"><?php echo api_xml_http_response_encode(get_lang('SendMessage')) ?></button> 'YouShouldWriteASubject'
<?php } ?> ) ?>')){return false;}" type="submit"
<?php } ?> value="<?php echo api_xml_http_response_encode(
</dl> get_lang('SendMessage')
</td> ); ?>"><?php echo api_xml_http_response_encode(
</tr> get_lang('SendMessage')
</div> ) ?></button>
</table> <?php } else { ?>
<button class="btn save" type="submit"
value="<?php echo api_xml_http_response_encode(
get_lang('SendMessage')
); ?>"><?php echo api_xml_http_response_encode(
get_lang('SendMessage')
) ?></button>
<?php } ?>
<?php } ?>
</dl>
</td>
</tr>
</div>
</table>
</form> </form>

@ -7,23 +7,26 @@
/** /**
* Initialization * Initialization
*/ */
$language_file = array('messages','userInfo'); $language_file = array('messages', 'userInfo');
$cidReset = true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
$this_section = SECTION_SOCIAL; $this_section = SECTION_SOCIAL;
$_SESSION['this_section']=$this_section; $_SESSION['this_section'] = $this_section;
$interbreadcrumb[]= array ('url' =>'profile.php','name' => get_lang('SocialNetwork')); $interbreadcrumb[] = array(
$interbreadcrumb[]= array ('url' =>'#','name' => get_lang('MyFiles')); 'url' => 'profile.php',
'name' => get_lang('SocialNetwork')
);
$interbreadcrumb[] = array('url' => '#', 'name' => get_lang('MyFiles'));
$htmlHeadXtra[] = ' $htmlHeadXtra[] = '
<script> <script>
@ -38,7 +41,7 @@ function denied_friend (element_input) {
beforeSend: function(objeto) { beforeSend: function(objeto) {
$("#id_response").html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); }, $("#id_response").html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); },
type: "POST", type: "POST",
url: "'.api_get_path(WEB_AJAX_PATH).'social.ajax.php?a=deny_friend", url: "' . api_get_path(WEB_AJAX_PATH) . 'social.ajax.php?a=deny_friend",
data: "denied_friend_id="+friend_user_id, data: "denied_friend_id="+friend_user_id,
success: function(datos) { success: function(datos) {
$("div#"+name_div_id).hide("slow"); $("div#"+name_div_id).hide("slow");
@ -47,7 +50,7 @@ function denied_friend (element_input) {
}); });
} }
function register_friend(element_input) { function register_friend(element_input) {
if(confirm("'.get_lang('AddToFriends').'")) { if(confirm("' . get_lang('AddToFriends') . '")) {
name_button=$(element_input).attr("id"); name_button=$(element_input).attr("id");
name_div_id="id_"+name_button.substring(13); name_div_id="id_"+name_button.substring(13);
user_id=name_div_id.split("_"); user_id=name_div_id.split("_");
@ -57,7 +60,7 @@ function register_friend(element_input) {
beforeSend: function(objeto) { beforeSend: function(objeto) {
$("div#dpending_"+user_friend_id).html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); }, $("div#dpending_"+user_friend_id).html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); },
type: "POST", type: "POST",
url: "'.api_get_path(WEB_AJAX_PATH).'social.ajax.php?a=add_friend", url: "' . api_get_path(WEB_AJAX_PATH) . 'social.ajax.php?a=add_friend",
data: "friend_id="+user_friend_id+"&is_my_friend="+"friend", data: "friend_id="+user_friend_id+"&is_my_friend="+"friend",
success: function(datos) { $("div#"+name_div_id).hide("slow"); success: function(datos) { $("div#"+name_div_id).hide("slow");
$("form").submit() $("form").submit()
@ -71,27 +74,54 @@ function register_friend(element_input) {
$show_message = null; $show_message = null;
// easy links // easy links
if (is_array($_GET) && count($_GET)>0) { if (is_array($_GET) && count($_GET) > 0) {
foreach ($_GET as $key => $value) { foreach ($_GET as $key => $value) {
switch ($key) { switch ($key) {
case 'accept': case 'accept':
$user_role = GroupPortalManager::get_user_group_role(api_get_user_id(), $value); $user_role = GroupPortalManager::get_user_group_role(
if (in_array($user_role , array(GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER, GROUP_USER_PERMISSION_PENDING_INVITATION))) { api_get_user_id(),
GroupPortalManager::update_user_role(api_get_user_id(), $value, GROUP_USER_PERMISSION_READER); $value
);
if (in_array(
$user_role,
array(
GROUP_USER_PERMISSION_PENDING_INVITATION_SENT_BY_USER,
GROUP_USER_PERMISSION_PENDING_INVITATION
)
)
) {
GroupPortalManager::update_user_role(
api_get_user_id(),
$value,
GROUP_USER_PERMISSION_READER
);
$show_message = get_lang('UserIsSubscribedToThisGroup'); $show_message = get_lang('UserIsSubscribedToThisGroup');
} elseif (in_array($user_role , array(GROUP_USER_PERMISSION_READER, GROUP_USER_PERMISSION_ADMIN, GROUP_USER_PERMISSION_MODERATOR))) { } elseif (in_array(
$show_message = get_lang('UserIsAlreadySubscribedToThisGroup'); $user_role,
array(
GROUP_USER_PERMISSION_READER,
GROUP_USER_PERMISSION_ADMIN,
GROUP_USER_PERMISSION_MODERATOR
)
)
) {
$show_message = get_lang(
'UserIsAlreadySubscribedToThisGroup'
);
} else { } else {
$show_message = get_lang('UserIsNotSubscribedToThisGroup'); $show_message = get_lang('UserIsNotSubscribedToThisGroup');
} }
break 2; break 2;
case 'deny': case 'deny':
// delete invitation // delete invitation
GroupPortalManager::delete_user_rel_group(api_get_user_id(), $value); GroupPortalManager::delete_user_rel_group(
api_get_user_id(),
$value
);
$show_message = get_lang('GroupInvitationWasDeny'); $show_message = get_lang('GroupInvitationWasDeny');
break 2; break 2;
} }
} }
} }
$social_avatar_block = SocialManager::show_social_avatar_block('myfiles'); $social_avatar_block = SocialManager::show_social_avatar_block('myfiles');
@ -99,10 +129,27 @@ $social_menu_block = SocialManager::show_social_menu('myfiles');
$actions = null; $actions = null;
if (isset($_GET['cidReq'])) { if (isset($_GET['cidReq'])) {
$actions = '<a href="'.api_get_path(WEB_CODE_PATH).'document/document.php?cidReq='.Security::remove_XSS($_GET['cidReq']).'&amp;id_session='.Security::remove_XSS($_GET['id_session']).'&amp;gidReq='.Security::remove_XSS($_GET['gidReq']).'&amp;id='.Security::remove_XSS($_GET['parent_id']).'">'.Display::return_icon('back.png',get_lang('BackTo').' '.get_lang('Documents').' ('.get_lang('Course').')').'</a>'; $actions = '<a href="' . api_get_path(
WEB_CODE_PATH
) . 'document/document.php?cidReq=' . Security::remove_XSS(
$_GET['cidReq']
) . '&amp;id_session=' . Security::remove_XSS(
$_GET['id_session']
) . '&amp;gidReq=' . Security::remove_XSS(
$_GET['gidReq']
) . '&amp;id=' . Security::remove_XSS(
$_GET['parent_id']
) . '">' . Display::return_icon(
'back.png',
get_lang('BackTo') . ' ' . get_lang('Documents') . ' (' . get_lang(
'Course'
) . ')'
) . '</a>';
} }
$social_right_content = '<div class="span9">'; $social_right_content = '<div class="span9">';
$social_right_content .= '<iframe name="fileManager" id="fileManager" src="'.api_get_path(WEB_PATH).'main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/ajaxfilemanager.php?editor=stand_alone" scrolling="no" noresize="noresize" frameborder="no" style="height:480px; width:100%; float:left"></iframe>'; $social_right_content .= '<iframe name="fileManager" id="fileManager" src="' . api_get_path(
WEB_PATH
) . 'main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/ajaxfilemanager.php?editor=stand_alone" scrolling="no" noresize="noresize" frameborder="no" style="height:480px; width:100%; float:left"></iframe>';
$social_right_content .= '</div>'; $social_right_content .= '</div>';
$tpl = new Template(); $tpl = new Template();

@ -8,111 +8,169 @@
/** /**
* Initialization * Initialization
*/ */
$language_file = array('registration','messages','userInfo','admin'); $language_file = array('registration', 'messages', 'userInfo', 'admin');
$cidReset=true; $cidReset = true;
require_once '../inc/global.inc.php'; require_once '../inc/global.inc.php';
api_block_anonymous_users(); api_block_anonymous_users();
if (api_get_setting('allow_social_tool') !='true') { if (api_get_setting('allow_social_tool') != 'true') {
api_not_allowed(); api_not_allowed();
} }
require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; require_once api_get_path(LIBRARY_PATH) . 'group_portal_manager.lib.php';
$views = array('friends','mygroups'); $views = array('friends', 'mygroups');
$user_id = intval($_GET['user_id']); $user_id = intval($_GET['user_id']);
if (isset($_GET['view']) && in_array($_GET['view'], $views)) { if (isset($_GET['view']) && in_array($_GET['view'], $views)) {
// show all friends by user_id // show all friends by user_id
if ($_GET['view']=='friends') { if ($_GET['view'] == 'friends') {
echo '<div style="margin-top:20px;">'; echo '<div style="margin-top:20px;">';
$list_path_friends= $list_path_normal_friends = $list_path_parents = array(); $list_path_friends = $list_path_normal_friends = $list_path_parents = array();
//SOCIALGOODFRIEND , USER_RELATION_TYPE_FRIEND, SOCIALPARENT //SOCIALGOODFRIEND , USER_RELATION_TYPE_FRIEND, SOCIALPARENT
$friends = SocialManager::get_friends($user_id, USER_RELATION_TYPE_FRIEND); $friends = SocialManager::get_friends(
$number_friends = count($friends); $user_id,
$friend_html = ''; USER_RELATION_TYPE_FRIEND
$friend_html .= '<div><h3>'.get_lang('SocialFriend').'</h3></div>'; );
$friend_html .= '<div id="friend-container" class="social-friend-container">'; $number_friends = count($friends);
$friend_html .= '<div id="friend-header" >'; $friend_html = '';
$friend_html .= '<div><h3>' . get_lang('SocialFriend') . '</h3></div>';
if ($number_friends == 1) { $friend_html .= '<div id="friend-container" class="social-friend-container">';
$friend_html.= '<div style="float:left;width:80%">'.$number_friends.' '.get_lang('Friend').'</div>'; $friend_html .= '<div id="friend-header" >';
} else {
$friend_html.= '<div style="float:left;width:80%">'.$number_friends.' '.get_lang('Friends').'</div>'; if ($number_friends == 1) {
} $friend_html .= '<div style="float:left;width:80%">' . $number_friends . ' ' . get_lang(
'Friend'
$friend_html.= '</div>'; // close div friend-header ) . '</div>';
} else {
for ($k=0;$k<$number_friends;$k++) { $friend_html .= '<div style="float:left;width:80%">' . $number_friends . ' ' . get_lang(
if (isset($friends[$k])) { 'Friends'
$friend = $friends[$k]; ) . '</div>';
$name_user = api_get_person_name($friend['firstName'], $friend['lastName']); }
$friend_html.='<div id=div_'.$friend['friend_user_id'].' class="image_friend_network" ><span><center>';
// the height = 92 must be the sqme in the image_friend_network span style in default.css $friend_html .= '</div>'; // close div friend-header
$friends_profile = SocialManager::get_picture_user($friend['friend_user_id'], $friend['image'], 92, USER_IMAGE_SIZE_MEDIUM , 'width="85" height="90" ');
for ($k = 0; $k < $number_friends; $k++) {
$friend_html.='<a href="profile.php?u='.$friend['friend_user_id'].'&amp;'.$link_shared.'">'; if (isset($friends[$k])) {
$friend_html.='<img src="'.$friends_profile['file'].'" '.$friends_profile['style'].' id="imgfriend_'.$friend['friend_user_id'].'" title="'.$name_user.'" />'; $friend = $friends[$k];
$friend_html.= '</center></span>'; $name_user = api_get_person_name(
$friend_html.= '<center class="friend">'.$name_user.'</a></center>'; $friend['firstName'],
$friend_html.= '</div>'; $friend['lastName']
} );
} $friend_html .= '<div id=div_' . $friend['friend_user_id'] . ' class="image_friend_network" ><span><center>';
echo $friend_html; // the height = 92 must be the sqme in the image_friend_network span style in default.css
echo '</div>'; $friends_profile = SocialManager::get_picture_user(
} else { $friend['friend_user_id'],
// show all groups by user_id $friend['image'],
// MY GROUPS 92,
$results = GroupPortalManager::get_groups_by_user($user_id, 0); USER_IMAGE_SIZE_MEDIUM,
$grid_my_groups = array(); 'width="85" height="90" '
if (is_array($results) && count($results) > 0) { );
$i = 1;
foreach ($results as $result) { $friend_html .= '<a href="profile.php?u=' . $friend['friend_user_id'] . '&amp;' . $link_shared . '">';
$id = $result['id']; $friend_html .= '<img src="' . $friends_profile['file'] . '" ' . $friends_profile['style'] . ' id="imgfriend_' . $friend['friend_user_id'] . '" title="' . $name_user . '" />';
$url_open = '<a href="groups.php?id='.$id.'">'; $friend_html .= '</center></span>';
$url_close = '</a>'; $friend_html .= '<center class="friend">' . $name_user . '</a></center>';
$icon = ''; $friend_html .= '</div>';
$name = cut($result['name'],20,true); }
if ($result['relation_type'] == GROUP_USER_PERMISSION_ADMIN) { }
$icon = Display::return_icon('social_group_admin.png', get_lang('Admin'), array('style'=>'vertical-align:middle;width:16px;height:16px;')); echo $friend_html;
} elseif ($result['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) { echo '</div>';
$icon = Display::return_icon('social_group_moderator.png', get_lang('Moderator'), array('style'=>'vertical-align:middle;width:16px;height:16px;')); } else {
} // show all groups by user_id
$count_users_group = count(GroupPortalManager::get_all_users_by_group($id)); // MY GROUPS
if ($count_users_group == 1 ) { $results = GroupPortalManager::get_groups_by_user($user_id, 0);
$count_users_group = $count_users_group.' '.get_lang('Member'); $grid_my_groups = array();
} else { if (is_array($results) && count($results) > 0) {
$count_users_group = $count_users_group.' '.get_lang('Members'); $i = 1;
} foreach ($results as $result) {
$picture = GroupPortalManager::get_picture_group($result['id'], $result['picture_uri'],80); $id = $result['id'];
$item_name = '<div class="box_shared_profile_group_title">'.$url_open.api_xml_http_response_encode($name). $icon.$url_close.'</div>'; $url_open = '<a href="groups.php?id=' . $id . '">';
$item_description = ''; $url_close = '</a>';
if (!empty($result['description'])) { $icon = '';
$item_description = '<div class="box_shared_profile_group_description"><span class="social-groups-text2">'.api_xml_http_response_encode(get_lang('Description')).'</span><p class="social-groups-text4">'.cut(api_xml_http_response_encode($result['description']),120,true).'</p></div>'; $name = cut($result['name'], 20, true);
} if ($result['relation_type'] == GROUP_USER_PERMISSION_ADMIN) {
$icon = Display::return_icon(
$result['picture_uri'] = '<div class="box_shared_profile_group_image"><img class="social-groups-image" src="'.$picture['file'].'" hspace="4" height="50" border="2" align="left" width="50" /></div>'; 'social_group_admin.png',
$item_actions = ''; get_lang('Admin'),
if (api_get_user_id() == $user_id) { array('style' => 'vertical-align:middle;width:16px;height:16px;')
$item_actions = '<div class="box_shared_profile_group_actions"><a href="groups.php?id='.$id.'">'.get_lang('SeeMore').$url_close.'</div>'; );
} } elseif ($result['relation_type'] == GROUP_USER_PERMISSION_MODERATOR) {
$grid_my_groups[]= array($item_name,$url_open.$result['picture_uri'].$url_close, $item_description.$item_actions); $icon = Display::return_icon(
$i++; 'social_group_moderator.png',
} get_lang('Moderator'),
} array('style' => 'vertical-align:middle;width:16px;height:16px;')
if (count($grid_my_groups) > 0) { );
echo '<div style="margin-top:20px">'; }
echo '<div><h3>'.get_lang('MyGroups').'</h3></div>'; $count_users_group = count(
$count_groups = 0; GroupPortalManager::get_all_users_by_group($id)
if (count($results) == 1 ) { );
$count_groups = count($results).' '.get_lang('Group'); if ($count_users_group == 1) {
} else { $count_users_group = $count_users_group . ' ' . get_lang(
$count_groups = count($results).' '.get_lang('Groups'); 'Member'
} );
echo '<div>'.$count_groups.'</div>'; } else {
$count_users_group = $count_users_group . ' ' . get_lang(
Display::display_sortable_grid('shared_profile_mygroups', array(), $grid_my_groups, array('hide_navigation'=>true, 'per_page' => 2), $query_vars, false, array(true, true, true,false)); 'Members'
echo '</div>'; );
} }
} $picture = GroupPortalManager::get_picture_group(
$result['id'],
$result['picture_uri'],
80
);
$item_name = '<div class="box_shared_profile_group_title">' . $url_open . api_xml_http_response_encode(
$name
) . $icon . $url_close . '</div>';
$item_description = '';
if (!empty($result['description'])) {
$item_description = '<div class="box_shared_profile_group_description"><span class="social-groups-text2">' . api_xml_http_response_encode(
get_lang('Description')
) . '</span><p class="social-groups-text4">' . cut(
api_xml_http_response_encode(
$result['description']
),
120,
true
) . '</p></div>';
}
$result['picture_uri'] = '<div class="box_shared_profile_group_image"><img class="social-groups-image" src="' . $picture['file'] . '" hspace="4" height="50" border="2" align="left" width="50" /></div>';
$item_actions = '';
if (api_get_user_id() == $user_id) {
$item_actions = '<div class="box_shared_profile_group_actions"><a href="groups.php?id=' . $id . '">' . get_lang(
'SeeMore'
) . $url_close . '</div>';
}
$grid_my_groups[] = array(
$item_name,
$url_open . $result['picture_uri'] . $url_close,
$item_description . $item_actions
);
$i++;
}
}
if (count($grid_my_groups) > 0) {
echo '<div style="margin-top:20px">';
echo '<div><h3>' . get_lang('MyGroups') . '</h3></div>';
$count_groups = 0;
if (count($results) == 1) {
$count_groups = count($results) . ' ' . get_lang('Group');
} else {
$count_groups = count($results) . ' ' . get_lang('Groups');
}
echo '<div>' . $count_groups . '</div>';
Display::display_sortable_grid(
'shared_profile_mygroups',
array(),
$grid_my_groups,
array('hide_navigation' => true, 'per_page' => 2),
$query_vars,
false,
array(true, true, true, false)
);
echo '</div>';
}
}
} }

Loading…
Cancel
Save