diff --git a/main/inc/lib/message.lib.php b/main/inc/lib/message.lib.php index 7a922b8352..154ffe57b6 100644 --- a/main/inc/lib/message.lib.php +++ b/main/inc/lib/message.lib.php @@ -27,6 +27,33 @@ require_once '../messages/message.class.php'; function inbox_display() { $table_message = Database::get_main_table(TABLE_MESSAGE); $request=api_is_xml_http_request(); + if ($_SESSION['social_exist']===true) { + $redirect="#remote-tab-2"; + if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') { + $success= get_lang('SelectedMessagesDeleted'). + "  +
". + get_lang('BackToInbox'). + ""; + }else { + $success= get_lang('SelectedMessagesDeleted'). + "  +
". + get_lang('BackToInbox'). + ""; + } + + } else { + $success= get_lang('SelectedMessagesDeleted'). + "  + ". + "
". + get_lang('BackToOutbox'). + ""; + } if (isset ($_REQUEST['action'])) { switch ($_REQUEST['action']) { @@ -35,11 +62,11 @@ function inbox_display() { foreach ($_POST['id'] as $index => $message_id) { MessageManager::delete_message_by_user_receiver(api_get_user_id(), $message_id); } - Display::display_normal_message(get_lang('SelectedMessagesDeleted')); + Display::display_normal_message($success,false); break; case 'deleteone' : MessageManager::delete_message_by_user_receiver(api_get_user_id(), $_GET['id']); - Display::display_confirmation_message(get_lang('MessageDeleted')); + Display::display_confirmation_message($success,false); echo '
'; break; } @@ -73,7 +100,33 @@ function get_message_data_mask($from, $number_of_items, $column, $direction) { function outbox_display() { $table_message = Database::get_main_table(TABLE_MESSAGE); $request=api_is_xml_http_request(); - + if ($_SESSION['social_exist']===true) { + $redirect="#remote-tab-3"; + if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') { + $success= get_lang('SelectedMessagesDeleted'). + "  +
". + get_lang('BackToOutbox'). + ""; + }else { + $success= get_lang('SelectedMessagesDeleted'). + "  +
". + get_lang('BackToOutbox'). + ""; + } + + } else { + $success= get_lang('SelectedMessagesDeleted'). + "  + ". + "
". + get_lang('BackToOutbox'). + ""; + } if (isset ($_REQUEST['action'])) { switch ($_REQUEST['action']) { case 'delete' : @@ -82,12 +135,12 @@ if (isset ($_REQUEST['action'])) { foreach ($_POST['id'] as $index => $message_id) { MessageManager::delete_message_by_user_receiver(api_get_user_id(), $message_id); } - } - Display::display_normal_message(get_lang('SelectedMessagesDeleted')); + } + Display::display_normal_message($success,false); break; case 'deleteone' : MessageManager::delete_message_by_user_receiver(api_get_user_id(), $_GET['id']); - Display::display_confirmation_message(get_lang('MessageDeleted')); + Display::display_confirmation_message($success,false); echo '
'; break; } diff --git a/main/messages/message.class.php b/main/messages/message.class.php index dc7c72e5d3..65d37db326 100755 --- a/main/messages/message.class.php +++ b/main/messages/message.class.php @@ -42,7 +42,31 @@ class MessageManager { * Displays info stating that the message is sent successfully. */ public static function display_success_message($uid) { - $success= get_lang('MessageSentTo'). + + if ($_SESSION['social_exist']===true) { + $redirect="#remote-tab-2"; + if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') { + $success= get_lang('MessageSentTo'). + " ". + GetFullUserName($uid). + "". + "
". + get_lang('BackToInbox'). + ""; + }else { + $success= get_lang('MessageSentTo'). + " ". + GetFullUserName($uid). + "". + "
". + get_lang('BackToInbox'). + ""; + } + + } else { + $success= get_lang('MessageSentTo'). " ". GetFullUserName($uid). "". @@ -50,6 +74,7 @@ class MessageManager { "inbox.php\">". get_lang('BackToInbox'). ""; + } Display::display_confirmation_message($success, false); } @@ -93,7 +118,7 @@ class MessageManager { */ public static function get_number_of_messages () { $table_message = Database::get_main_table(TABLE_MESSAGE); - $sql_query = "SELECT COUNT(*) as number_messages FROM $table_message WHERE msg_status IN (0,1,3) AND user_receiver_id=".api_get_user_id(); + $sql_query = "SELECT COUNT(*) as number_messages FROM $table_message WHERE msg_status IN (0,1) AND user_receiver_id=".api_get_user_id(); $sql_result = api_sql_query($sql_query,__FILE__,__LINE__); $result = Database::fetch_array($sql_result); return $result['number_messages']; @@ -109,7 +134,7 @@ class MessageManager { $table_message = Database::get_main_table(TABLE_MESSAGE); $request=api_is_xml_http_request(); $sql_query = "SELECT id as col0, user_sender_id as col1, title as col2, send_date as col3 FROM $table_message " . - "WHERE user_receiver_id=".api_get_user_id()." AND msg_status IN (0,1,3)" . + "WHERE user_receiver_id=".api_get_user_id()." AND msg_status IN (0,1)" . "ORDER BY col$column $direction LIMIT $from,$number_of_items"; $sql_result = api_sql_query($sql_query,__FILE__,__LINE__); $i = 0; @@ -137,20 +162,34 @@ class MessageManager { public static function send_message ($receiver_user_id, $title, $content) { $table_message = Database::get_main_table(TABLE_MESSAGE); + //message in inbox $query = "INSERT INTO $table_message(user_sender_id, user_receiver_id, msg_status, send_date, title, content ) ". " VALUES (". "'".api_get_user_id()."', '".Database::escape_string($receiver_user_id)."', '1', '".date('Y-m-d H:i:s')."','".Database::escape_string($title)."','".Database::escape_string($content)."'". ")"; + //message in outbox + $sql = "INSERT INTO $table_message(user_sender_id, user_receiver_id, msg_status, send_date, title, content ) ". + " VALUES (". + "'".api_get_user_id()."', '".Database::escape_string($receiver_user_id)."', '4', '".date('Y-m-d H:i:s')."','".Database::escape_string($title)."','".Database::escape_string($content)."'". + ")"; + $rs = api_sql_query($sql,__FILE__,__LINE__); $result = api_sql_query($query,__FILE__,__LINE__); return $result; } public static function delete_message_by_user_receiver ($user_receiver_id,$id) { $table_message = Database::get_main_table(TABLE_MESSAGE); - $query = "DELETE FROM $table_message " . - "WHERE user_receiver_id=".Database::escape_string($user_receiver_id)." AND id=".Database::escape_string($id); - $result = api_sql_query($query,__FILE__,__LINE__); - return $result; + $sql="SELECT COUNT(*) as count FROM $table_message WHERE id=".$id." AND msg_status<>4;"; + $rs=api_sql_query($sql,__FILE__,__LINE__); + $row=Database::fetch_array($rs,'ASSOC'); + if ($row['count']==1) { + $query = "DELETE FROM $table_message " . + "WHERE user_receiver_id=".Database::escape_string($user_receiver_id)." AND id=".Database::escape_string($id); + $result = api_sql_query($query,__FILE__,__LINE__); + return $result; + } else { + return false; + } } /** * Set status deleted @@ -161,14 +200,15 @@ class MessageManager { */ public static function delete_message_by_user_sender ($user_sender_id,$id) { $table_message = Database::get_main_table(TABLE_MESSAGE); - $query = "UPDATE $table_message " . - "SET msg_status=3 WHERE user_sender_id=".Database::escape_string($user_sender_id)." AND id=".Database::escape_string($id); + $query = "DELETE FROM $table_message " . + "WHERE user_sender_id=".Database::escape_string($user_sender_id)." AND id=".Database::escape_string($id); + $result = api_sql_query($query,__FILE__,__LINE__); return $result; } public static function update_message ($user_id, $id) { $table_message = Database::get_main_table(TABLE_MESSAGE); - $query = "UPDATE $table_message SET msg_status = '0' WHERE user_receiver_id=".Database::escape_string($user_id)." AND id='".Database::escape_string($id)."'"; + $query = "UPDATE $table_message SET msg_status = '0' WHERE msg_status<>4 AND user_receiver_id=".Database::escape_string($user_id)." AND id='".Database::escape_string($id)."'"; $result = api_sql_query($query,__FILE__,__LINE__); } @@ -207,7 +247,7 @@ class MessageManager { $table_message = Database::get_main_table(TABLE_MESSAGE); $request=api_is_xml_http_request(); $sql_query = "SELECT id as col0, user_sender_id as col1, title as col2, send_date as col3 FROM $table_message " . - "WHERE user_sender_id=".api_get_user_id()." AND msg_status IN (0,1)" . + "WHERE user_sender_id=".api_get_user_id()." AND msg_status=4 " . "ORDER BY col$column $direction LIMIT $from,$number_of_items"; $sql_result = api_sql_query($sql_query,__FILE__,__LINE__); $i = 0; @@ -239,7 +279,7 @@ class MessageManager { */ public static function get_number_of_messages_sent () { $table_message = Database::get_main_table(TABLE_MESSAGE); - $sql_query = "SELECT COUNT(*) as number_messages FROM $table_message WHERE msg_status IN (0,1) AND user_sender_id=".api_get_user_id(); + $sql_query = "SELECT COUNT(*) as number_messages FROM $table_message WHERE msg_status=4 AND user_sender_id=".api_get_user_id(); $sql_result = api_sql_query($sql_query,__FILE__,__LINE__); $result = Database::fetch_array($sql_result); return $result['number_messages']; @@ -247,13 +287,15 @@ class MessageManager { public static function show_message_box () { $table_message = Database::get_main_table(TABLE_MESSAGE); if (isset($_GET['id_send'])) { - $query = "SELECT * FROM $table_message WHERE user_sender_id=".api_get_user_id()." AND id=".$_GET['id_send']." AND msg_status IN (0,1);"; + $query = "SELECT * FROM $table_message WHERE user_sender_id=".api_get_user_id()." AND id=".$_GET['id_send']." AND msg_status=4;"; $result = api_sql_query($query,__FILE__,__LINE__); + $path='outbox.php'; } else { $query = "UPDATE $table_message SET msg_status = '0' WHERE user_receiver_id=".api_get_user_id()." AND id='".Database::escape_string($_GET['id'])."';"; $result = api_sql_query($query,__FILE__,__LINE__); - $query = "SELECT * FROM $table_message WHERE user_receiver_id=".api_get_user_id()." AND id='".Database::escape_string($_GET['id'])."';"; + $query = "SELECT * FROM $table_message WHERE msg_status<>4 AND user_receiver_id=".api_get_user_id()." AND id='".Database::escape_string($_GET['id'])."';"; $result = api_sql_query($query,__FILE__,__LINE__); + $path='inbox.php'; } $row = Database::fetch_array($result); $user_con = self::users_connected_by_id(); @@ -267,7 +309,7 @@ class MessageManager { } echo '
'; echo $reply; - echo ''.Display::return_icon('message_delete.png',get_lang('DeleteMessage')).''.get_lang('Delete').''; + echo ''.Display::return_icon('message_delete.png',get_lang('DeleteMessage')).''.get_lang('Delete').''; echo '

'; echo ' diff --git a/main/messages/outbox.php b/main/messages/outbox.php index f3f8cd87fe..18294690f0 100755 --- a/main/messages/outbox.php +++ b/main/messages/outbox.php @@ -98,17 +98,20 @@ echo get_lang('ShowMessageOutbox'); echo ''; $user_sender_id=api_get_user_id(); -$id=Security::remove_XSS($_GET['id']); -if ($_REQUEST['action']!='delete') { - outbox_display(); -} else { +if ($_REQUEST['action']=='delete') { $delete_list_id=array(); $delete_list_id=$_POST['id']; for ($i=0;$i Copyright (c) Facultad de Matematicas, UADY (México) Copyright (c) Evie, Free University of Brussels (Belgium) - + Copyright (c) 2009 Isaac Flores Paz For a full list of contributors, see "credits.txt". The full license can be read in "license.txt". @@ -41,8 +41,20 @@ $nameTools = get_lang('Messages'); if (isset($_GET['id_send']) || isset($_GET['id'])) { if (isset($_GET['rs'])) { $interbreadcrumb[]= array ( - 'url' => '../social/'.$_SESSION['social_dest'].'?#remote-tab-2', - 'name' => get_lang('SocialNetwork') + 'url' => '#', + 'name' => get_lang($nameTools) + ); + $interbreadcrumb[]= array ( + 'url' => '../social/'.$_SESSION['social_dest'].'?#remote-tab-2', + 'name' => get_lang('SocialNetwork') + ); + $interbreadcrumb[]= array ( + 'url' => 'inbox.php', + 'name' => get_lang('Inbox') + ); + $interbreadcrumb[]= array ( + 'url' => 'outbox.php', + 'name' => get_lang('Outbox') ); } else { $interbreadcrumb[]= array ( diff --git a/main/social/index.php b/main/social/index.php index e7da77a07b..7db304c7f8 100755 --- a/main/social/index.php +++ b/main/social/index.php @@ -67,6 +67,7 @@ function delete_friend (element_div) { //alert(datos); $("div#"+"div_"+user_id[1]).hide("slow"); $("div#"+"div_"+user_id[1]).html(""); + clear_form (); } }); } @@ -175,6 +176,7 @@ code { font-family: "Courier New", Courier, monospace; } '; +$_SESSION['social_exist']=true; $_SESSION['social_dest'] = 'index.php'; $interbreadcrumb[]= array ( 'url' => '#',