PageRenderTime 56ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/perfil/clases/guardar_mensaje.php

https://bitbucket.org/weddcam/develop_weddcam
PHP | 244 lines | 113 code | 56 blank | 75 comment | 18 complexity | 13483ac054c5c8aeecfd66083eb146e8 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0, MIT, LGPL-3.0, LGPL-2.1
  1. <?php
  2. header('Content-type: application/json');
  3. include 'conexion_publico.php';
  4. /*
  5. *
  6. * MANTENIMIENTOS DE MENSAEJS
  7. *
  8. */
  9. require('trapallada.php');
  10. $output="KO";
  11. if (isset($_POST['leido']))
  12. {
  13. $result=mysql_query("update buzon set leido='1' WHERE id_buzon='". $_POST['id_buzon'] ."'") or die("error-borrar-leido".mysql_error());
  14. $result=mysql_query("DELETE from muro_actualizacion WHERE tipo_actualizacion ='0' and id_usuario='". $_SESSION['id_usuario'] ."' and id_accion ='". $_POST['id_buzon'] ."'") or die("error-borrar-muro".mysql_error());
  15. if ($result){
  16. $output= "OK";
  17. }
  18. else{
  19. $output= "ERROR";
  20. }
  21. }
  22. else if (isset($_POST['borrar']))
  23. {
  24. $result=true;
  25. $result=mysql_query("DELETE from buzon WHERE id_buzon='". $_POST['id_buzon'] ."'") or die("error-borrar-buzon".mysql_error());
  26. if ($result){
  27. $result=mysql_query("DELETE from mensajes WHERE id_buzon='". $_POST['id_buzon'] ."'") or die("error-borrar-msj".mysql_error());
  28. $result=mysql_query("DELETE from muro_actualizacion WHERE tipo_actualizacion ='0' and id_usuario='". $_SESSION['id_usuario'] ."' and id_accion ='". $_POST['id_buzon'] ."'") or die("error-borrar-notif".mysql_error());
  29. $output= "OK";
  30. }
  31. else{
  32. $output= "ERROR";
  33. }
  34. }
  35. else if (isset($_POST['insertar']))
  36. {
  37. //guardado de mensajes////
  38. /**Pasos:
  39. 1- se inserta en tabla buzon 1 registro para cada destinatario + 1 para usuario q envia
  40. ej - user 10 manda a 11 y 12 --> se generan 4 registros en buzon:
  41. id_buzon|id_propietario |id_origen_destino| id_cadena
  42. 1|10 |11 1
  43. 2|10 |12 1
  44. 3|11 |10 1
  45. 4|12 |10 1
  46. 2- se insert en tabla mensajes con referencia al id_buzon
  47. id_mensaje |id_buzon | Mensaje
  48. 1|1 |Hola
  49. 2|2 |Hola
  50. 3|3 |Hola
  51. 4|4 |Hola
  52. 3- si el usuario 11 responde:
  53. -se modifica buzon (fecha y no leido)
  54. - se inserta en mensajes segun el id_cadena recibido
  55. id_mensaje |id_buzon | Mensaje
  56. 5|3 |respuesta
  57. 6|1 |respuesta
  58. **/
  59. if (isset($_POST['id_cadena'])){
  60. if ($_POST['id_cadena']=="0"){
  61. //es un mensaje nuevo------------
  62. foreach ($_POST['destinatarios'] as $user) {
  63. $relacion ="-1";
  64. $sQuery="SELECT tipo_relacion from relaciones_usuarios where id_usuario='".$_SESSION['id_usuario']."' and id_usuario2 ='". $user."' ";
  65. $rResult = mysql_query( $sQuery);
  66. if (!$rResult) {
  67. $relacion ="-1";
  68. }
  69. else{
  70. while ( $aRow = mysql_fetch_array( $rResult ) )
  71. {
  72. $relacion =$aRow['tipo_relacion'];
  73. }
  74. }
  75. $id_cadena=uniqid();
  76. $dml = " INSERT INTO buzon ( id_propietario, id_origen_destino,asunto,relacion,id_cadena) VALUES ('".$_SESSION['id_usuario']."','".$user."','" .htmlspecialchars($_POST['asunto']) ."','". $relacion ."','". $id_cadena ."')" ;
  77. mysql_query($dml) or die("error-guardar_en_buzon1".mysql_error());
  78. $id_buzon=mysql_insert_id();
  79. $dml = " INSERT INTO mensajes ( id_buzon, mensaje,de) VALUES ('".$id_buzon."', '". htmlspecialchars($_POST['texto_mail'])."','".$_SESSION['id_usuario']."')" ;
  80. $result=mysql_query($dml) or die("error2-guardar_mensaje".mysql_error());
  81. $dml = " INSERT INTO buzon ( id_propietario, id_origen_destino,asunto,relacion,id_cadena) VALUES ('".$user."','".$_SESSION['id_usuario']."','" .htmlspecialchars($_POST['asunto']) ."','". $relacion ."','". $id_cadena ."')" ;
  82. mysql_query($dml) or die("error3-guardar_en_buzon1".mysql_error());
  83. $id_buzon1=mysql_insert_id();
  84. $dml = " INSERT INTO mensajes ( id_buzon, mensaje,de) VALUES ('".$id_buzon1."', '". htmlspecialchars($_POST['texto_mail'])."','".$_SESSION['id_usuario']."')" ;
  85. $result=mysql_query($dml) or die("error4-guardar_mensaje".mysql_error());
  86. $dml = " insert into muro_actualizacion (id_usuario,tipo_actualizacion ,id_accion) VALUES('" . $user. "','0','" . $id_buzon1 ."')";
  87. $result=mysql_query($dml) or die("error-guardar_en_muro".mysql_error());
  88. $output = array($id_buzon,$id_cadena);
  89. }
  90. }
  91. else{
  92. //tengo id_buzon, es una respuesta----------
  93. //solo se puede responder a uno
  94. foreach ($_POST['destinatarios'] as $user) {
  95. $id_usuario = $_SESSION['id_usuario'];
  96. $dml = " update buzon set leido='1',fecha=NOW() where id_cadena='".$_POST['id_cadena'] ."' and id_propietario='" .$_SESSION['id_usuario']."' and id_origen_destino='".$user."'";
  97. $result=mysql_query($dml) or die("error-guardar_en_buzon_resp1".mysql_error());
  98. //si el destinatario borro su buzon se genera otro
  99. $sQuery="SELECT id_buzon from buzon where id_cadena='".$_POST['id_cadena'] ."' and id_origen_destino='" .$_SESSION['id_usuario']."' and id_propietario='".$user."'";
  100. $rResult = mysql_query( $sQuery);
  101. $nb = mysql_num_rows($rResult);
  102. if ($nb=="0") {
  103. $sQuery="SELECT tipo_relacion from relaciones_usuarios where id_usuario='".$_SESSION['id_usuario']."' and id_usuario2 ='". $user."' ";
  104. $rResult = mysql_query( $sQuery);
  105. if (!$rResult) {
  106. $relacion ="-1";
  107. }
  108. else{
  109. $relacion ="-1";
  110. while ( $aRow = mysql_fetch_array( $rResult ) )
  111. {
  112. $relacion =$aRow['tipo_relacion'];
  113. }
  114. }
  115. $dml = "INSERT INTO buzon ( id_propietario, id_origen_destino,asunto,relacion,id_cadena) VALUES ('".$user."','".$_SESSION['id_usuario']."','" .htmlspecialchars($_POST['asunto']) ."','". $relacion ."','". $_POST['id_cadena'] ."')" ;
  116. $result=mysql_query($dml) or die("error3-guardar_en_buzon1".mysql_error());
  117. }
  118. else{
  119. $dml = "UPDATE buzon set leido='0',fecha=NOW() where id_cadena='".$_POST['id_cadena'] ."' and id_origen_destino='" .$_SESSION['id_usuario']."' and id_propietario='".$user."'";
  120. $result=mysql_query($dml) or die("error-guardar_en_buzon_resp2".mysql_error());
  121. }
  122. $dml = "UPDATE buzon set leido='0',fecha=NOW() where id_cadena='".$_POST['id_cadena'] ."' and id_origen_destino='" .$_SESSION['id_usuario']."' and id_propietario='".$user."'";
  123. $result=mysql_query($dml) or die("error-guardar_en_buzon_resp2".mysql_error());
  124. //se insertan mensajes --------------------------------------------------------------------
  125. $sQuery="SELECT id_buzon,id_origen_destino from buzon where id_cadena='". $_POST['id_cadena'] ."' and (id_propietario='".$_SESSION['id_usuario']."' and id_origen_destino ='". $user."') or (id_origen_destino='".$_SESSION['id_usuario']."' and id_propietario ='". $user."') ";
  126. $rResult = mysql_query( $sQuery);
  127. if ($rResult) {
  128. while ( $aRow = mysql_fetch_array( $rResult ) )
  129. {
  130. $dml = " INSERT INTO mensajes ( id_buzon,de , mensaje) VALUES ('".$aRow['id_buzon']."','". $_SESSION['id_usuario'] ."','". htmlspecialchars($_POST['texto_mail'])."')" ;
  131. $result=mysql_query($dml) or die("error-guardar_en_buzon_resp3".mysql_error());
  132. // ACTUALIZACION DE MURO PARA NOTIFICAR MENSAJE
  133. if ($aRow['id_origen_destino'] != $_SESSION['id_usuario'] ){
  134. $output="insert_mesaje-----";
  135. $dml1 = "INSERT INTO muro_actualizacion (id_usuario,tipo_actualizacion ,id_accion) VALUES('" . $_SESSION['id_usuario'] . "','0','" . $aRow['id_buzon'] ."')";
  136. $result1=mysql_query($dml1) or die("error-guardar_muro_actualizacion".mysql_error());
  137. $output='OKr1';
  138. }
  139. }
  140. }
  141. //$output="OK";
  142. }
  143. }
  144. //$output="OK2";
  145. }
  146. }
  147. /*
  148. $id_cadena="0";
  149. if (isset($_POST['id_cadena'])){
  150. $id_cadena=$_POST['id_cadena'];
  151. }
  152. $dml = " INSERT INTO mensajes ( de, mensaje,asunto,id_cadena) VALUES ('".$_SESSION['id_usuario']."', '". htmlspecialchars($_POST['texto_mail'])."', '". htmlspecialchars($_POST['asunto'])."','" . $id_cadena ."')" ;
  153. $result=mysql_query($dml) or die("error3-guardar_mensaje".mysql_error());
  154. if ($result)
  155. {
  156. $id_mensaje=mysql_insert_id();
  157. if ($id_cadena=="0"){
  158. $dml = " update mensajes set id_cadena = '" .$id_mensaje ."' where id_mensaje='". $id_mensaje ."'" ;
  159. $result=mysql_query($dml) or die("error4-guardar_mensaje".mysql_error());
  160. $id_cadena=$id_mensaje;
  161. }
  162. //insertar en mensajes_destinatarios el usuario q lo envia con tipo-->1
  163. $dml = " INSERT INTO mensajes_destinatarios ( id_mensaje, id_usuario,tipo) VALUES ('".$id_mensaje."', '".$_SESSION['id_usuario']."','1')" ;
  164. $result=mysql_query($dml) or die("error3-altausuario".mysql_error());
  165. //insertar en mensajes_destinatarios
  166. //$l_dest = explode (",", $_POST['destinatarios']);
  167. //foreach ($l_dest as $user) {
  168. foreach ($_POST['destinatarios'] as $user) {
  169. $dml = " INSERT INTO mensajes_destinatarios ( id_mensaje, id_usuario,tipo) VALUES ('".$id_mensaje."', '".$user."','0')" ;
  170. $result=mysql_query($dml) or die("error3-altausuario".mysql_error());
  171. $dml = " INSERT INTO muro_actualizacion ( id_usuario, tipo_actualizacion,id_accion) VALUES ('".$user."','0', '".$id_mensaje."')" ;
  172. $result=mysql_query($dml) or die("error3-altausuario".mysql_error());
  173. }
  174. mysql_close();
  175. $output="OK";
  176. }
  177. }
  178. */
  179. echo json_encode( $output );
  180. ?>