message.lib.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <?php
  2. /*
  3. ==============================================================================
  4. Dokeos - elearning and course management software
  5. Copyright (c) 2004-2008 Dokeos SPRL
  6. Copyright (c) Julio Montoya <gugli100@gmail.com>
  7. Copyright (c) Isaac Flores <florespaz_isaac@hotmail.com>
  8. For a full list of contributors, see "credits.txt".
  9. The full license can be read in "license.txt".
  10. This program is free software; you can redistribute it and/or
  11. modify it under the terms of the GNU General Public License
  12. as published by the Free Software Foundation; either version 2
  13. of the License, or (at your option) any later version.
  14. See the GNU General Public License for more details.
  15. Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
  16. Mail: info@dokeos.com
  17. ==============================================================================
  18. */
  19. include_once(api_get_path(LIBRARY_PATH).'/online.inc.php');
  20. require_once '../messages/message.class.php';
  21. function inbox_display() {
  22. $charset = api_get_setting('platform_charset');
  23. $table_message = Database::get_main_table(TABLE_MESSAGE);
  24. $request=api_is_xml_http_request();
  25. if ($_SESSION['social_exist']===true) {
  26. $redirect="#remote-tab-2";
  27. if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') {
  28. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset).
  29. "&nbsp
  30. <br/><a href=\"".
  31. "../social/index.php?$redirect\">".
  32. mb_convert_encoding(get_lang('BackToInbox'),'UTF-8',$charset).
  33. "</a>";
  34. } else {
  35. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset).
  36. "&nbsp
  37. <br/><a href=\"".
  38. "../social/index.php?$redirect\">".
  39. mb_convert_encoding(get_lang('BackToInbox'),'UTF-8',$charset).
  40. "</a>";
  41. }
  42. } else {
  43. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset) .
  44. "&nbsp
  45. <br/><a href=\"".
  46. "inbox.php\">".
  47. mb_convert_encoding(get_lang('BackToOutbox'),'UTF-8',$charset).
  48. "</a>";
  49. }
  50. if (isset ($_REQUEST['action'])) {
  51. switch ($_REQUEST['action']) {
  52. case 'delete' :
  53. $number_of_selected_messages = count($_POST['id']);
  54. foreach ($_POST['id'] as $index => $message_id) {
  55. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $message_id);
  56. }
  57. Display::display_normal_message($success,false);
  58. break;
  59. case 'deleteone' :
  60. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $_GET['id']);
  61. Display::display_confirmation_message($success,false);
  62. echo '<br/>';
  63. break;
  64. }
  65. }
  66. // display sortable table with messages of the current user
  67. $table = new SortableTable('messages', 'get_number_of_messages_mask', 'get_message_data_mask', 1);
  68. $table->set_header(0, '', false,array ('style' => 'width:20px;'));
  69. if ($request===true) {
  70. $title= mb_convert_encoding(get_lang('Title'),'UTF-8',$charset);
  71. $action=mb_convert_encoding(get_lang('Actions'),'UTF-8',$charset);
  72. } else {
  73. $title= get_lang('Title');
  74. $action=get_lang('Actions');
  75. }
  76. $table->set_header(1,mb_convert_encoding(get_lang('Status'),'UTF-8',$charset) ,false,array ('style' => 'width:30px;'));
  77. $table->set_header(2,mb_convert_encoding(get_lang('From'),'UTF-8',$charset) ,false);
  78. $table->set_header(3,$title,false);
  79. $table->set_header(4,mb_convert_encoding(get_lang('Date'),'UTF-8',$charset),false,array ('style' => 'width:150px;'));
  80. $table->set_header(5,$action,false,array ('style' => 'width:100px;'));
  81. echo '<div id="div_content_table_data">';
  82. if ($request===true) {
  83. echo '<form name="form_send" id="form_send" action="" method="post">';
  84. echo '<input type="hidden" name="action" value="delete" />';
  85. $table->display();
  86. echo '</form>';
  87. if (get_number_of_messages_mask() > 0) {
  88. echo '<a href="javascript:void(0)" onclick="selectall_cheks()">'.mb_convert_encoding(get_lang('SelectAll'),'UTF-8',$charset) .'</a>&nbsp;&nbsp;&nbsp;';
  89. echo '<a href="javascript:void(0)" onclick="unselectall_cheks()">'.mb_convert_encoding(get_lang('UnSelectAll'),'UTF-8',$charset) .'</a>&nbsp;&nbsp;&nbsp;';
  90. echo '<input name="delete" type="button" value="'.mb_convert_encoding(get_lang('DeleteSelectedMessages'),'UTF-8',$charset).'" onclick="submit_form(\'inbox\')"/>';
  91. }
  92. } else {
  93. $table->set_form_actions(array ('delete' => get_lang('DeleteSelectedMessages')));
  94. $table->display();
  95. }
  96. echo '</div>';
  97. }
  98. function get_number_of_messages_mask() {
  99. return MessageManager::get_number_of_messages();
  100. }
  101. function get_message_data_mask($from, $number_of_items, $column, $direction) {
  102. return MessageManager::get_message_data($from, $number_of_items, $column, $direction);
  103. }
  104. function outbox_display() {
  105. $table_message = Database::get_main_table(TABLE_MESSAGE);
  106. $request=api_is_xml_http_request();
  107. global $charset;
  108. if ($_SESSION['social_exist']===true) {
  109. $redirect="#remote-tab-3";
  110. if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') {
  111. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset).
  112. "&nbsp
  113. <br><a href=\"".
  114. "../social/index.php?$redirect\">".
  115. mb_convert_encoding(get_lang('BackToOutbox'),'UTF-8',$charset).
  116. "</a>";
  117. }else {
  118. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset).
  119. "&nbsp
  120. <br><a href=\"".
  121. "../social/index.php?$redirect\">".
  122. mb_convert_encoding(get_lang('BackToOutbox'),'UTF-8',$charset).
  123. "</a>";
  124. }
  125. } else {
  126. $success= mb_convert_encoding(get_lang('SelectedMessagesDeleted'),'UTF-8',$charset) .
  127. "&nbsp
  128. </b>".
  129. "<br><a href=\"".
  130. "outbox.php\">".
  131. mb_convert_encoding(get_lang('BackToOutbox'),'UTF-8',$charset).
  132. "</a>";
  133. }
  134. if (isset ($_REQUEST['action'])) {
  135. switch ($_REQUEST['action']) {
  136. case 'delete' :
  137. $number_of_selected_messages = count($_POST['id']);
  138. if ($number_of_selected_messages!=0) {
  139. foreach ($_POST['id'] as $index => $message_id) {
  140. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $message_id);
  141. }
  142. }
  143. Display::display_normal_message($success,false);
  144. break;
  145. case 'deleteone' :
  146. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $_GET['id']);
  147. Display::display_confirmation_message($success,false);
  148. echo '<br/>';
  149. break;
  150. }
  151. }
  152. // display sortable table with messages of the current user
  153. $table = new SortableTable('messages', 'get_number_of_messages_send_mask', 'get_message_data_send_mask', 1);
  154. if ($request===true) {
  155. $title= mb_convert_encoding(get_lang('Title'),'UTF-8',$charset);
  156. $action=mb_convert_encoding(get_lang('Actions'),'UTF-8',$charset);
  157. } else {
  158. $title=get_lang('Title');
  159. $action=get_lang('Actions');
  160. }
  161. $table->set_header(0, '', false,array ('style' => 'width:20px;'));
  162. $table->set_header(1, mb_convert_encoding(get_lang('Status'),'UTF-8',$charset),false,array ('style' => 'width:30px;'));
  163. $table->set_header(2, mb_convert_encoding(get_lang('To'),'UTF-8',$charset),false);
  164. $table->set_header(3, $title,false);
  165. $table->set_header(4, mb_convert_encoding(get_lang('Date'),'UTF-8',$charset),false,array ('style' => 'width:150px;'));
  166. $table->set_header(5,$action, false,array ('style' => 'width:100px;'));
  167. echo '<div id="div_content_table_data_sent">';
  168. if ($request===true) {
  169. echo '<form name="form_send_out" id="form_send_out" action="" method="post">';
  170. echo '<input type="hidden" name="action" value="delete" />';
  171. $table->display();
  172. echo '</form>';
  173. if (get_number_of_messages_send_mask() > 0) {
  174. echo '<a href="javascript:void(0)" onclick="selectall_cheks()">'.mb_convert_encoding(get_lang('SelectAll'),'UTF-8',$charset).'</a>&nbsp;&nbsp;&nbsp;';
  175. echo '<a href="javascript:void(0)" onclick="unselectall_cheks()">'.mb_convert_encoding(get_lang('UnSelectAll'),'UTF-8',$charset).'</a>&nbsp;&nbsp;&nbsp;';
  176. echo '<input name="delete" type="button" value="'.mb_convert_encoding(get_lang('DeleteSelectedMessages'),'UTF-8',$charset).'" onclick="submit_form(\'outbox\')"/>';
  177. }
  178. } else {
  179. $table->set_form_actions(array ('delete' => get_lang('DeleteSelectedMessages')));
  180. $table->display();
  181. }
  182. echo '</div>';
  183. }
  184. function get_number_of_messages_send_mask() {
  185. return MessageManager::get_number_of_messages_sent();
  186. }
  187. function get_message_data_send_mask($from, $number_of_items, $column, $direction) {
  188. return MessageManager::get_message_data_sent($from, $number_of_items, $column, $direction);
  189. }
  190. ?>