Remove course/session list in social network BT#16059

Fix search announcements list - dont call get all course/session list
pull/2999/head
Julio Montoya 6 years ago
parent c5aa626274
commit 66162cee81
  1. 19
      main/announcements/announcements.php
  2. 45
      main/inc/lib/AnnouncementManager.php
  3. 34
      main/inc/lib/social.lib.php
  4. 10
      main/social/home.php
  5. 20
      main/social/profile.php

@ -27,8 +27,6 @@ $token = Security::get_existing_token();
$courseId = api_get_course_int_id();
$_course = api_get_course_info_by_id($courseId);
$group_id = api_get_group_id();
$sessionId = api_get_session_id();
$current_course_tool = TOOL_ANNOUNCEMENT;
$this_section = SECTION_COURSES;
$nameTools = get_lang('ToolAnnouncement');
@ -45,20 +43,8 @@ if (!empty($sessionId) && $drhHasAccessToSessionContent) {
$allowToEdit = $allowToEdit || api_is_drh();
}
// Configuration settings
$display_announcement_list = true;
$display_form = false;
$display_title_list = true;
// Maximum title messages to display
$maximum = '12';
// Length of the titles
$length = '36';
// Database Table Definitions
$tbl_courses = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_sessions = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
$tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);
@ -100,8 +86,6 @@ $searchFormToString = '';
$logInfo = [
'tool' => TOOL_ANNOUNCEMENT,
'tool_id' => 0,
'tool_id_detail' => 0,
'action' => $action,
];
Event::registerLog($logInfo);
@ -128,7 +112,6 @@ switch ($action) {
$sortDirection = 'ASC';
}
$announcementInfo = AnnouncementManager::get_by_id($courseId, $thisAnnouncementId);
$sql = "SELECT DISTINCT announcement.id, announcement.display_order
FROM $tbl_announcement announcement
INNER JOIN $tbl_item_property itemproperty
@ -322,7 +305,7 @@ switch ($action) {
break;
case 'delete':
/* Delete announcement */
$id = intval($_GET['id']);
$id = (int) $_GET['id'];
if ($sessionId != 0 && api_is_allowed_to_session_edit(false, true) == false) {
api_not_allowed();
}

@ -1016,64 +1016,49 @@ class AnnouncementManager
}
/**
* Gets all announcements from a user by course.
* @param int $user_id
*
* @param string course db
* @param int user id
*
* @return array html with the content and count of announcements or false otherwise
* @return array|bool
*/
public static function get_all_annoucement_by_user_course($course_code, $user_id)
public static function getAnnoucementCourseTotalByUser($user_id)
{
$course_info = api_get_course_info($course_code);
$courseId = $course_info['real_id'];
$user_id = (int) $user_id;
if (empty($user_id)) {
return false;
}
$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
$tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);
if (!empty($user_id) && is_numeric($user_id)) {
$user_id = (int) $user_id;
$sql = "SELECT DISTINCT
announcement.title,
announcement.content,
display_order
announcement.c_id,
count(announcement.id) count
FROM $tbl_announcement announcement
INNER JOIN $tbl_item_property ip
ON (announcement.id = ip.ref AND announcement.c_id = ip.c_id)
WHERE
announcement.c_id = $courseId AND
ip.c_id = $courseId AND
ip.tool='announcement' AND
(
ip.insert_user_id='$user_id' AND
ip.to_user_id = '$user_id' AND
(ip.to_group_id='0' OR ip.to_group_id IS NULL)
)
AND ip.visibility='1'
AND announcement.session_id = 0
ORDER BY display_order DESC";
GROUP BY announcement.c_id";
$rs = Database::query($sql);
$num_rows = Database::num_rows($rs);
$content = '';
$i = 0;
$result = [];
if ($num_rows > 0) {
while ($myrow = Database::fetch_array($rs)) {
$content .= '<strong>'.$myrow['title'].'</strong><br /><br />';
$content .= $myrow['content'];
$i++;
while ($row = Database::fetch_array($rs, 'ASSOC')) {
if (empty($row['c_id'])) {
continue;
}
$result['content'] = $content;
$result['count'] = $i;
return $result;
$result[] = ['course' => api_get_course_info_by_id($row['c_id']), 'count' => $row['count']];
}
return false;
}
return false;
return $result;
}
/**

@ -1233,44 +1233,22 @@ class SocialManager extends UserManager
);
if ($show_full_profile && $user_id == api_get_user_id()) {
$personal_course_list = UserManager::get_personal_session_course_list($user_id);
$course_list_code = [];
$i = 1;
if (is_array($personal_course_list)) {
foreach ($personal_course_list as $my_course) {
if ($i <= 10) {
$course_list_code[] = ['code' => $my_course['code']];
} else {
break;
}
$i++;
}
// To avoid repeated courses
$course_list_code = array_unique_dimensional($course_list_code);
}
// Announcements
$announcements = [];
foreach ($course_list_code as $course) {
$course_info = api_get_course_info($course['code']);
if (!empty($course_info)) {
$content = AnnouncementManager::get_all_annoucement_by_user_course(
$course_info['code'],
$user_id
);
if (!empty($content)) {
$announcementsByCourse = AnnouncementManager::getAnnoucementCourseTotalByUser($user_id);
if (!empty($announcementsByCourse)) {
foreach ($announcementsByCourse as $announcement) {
$url = Display::url(
Display::return_icon(
'announcement.png',
get_lang('Announcements')
).$course_info['name'].' ('.$content['count'].')',
api_get_path(WEB_CODE_PATH).'announcements/announcements.php?cidReq='.$course['code']
).$announcement['course']['name'].' ('.$announcement['count'].')',
api_get_path(WEB_CODE_PATH).'announcements/announcements.php?cidReq='.$announcement['course']['code']
);
$announcements[] = Display::tag('li', $url);
}
}
}
if (!empty($announcements)) {
$html .= '<div class="social_menu_items">';
$html .= '<ul>';

@ -55,7 +55,6 @@ if (api_get_setting('profile', 'picture') == 'true') {
$form->addButtonSave(get_lang('SaveSettings'), 'apply_change');
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(
@ -67,8 +66,8 @@ if (api_get_setting('profile', 'picture') == 'true') {
$sql = "UPDATE $table_user
SET
picture_uri = '$new_picture'
WHERE user_id = ".api_get_user_id();
$result = Database::query($sql);
WHERE user_id = ".$user_id;
Database::query($sql);
}
}
}
@ -102,8 +101,9 @@ $friend_html = SocialManager::listMyFriendsBlock($user_id);
// Block Social Sessions
$social_session_block = null;
$user_info = api_get_user_info($user_id);
$sessionList = SessionManager::getSessionsFollowedByUser($user_id, $user_info['status']);
//$user_info = api_get_user_info($user_id);
//$sessionList = SessionManager::getSessionsFollowedByUser($user_id, $user_info['status']);
$sessionList = [];
if (count($sessionList) > 0) {
$social_session_block = $sessionList;

@ -106,8 +106,7 @@ if (isset($_GET['u']) && is_numeric($_GET['u']) && $_GET['u'] != api_get_user_id
Session::write('social_user_id', (int) $user_id);
// Setting some course info
//$course_list_code = [];
/*
/*$course_list_code = [];
$personal_course_list = UserManager::get_personal_session_course_list($friendId, 50);
$i = 1;
$list = [];
@ -135,7 +134,8 @@ $menu = SocialManager::show_social_menu(
//Setting some session info
$user_info = api_get_user_info($friendId);
$sessionList = SessionManager::getSessionsFollowedByUser($friendId, $user_info['status']);
//$sessionList = SessionManager::getSessionsFollowedByUser($friendId, $user_info['status']);
$sessionList = [];
// My friends
$friend_html = SocialManager::listMyFriendsBlock($user_id, $link_shared);
@ -152,16 +152,11 @@ $listInvitations = '';
if ($show_full_profile) {
$social_group_info_block = SocialManager::getGroupBlock($friendId);
// Block Social Course
/*
$my_courses = null;
// COURSES LIST
if (is_array($list)) {
// Courses without sessions
$my_course = '';
$i = 1;
foreach ($list as $key => $value) {
if (empty($value[2])) { //if out of any session
$my_courses .= $value[1];
@ -169,7 +164,7 @@ if ($show_full_profile) {
}
}
$social_course_block .= $my_courses;
}
}*/
// Block Social Sessions
if (count($sessionList) > 0) {
@ -188,12 +183,13 @@ if ($show_full_profile) {
// Images uploaded by course
$file_list = '';
/*if (is_array($course_list_code) && count($course_list_code) > 0) {
/*
if (is_array($course_list_code) && count($course_list_code) > 0) {
foreach ($course_list_code as $course) {
$file_list .= UserManager::get_user_upload_files_by_course(
$user_id,
$course['code'],
$resourcetype = 'images'
'images'
);
}
}*/

Loading…
Cancel
Save