inbox.php 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <?php
  2. /* For licensing terms, see /chamilo_license.txt */
  3. /**
  4. * @package dokeos.messages
  5. */
  6. // name of the language file that needs to be included
  7. $language_file = array('registration','messages','userInfo');
  8. $cidReset=true;
  9. require_once '../inc/global.inc.php';
  10. require_once api_get_path(LIBRARY_PATH).'message.lib.php';
  11. api_block_anonymous_users();
  12. if (isset($_GET['messages_page_nr'])) {
  13. if (api_get_setting('allow_social_tool')=='true' && api_get_setting('allow_message_tool')=='true') {
  14. header('Location:inbox.php');
  15. }
  16. }
  17. if (api_get_setting('allow_message_tool')!='true'){
  18. api_not_allowed();
  19. }
  20. $htmlHeadXtra[]='<script language="javascript">
  21. <!--
  22. function enviar(miforma)
  23. {
  24. if(confirm("'.get_lang("SureYouWantToDeleteSelectedMessages").'"))
  25. miforma.submit();
  26. }
  27. function select_all(formita)
  28. {
  29. for (i=0;i<formita.elements.length;i++)
  30. {
  31. if(formita.elements[i].type == "checkbox")
  32. formita.elements[i].checked=1
  33. }
  34. }
  35. function deselect_all(formita)
  36. {
  37. for (i=0;i<formita.elements.length;i++)
  38. {
  39. if(formita.elements[i].type == "checkbox")
  40. formita.elements[i].checked=0
  41. }
  42. }
  43. //-->
  44. </script>';
  45. /*
  46. ==============================================================================
  47. MAIN CODE
  48. ==============================================================================
  49. */
  50. $nameTools = get_lang('Messages');
  51. $request=api_is_xml_http_request();
  52. if (isset($_GET['form_reply']) || isset($_GET['form_delete'])) {
  53. /***********************************************/
  54. $info_reply=array();
  55. $info_delete=array();
  56. /***********************************************/
  57. if ( isset($_GET['form_reply']) ) {
  58. //allow to insert messages
  59. $info_reply=explode(base64_encode('&%ff..x'),$_GET['form_reply']);
  60. $count_reply=count($info_reply);
  61. $button_sent=urldecode($info_reply[4]);
  62. }
  63. /***********************************************/
  64. if ( isset($_GET['form_delete']) ) {
  65. //allow to delete messages
  66. $info_delete=explode(',',$_GET['form_delete']);
  67. $count_delete=(count($info_delete)-1);
  68. }
  69. /***********************************************/
  70. if ( isset($button_sent) ) {
  71. $title = api_convert_encoding(urldecode($info_reply[0]),'UTF-8',$charset);
  72. $content = api_convert_encoding(str_replace("\\","",urldecode($info_reply[1])),'UTF-8',$charset);
  73. $title = Security::remove_XSS($title);
  74. $content = Security::remove_XSS($content,COURSEMANAGERLOWSECURITY);
  75. $user_reply= $info_reply[2];
  76. $user_email_base=str_replace(')','(',$info_reply[5]);
  77. $user_email_prepare=explode('(',$user_email_base);
  78. if (count($user_email_prepare)==1) {
  79. $user_email=trim($user_email_prepare[0]);
  80. } elseif (count($user_email_prepare)==3) {
  81. $user_email=trim($user_email_prepare[1]);
  82. }
  83. $user_id_by_email=MessageManager::get_user_id_by_email($user_email);
  84. if ($info_reply[6]=='save_form') {
  85. $user_id_by_email=$info_reply[2];
  86. }
  87. if ( isset($user_reply) && !is_null($user_id_by_email) && strlen($info_reply[0]) >0) {
  88. MessageManager::send_message($user_id_by_email, $title, $content);
  89. MessageManager::display_success_message($user_id_by_email);
  90. inbox_display();
  91. exit;
  92. } elseif (is_null($user_id_by_email)) {
  93. $message_box=get_lang('ErrorSendingMessage');
  94. Display::display_error_message(api_xml_http_response_encode($message_box),false);
  95. inbox_display();
  96. exit;
  97. }
  98. } elseif (trim($info_delete[0])=='delete' ) {
  99. for ($i=1;$i<=$count_delete;$i++) {
  100. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $info_delete[$i]);
  101. }
  102. $message_box=get_lang('SelectedMessagesDeleted');
  103. Display::display_normal_message(api_xml_http_response_encode($message_box),false);
  104. inbox_display();
  105. exit;
  106. }
  107. }
  108. $link_ref="new_message.php";
  109. $table_message = Database::get_main_table(TABLE_MESSAGE);
  110. //api_display_tool_title(api_xml_http_response_encode(get_lang('Inbox')));
  111. if ($_GET['f']=='social') {
  112. $this_section = SECTION_SOCIAL;
  113. $interbreadcrumb[]= array ('url' => api_get_path(WEB_PATH).'main/social/profile.php','name' => get_lang('Social'));
  114. $interbreadcrumb[]= array ('url' => '#','name' => get_lang('Inbox'));
  115. } else {
  116. $this_section = SECTION_MYPROFILE;
  117. $interbreadcrumb[]= array ('url' => api_get_path(WEB_PATH).'main/auth/profile.php','name' => get_lang('Profile'));
  118. $interbreadcrumb[]= array ('url' => 'outbox.php','name' => get_lang('Inbox'));
  119. }
  120. Display::display_header('');
  121. $social_parameter = '';
  122. if ($_GET['f']=='social') {
  123. require_once api_get_path(LIBRARY_PATH).'social.lib.php';
  124. SocialManager::show_social_menu();
  125. echo '<div class="actions-title">';
  126. echo get_lang('Messages');
  127. echo '</div>';
  128. $social_parameter = '?f=social';
  129. } else {
  130. //comes from normal profile
  131. /*
  132. echo '<div class=actions>';
  133. echo '<a href="'.api_get_path(WEB_PATH).'main/messages/inbox.php">'.Display::return_icon('inbox.png',api_xml_http_response_encode(get_lang('Inbox'))).api_xml_http_response_encode(get_lang('Inbox')).'</a>';
  134. echo '<a href="'.api_get_path(WEB_PATH).'main/messages/new_message.php">'.Display::return_icon('message_new.png',api_xml_http_response_encode(get_lang('ComposeMessage'))).api_xml_http_response_encode(get_lang('ComposeMessage')).'</a>';
  135. echo '<a href="'.api_get_path(WEB_PATH).'main/messages/outbox.php">'.Display::return_icon('outbox.png',api_xml_http_response_encode(get_lang('Outbox'))).api_xml_http_response_encode(get_lang('Outbox')).'</a>';
  136. echo '</div>'; */
  137. echo '<div class="actions">';
  138. if (api_get_setting('allow_social_tool') == 'true' && api_get_setting('allow_message_tool') == 'true') {
  139. echo '<a href="'.api_get_path(WEB_PATH).'main/social/profile.php">'.Display::return_icon('shared_profile.png', get_lang('ViewSharedProfile')).'&nbsp;'.get_lang('ViewSharedProfile').'</a>';
  140. }
  141. if (api_get_setting('allow_message_tool') == 'true') {
  142. echo '<a href="'.api_get_path(WEB_PATH).'main/messages/inbox.php">'.Display::return_icon('inbox.png').' '.get_lang('Messages').'</a>';
  143. }
  144. echo '<a href="'.api_get_path(WEB_PATH).'main/auth/profile.php?type=reduced">'.Display::return_icon('edit.gif', get_lang('EditNormalProfile')).'&nbsp;'.get_lang('EditNormalProfile').'</a>';
  145. echo '</div>';
  146. }
  147. echo '<div id="inbox-wrapper">';
  148. //LEFT CONTENT
  149. echo '<div id="inbox-menu" class="actions">';
  150. echo '<ul>';
  151. echo '<li><a href="'.api_get_path(WEB_PATH).'main/messages/inbox.php'.$social_parameter.'">'.Display::return_icon('inbox.png',get_lang('Inbox')).get_lang('Inbox').'</a>'.'</li>';
  152. echo '<li><a href="'.api_get_path(WEB_PATH).'main/messages/new_message.php'.$social_parameter.'">'.Display::return_icon('message_new.png',get_lang('ComposeMessage')).get_lang('ComposeMessage').'</a>'.'</li>';
  153. echo '<li><a href="'.api_get_path(WEB_PATH).'main/messages/outbox.php'.$social_parameter.'">'.Display::return_icon('outbox.png',get_lang('Outbox')).get_lang('Outbox').'</a>'.'</li>';
  154. echo '</ul>';
  155. echo '</div>';
  156. echo '<div id="inbox">';
  157. //MAIN CONTENT
  158. if (!isset($_GET['del_msg'])) {
  159. inbox_display();
  160. } else {
  161. $num_msg = intval($_POST['total']);
  162. for ($i=0;$i<$num_msg;$i++) {
  163. if($_POST[$i]) {
  164. //the user_id was necesarry to delete a message??
  165. MessageManager::delete_message_by_user_receiver(api_get_user_id(), $_POST['_'.$i]);
  166. }
  167. }
  168. inbox_display();
  169. }
  170. echo '</div>';
  171. echo '</div>';
  172. /*
  173. ==============================================================================
  174. FOOTER
  175. ==============================================================================
  176. */
  177. Display::display_footer();
  178. ?>