Adding a counter of the new events in the social tab + fixing a bug when sending a message

skala
Julio Montoya 15 years ago
parent bdb1e30826
commit 0a887d5c64
  1. 25
      main/inc/lib/banner.lib.php
  2. 8
      main/inc/lib/message.lib.php
  3. 4
      main/inc/lib/social.lib.php
  4. 20
      main/inc/lib/tracking.lib.php
  5. 11
      main/messages/new_message.php

@ -10,11 +10,10 @@ require_once(api_get_path(SYS_CODE_PATH).'inc/banner.inc.php');
*
* @return array containing all the possible tabs
*
* @version Dokeos 1.8.4
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
*/
function get_tabs() {
global $_course, $rootAdminWeb, $_user;
global $_course;
// Campus Homepage
$navigation[SECTION_CAMPUS]['url'] = api_get_path(WEB_PATH).'index.php';
@ -65,8 +64,26 @@ function get_tabs() {
// Social
if (api_get_setting('allow_social_tool')=='true') {
$navigation['social']['url'] = api_get_path(WEB_CODE_PATH).'social/home.php';
$navigation['social']['title'] = get_lang('SocialNetwork');
$navigation['social']['url'] = api_get_path(WEB_CODE_PATH).'social/home.php';
require_once api_get_path(LIBRARY_PATH).'message.lib.php';
require_once api_get_path(LIBRARY_PATH).'social.lib.php';
// get count unread message and total invitations
$count_unread_message = MessageManager::get_number_of_messages(true);
$number_of_new_messages_of_friend = SocialManager::get_message_number_invitation_by_user_id(api_get_user_id());
$group_pending_invitations = GroupPortalManager::get_groups_by_user(api_get_user_id(), GROUP_USER_PERMISSION_PENDING_INVITATION,false);
$group_pending_invitations = 0;
if (!empty($group_pending_invitations )) {
$group_pending_invitations = count($group_pending_invitations);
}
$total_invitations = intval($number_of_new_messages_of_friend) + $group_pending_invitations + intval($count_unread_message);
$total_invitations = (!empty($total_invitations)?' ('.$total_invitations.')':'');
$navigation['social']['title'] = get_lang('SocialNetwork'). $total_invitations;
}
// Dashboard

@ -244,16 +244,18 @@ class MessageManager
$content = Database::escape_string($content);
//message in inbox for user friend
//@todo is possible to edit a message??????????
if ($edit_message_id) {
$query = " UPDATE $table_message SET update_date = '".date('Y-m-d H:i:s')."', title = '$subject', content = '$content' WHERE id = '$edit_message_id' ";
$query = " UPDATE $table_message SET update_date = '".api_get_utc_datetime()."', title = '$subject', content = '$content' WHERE id = '$edit_message_id' ";
$result = Database::query($query);
$inbox_last_id = $edit_message_id;
} else {
$query = "INSERT INTO $table_message(user_sender_id, user_receiver_id, msg_status, send_date, title, content, group_id, parent_id, update_date ) ".
" VALUES ('$user_sender_id', '$receiver_user_id', '1', '".date('Y-m-d H:i:s')."','$subject','$content','$group_id','$parent_id', '".date('Y-m-d H:i:s')."')";
" VALUES ('$user_sender_id', '$receiver_user_id', '1', '".api_get_utc_datetime()."','$subject','$content','$group_id','$parent_id', '".api_get_utc_datetime()."')";
$result = Database::query($query);
$inbox_last_id = Database::insert_id();
}
// save attachment file for inbox messages
if (is_array($file_attachments)) {
@ -269,7 +271,7 @@ class MessageManager
if (empty($group_id)) {
//message in outbox for user friend or group
$sql = "INSERT INTO $table_message(user_sender_id, user_receiver_id, msg_status, send_date, title, content, group_id, parent_id, update_date ) ".
" VALUES ('$user_sender_id', '$receiver_user_id', '4', '".date('Y-m-d H:i:s')."','$subject','$content', '$group_id', '$parent_id', '".date('Y-m-d H:i:s')."')";
" VALUES ('$user_sender_id', '$receiver_user_id', '4', '".api_get_utc_datetime()."','$subject','$content', '$group_id', '$parent_id', '".api_get_utc_datetime()."')";
$rs = Database::query($sql);
$outbox_last_id = Database::insert_id();

@ -535,8 +535,8 @@ class SocialManager extends UserManager {
$user_id = api_get_user_id();
}
$show_groups = array('groups', 'group_messages', 'messages_list', 'group_add', 'mygroups', 'group_edit', 'member_list', 'invite_friends', 'waiting_list');
$show_messages = array('messages', 'messages_inbox', 'messages_outbox', 'messages_compose');
$show_groups = array('groups', 'group_messages', 'messages_list', 'group_add', 'mygroups', 'group_edit', 'member_list', 'invite_friends', 'waiting_list');
$show_messages = array('messages', 'messages_inbox', 'messages_outbox', 'messages_compose');
// get count unread message and total invitations
$count_unread_message = MessageManager::get_number_of_messages(true);

@ -325,7 +325,7 @@ class Tracking {
// Compose a filter based on optional exercise given
$condition_quiz = "";
if(!empty($exercise_id)) {
if (!empty($exercise_id)) {
$exercise_id = intval($exercise_id);
$condition_quiz =" AND id = $exercise_id ";
}
@ -347,9 +347,25 @@ class Tracking {
} else {
$condition_user = " AND exe_user_id = '$student_id' ";
}
if (empty($exercise_id)) {
$sql = "SELECT id FROM $tbl_course_quiz WHERE active <> -1 $condition_quiz";
$exercises = Database::fetch_row(Database::query($sql));
$exercise_list = array();
$exercise_id = 0;
if (!empty($exercises)) {
foreach($exercises as $row) {
$exercise_list[] = $row['id'];
}
$exercise_id = implode("','",$exercise_list);
}
}
$count_quiz = Database::fetch_row(Database::query($sql));
$sql = "SELECT SUM(exe_result/exe_weighting*100) as avg_score, COUNT(*) as num_attempts
FROM $tbl_stats_exercise
WHERE exe_exo_id IN (SELECT id FROM $tbl_course_quiz WHERE active <> -1 $condition_quiz)
WHERE exe_exo_id IN ('".$exercise_id."')
$condition_user
AND orig_lp_id = 0
AND exe_cours_id = '$course_code'

@ -219,9 +219,7 @@ function manage_form ($default, $select_from_user_list = null) {
$form->setDefaults($default);
if ($form->validate()) {
$check = Security::check_token('post');
$check = Security::check_token('post');
if ($check) {
$values = $default;
$user_list = $values['users'];
@ -232,11 +230,10 @@ function manage_form ($default, $select_from_user_list = null) {
$group_id = $values['group_id'];
$parent_id = $values['parent_id'];
if (is_array($user_list) && count($user_list)> 0) {
if (is_array($user_list) && count($user_list)> 0) {
//all is well, send the message
foreach ($user_list as $user) {
$res = MessageManager::send_message($user, $title, $content, $_FILES, $file_comments, $group_id, $parent_id, true);
$res = MessageManager::send_message($user, $title, $content, $_FILES, $file_comments, $group_id, $parent_id);
if ($res) {
if (is_string($res)) {
Display::display_error_message($res);
@ -244,7 +241,7 @@ function manage_form ($default, $select_from_user_list = null) {
MessageManager::display_success_message($user);
}
}
}
}
} else {
Display::display_error_message('ErrorSendingMessage');
}

Loading…
Cancel
Save