Línea 155... |
Línea 155... |
155 |
* 'url_delete' => 'url para borrar el grupo si es el propietario',
|
155 |
* 'url_delete' => 'url para borrar el grupo si es el propietario',
|
156 |
* 'url_add_user_to_group' => 'url para agregar un usuario al grupo si es el propietario',
|
156 |
* 'url_add_user_to_group' => 'url para agregar un usuario al grupo si es el propietario',
|
157 |
* 'url_get_contacts_availables_for_group' => 'url para obtener los usuarios disponibles para agregarlos al grupo',
|
157 |
* 'url_get_contacts_availables_for_group' => 'url para obtener los usuarios disponibles para agregarlos al grupo',
|
158 |
* 'url_get_contact_group_list' => 'url para obtener los usuarios del grupo si es el propietario',
|
158 |
* 'url_get_contact_group_list' => 'url para obtener los usuarios del grupo si es el propietario',
|
159 |
* 'url_clear' => 'url para limpiar los mensajes del grupo',
|
159 |
* 'url_clear' => 'url para limpiar los mensajes del grupo',
|
160 |
* 'url_close' => 'url para cerrar el chat',
|
160 |
* 'url_close' => 'url para marcar como cerrado el chat',
|
- |
|
161 |
* 'url_open' => 'url para marcar como abierto el chat',
|
161 |
* 'url_send' => 'url para enviar un mensaje',
|
162 |
* 'url_send' => 'url para enviar un mensaje',
|
162 |
* 'url_upload' => 'url para subir un archivo, imagen o video',
|
163 |
* 'url_upload' => 'url para subir un archivo, imagen o video',
|
163 |
* 'url_get_all_messages' => 'url para para obtener los mensajes',
|
164 |
* 'url_get_all_messages' => 'url para para obtener los mensajes',
|
164 |
* 'url_mark_seen' => 'url para marcar los mensajes como vistos'
|
165 |
* 'url_mark_seen' => 'url para marcar los mensajes como vistos'
|
165 |
* 'url_mark_received' => 'url para marcar los mensajes como recibios'
|
166 |
* 'url_mark_received' => 'url para marcar los mensajes como recibios'
|
Línea 173... |
Línea 174... |
173 |
* 'count_not_received_messages' => 'cantidad de mensajes no recibidos',
|
174 |
* 'count_not_received_messages' => 'cantidad de mensajes no recibidos',
|
174 |
* 'last_message' => 'tiempo desde el ultimo mensaje',
|
175 |
* 'last_message' => 'tiempo desde el ultimo mensaje',
|
175 |
* ],
|
176 |
* ],
|
176 |
* [
|
177 |
* [
|
177 |
* 'url_clear' => 'url para limpiar los mensajes del grupo',
|
178 |
* 'url_clear' => 'url para limpiar los mensajes del grupo',
|
178 |
* 'url_close' => 'url para cerrar el chat',
|
179 |
* 'url_close' => 'url para marcar como cerrado el chat',
|
- |
|
180 |
* 'url_open' => 'url para marcar como abierto el chat',
|
179 |
* 'url_send' => 'url para enviar un mensaje',
|
181 |
* 'url_send' => 'url para enviar un mensaje',
|
180 |
* 'url_upload' => 'url para subir un archivo, imagen o video',
|
182 |
* 'url_upload' => 'url para subir un archivo, imagen o video',
|
181 |
* 'url_get_all_messages' => 'url para para obtener los mensajes',
|
183 |
* 'url_get_all_messages' => 'url para para obtener los mensajes',
|
182 |
* 'url_mark_seen' => 'url para marcar los mensajes como vistos'
|
184 |
* 'url_mark_seen' => 'url para marcar los mensajes como vistos'
|
183 |
* 'url_mark_received' => 'url para marcar los mensajes como recibios'
|
185 |
* 'url_mark_received' => 'url para marcar los mensajes como recibios'
|
184 |
* 'id' => 'id del usuario encriptado',
|
186 |
* 'id' => 'id del usuario encriptado',
|
185 |
* 'name' => 'nombre del usuario',
|
187 |
* 'name' => 'nombre del usuario',
|
186 |
* 'image' => 'imagen del usuario',
|
188 |
* 'image' => 'imagen del usuario',
|
187 |
* 'type' => 'user' //fixed,
|
189 |
* 'type' => 'user' //fixed,
|
188 |
* 'profile' => 'url del profile',
|
190 |
* 'profile' => 'url del profile',
|
Línea 271... |
Línea 273... |
271 |
'url_add_user_to_group' => $this->url()->fromRoute('chat/add-user-to-group', ['group_id' => $chatGroup->uuid]),
|
273 |
'url_add_user_to_group' => $this->url()->fromRoute('chat/add-user-to-group', ['group_id' => $chatGroup->uuid]),
|
272 |
'url_get_contact_group_list' => $this->url()->fromRoute('chat/get-contact-group-list', ['group_id' => $chatGroup->uuid]),
|
274 |
'url_get_contact_group_list' => $this->url()->fromRoute('chat/get-contact-group-list', ['group_id' => $chatGroup->uuid]),
|
273 |
'url_get_contacts_availables_for_group' => $this->url()->fromRoute('chat/get-contacts-availables-for-group', ['group_id' => $chatGroup->uuid]),
|
275 |
'url_get_contacts_availables_for_group' => $this->url()->fromRoute('chat/get-contacts-availables-for-group', ['group_id' => $chatGroup->uuid]),
|
274 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $chatGroup->uuid]),
|
276 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $chatGroup->uuid]),
|
275 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $chatGroup->uuid]),
|
277 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $chatGroup->uuid]),
|
- |
|
278 |
'url_open' => $this->url()->fromRoute('chat/open', ['id' => $chatGroup->uuid]),
|
276 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $chatGroup->uuid]),
|
279 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $chatGroup->uuid]),
|
277 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $chatGroup->uuid]),
|
280 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $chatGroup->uuid]),
|
278 |
'url_get_all_messages' => $this->url()->fromRoute('chat/get-all-messages', ['id' => $chatGroup->uuid]),
|
281 |
'url_get_all_messages' => $this->url()->fromRoute('chat/get-all-messages', ['id' => $chatGroup->uuid]),
|
279 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $chatGroup->uuid]),
|
282 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $chatGroup->uuid]),
|
280 |
'url_mark_received' => $this->url()->fromRoute('chat/mark-received', ['id' => $chatGroup->uuid]),
|
283 |
'url_mark_received' => $this->url()->fromRoute('chat/mark-received', ['id' => $chatGroup->uuid]),
|
Línea 296... |
Línea 299... |
296 |
'url_add_user_to_group' => '',
|
299 |
'url_add_user_to_group' => '',
|
297 |
'url_get_contact_group_list' => $this->url()->fromRoute('chat/get-contact-group-list', ['group_id' => $chatGroup->uuid]),
|
300 |
'url_get_contact_group_list' => $this->url()->fromRoute('chat/get-contact-group-list', ['group_id' => $chatGroup->uuid]),
|
298 |
'url_leave' => $this->url()->fromRoute('chat/leave-group', ['group_id' => $chatGroup->uuid]),
|
301 |
'url_leave' => $this->url()->fromRoute('chat/leave-group', ['group_id' => $chatGroup->uuid]),
|
299 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $chatGroup->uuid]),
|
302 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $chatGroup->uuid]),
|
300 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $chatGroup->uuid]),
|
303 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $chatGroup->uuid]),
|
- |
|
304 |
'url_open' => $this->url()->fromRoute('chat/open', ['id' => $chatGroup->uuid]),
|
301 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $chatGroup->uuid]),
|
305 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $chatGroup->uuid]),
|
302 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $chatGroup->uuid]),
|
306 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $chatGroup->uuid]),
|
303 |
'url_get_all_messages' => $this->url()->fromRoute('chat/get-all-messages', ['id' => $chatGroup->uuid]),
|
307 |
'url_get_all_messages' => $this->url()->fromRoute('chat/get-all-messages', ['id' => $chatGroup->uuid]),
|
304 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $chatGroup->uuid]),
|
308 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $chatGroup->uuid]),
|
305 |
'url_mark_received' => $this->url()->fromRoute('chat/mark-received', ['id' => $chatGroup->uuid]),
|
309 |
'url_mark_received' => $this->url()->fromRoute('chat/mark-received', ['id' => $chatGroup->uuid]),
|
Línea 373... |
Línea 377... |
373 |
|
377 |
|
374 |
|
378 |
|
375 |
$chat = [
|
379 |
$chat = [
|
- |
|
380 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $user->uuid]),
|
376 |
'url_clear' => $this->url()->fromRoute('chat/clear', ['id' => $user->uuid]),
|
381 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $user->uuid]),
|
377 |
'url_close' => $this->url()->fromRoute('chat/close', ['id' => $user->uuid]),
|
382 |
'url_open' => $this->url()->fromRoute('chat/open', ['id' => $user->uuid]),
|
378 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $user->uuid]),
|
383 |
'url_send' => $this->url()->fromRoute('chat/send', ['id' => $user->uuid]),
|
379 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $user->uuid]),
|
384 |
'url_upload' => $this->url()->fromRoute('chat/upload', ['id' => $user->uuid]),
|
380 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $user->uuid]),
|
385 |
'url_mark_seen' => $this->url()->fromRoute('chat/mark-seen', ['id' => $user->uuid]),
|
Línea 892... |
Línea 897... |
892 |
'success' => false,
|
897 |
'success' => false,
|
893 |
'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
|
898 |
'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
|
894 |
];
|
899 |
];
|
895 |
}
|
900 |
}
|
Línea 896... |
Línea -... |
896 |
|
- |
|
897 |
$chatGroupUserMapper->markIsOpen($chatGroupUser->group_id, $chatGroupUser->user_id);
|
901 |
|
Línea 898... |
Línea 902... |
898 |
|
902 |
|
899 |
|
903 |
|
Línea 900... |
Línea 904... |
900 |
$chatGroupMessageMapper = ChatGroupMessageMapper::getInstance($this->adapter);
|
904 |
$chatGroupMessageMapper = ChatGroupMessageMapper::getInstance($this->adapter);
|
Línea 968... |
Línea 972... |
968 |
private function getAllMessagesForChatUser($chatUser, $page = 0)
|
972 |
private function getAllMessagesForChatUser($chatUser, $page = 0)
|
969 |
{
|
973 |
{
|
970 |
$currentUserPlugin = $this->plugin('currentUserPlugin');
|
974 |
$currentUserPlugin = $this->plugin('currentUserPlugin');
|
971 |
$currentUser = $currentUserPlugin->getUser();
|
975 |
$currentUser = $currentUserPlugin->getUser();
|
Línea 972... |
Línea -... |
972 |
|
- |
|
973 |
$chatUserMapper = ChatUserMapper::getInstance($this->adapter);
|
- |
|
974 |
if($currentUser->id == $chatUser->user_id1) {
|
- |
|
975 |
$chatUserMapper->markIsOpen1($chatUser->id);
|
- |
|
976 |
} else {
|
- |
|
977 |
$chatUserMapper->markIsOpen2($chatUser->id);
|
- |
|
Línea 978... |
Línea 976... |
978 |
}
|
976 |
|
979 |
|
977 |
|
980 |
$chatMessageMapper = ChatMessageMapper::getInstance($this->adapter);
|
978 |
$chatMessageMapper = ChatMessageMapper::getInstance($this->adapter);
|
981 |
$paginator = $chatMessageMapper->getAllMessagesPaginatorByChatId($chatUser->id, $page);
|
979 |
$paginator = $chatMessageMapper->getAllMessagesPaginatorByChatId($chatUser->id, $page);
|
Línea 1176... |
Línea 1174... |
1176 |
'data' => 'ERROR_METHOD_NOT_ALLOWED'
|
1174 |
'data' => 'ERROR_METHOD_NOT_ALLOWED'
|
1177 |
]);
|
1175 |
]);
|
1178 |
}
|
1176 |
}
|
Línea 1179... |
Línea 1177... |
1179 |
|
1177 |
|
- |
|
1178 |
}
|
- |
|
1179 |
|
Línea 1180... |
Línea 1180... |
1180 |
}
|
1180 |
|
1181 |
|
1181 |
|
1182 |
/**
|
1182 |
/**
|
1183 |
* Envia un mensaje a un chat individual o grupal
|
1183 |
* Envia un mensaje a un chat individual o grupal
|
Línea 1407... |
Línea 1407... |
1407 |
]);
|
1407 |
]);
|
Línea 1408... |
Línea 1408... |
1408 |
|
1408 |
|
Línea 1409... |
Línea -... |
1409 |
|
- |
|
1410 |
}
|
- |
|
1411 |
|
- |
|
1412 |
if($currentUser->id == $chatUser->user_id1) {
|
- |
|
1413 |
$chatUserMapper->markIsOpen2($chatUser->id);
|
1409 |
|
Línea 1414... |
Línea 1410... |
1414 |
} else {
|
1410 |
}
|
Línea 1415... |
Línea 1411... |
1415 |
$chatUserMapper->markIsOpen1($chatUser->id);
|
1411 |
|
Línea 1821... |
Línea 1817... |
1821 |
|
1817 |
|
1822 |
|
1818 |
|
1823 |
$chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
|
1819 |
$chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
|
1824 |
$chatGroup = $chatGroupMapper->fetchOneByUuid($id);
|
- |
|
1825 |
if ($chatGroup) {
|
1820 |
$chatGroup = $chatGroupMapper->fetchOneByUuid($id);
|
- |
|
1821 |
if ($chatGroup) {
|
- |
|
1822 |
$chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
|
- |
|
1823 |
$chatGroupUser = $chatGroupUserMapper->fetchOneByGroupIdAndUserId($chatGroup->id, $currentUser->id);
|
- |
|
1824 |
|
- |
|
1825 |
if(!$chatGroupUser) {
|
- |
|
1826 |
return new JsonModel([
|
- |
|
1827 |
'success' => false,
|
- |
|
1828 |
'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
|
- |
|
1829 |
]);
|
1826 |
|
1830 |
}
|
Línea 1827... |
Línea 1831... |
1827 |
$chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
|
1831 |
|
Línea 1898... |
Línea 1902... |
1898 |
return new JsonModel([
|
1902 |
return new JsonModel([
|
1899 |
'success' => false,
|
1903 |
'success' => false,
|
1900 |
'data' => 'ERROR_PARAMETERS_ARE_INVALID'
|
1904 |
'data' => 'ERROR_PARAMETERS_ARE_INVALID'
|
1901 |
]);
|
1905 |
]);
|
1902 |
}
|
1906 |
}
|
1903 |
|
1907 |
|
1904 |
$uuid = '';
|
- |
|
Línea 1905... |
Línea 1908... |
1905 |
|
1908 |
|
1906 |
$chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
|
1909 |
$chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
|
1907 |
$chatGroup = $chatGroupMapper->fetchOneByUuid($id);
|
1910 |
$chatGroup = $chatGroupMapper->fetchOneByUuid($id);
|
1908 |
if ($chatGroup) {
|
1911 |
if ($chatGroup) {
|
- |
|
1912 |
$chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
|
- |
|
1913 |
$chatGroupUser = $chatGroupUserMapper->fetchOneByGroupIdAndUserId($chatGroup->id, $currentUser->id);
|
- |
|
1914 |
|
- |
|
1915 |
if(!$chatGroupUser) {
|
- |
|
1916 |
return new JsonModel([
|
- |
|
1917 |
'success' => false,
|
- |
|
1918 |
'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
|
- |
|
1919 |
]);
|
- |
|
1920 |
}
|
1909 |
$chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
|
1921 |
|
1910 |
$chatGroupUserMapper->markIsClose($chatGroup->id, $currentUser->id);
|
1922 |
$chatGroupUserMapper->markIsClose($chatGroup->id, $currentUser->id);
|
Línea 1911... |
Línea 1923... |
1911 |
} else {
|
1923 |
} else {
|
1912 |
|
1924 |
|
Línea 1936... |
Línea 1948... |
1936 |
$userMapper->updateLastActivity($currentUser->id);
|
1948 |
$userMapper->updateLastActivity($currentUser->id);
|
Línea 1937... |
Línea 1949... |
1937 |
|
1949 |
|
1938 |
return new JsonModel([
|
1950 |
return new JsonModel([
|
1939 |
'success' => true
|
1951 |
'success' => true
|
- |
|
1952 |
]);
|
- |
|
1953 |
} else {
|
- |
|
1954 |
return new JsonModel([
|
- |
|
1955 |
'success' => false,
|
- |
|
1956 |
'data' => 'ERROR_METHOD_NOT_ALLOWED'
|
- |
|
1957 |
]);
|
- |
|
1958 |
}
|
- |
|
1959 |
}
|
- |
|
1960 |
|
- |
|
1961 |
/**
|
- |
|
1962 |
* Marca como abierto el caht
|
- |
|
1963 |
* Es una petición POST el url que contiene el ID encriptado del chat (/chat/open/:id) y la cuál se recibe en la función heartBeat.
|
- |
|
1964 |
* Parámetros del route
|
- |
|
1965 |
* :id = id del usuario encriptado
|
- |
|
1966 |
* En caso de una respuesta positiva
|
- |
|
1967 |
* [
|
- |
|
1968 |
* 'success' => true,
|
- |
|
1969 |
* 'data'=> (int) registros_borrados
|
- |
|
1970 |
* ]
|
- |
|
1971 |
* En caso de un respuesta negativa
|
- |
|
1972 |
* [
|
- |
|
1973 |
* 'success' => false,
|
- |
|
1974 |
* 'data' => (string) 'mensaje_de_error'
|
- |
|
1975 |
* ]
|
- |
|
1976 |
* @return \Laminas\View\Model\JsonModel
|
- |
|
1977 |
*/
|
- |
|
1978 |
public function openAction()
|
- |
|
1979 |
{
|
- |
|
1980 |
$request = $this->getRequest();
|
- |
|
1981 |
if($request->isPost()) {
|
- |
|
1982 |
$currentUserPlugin = $this->plugin('currentUserPlugin');
|
- |
|
1983 |
$currentUser = $currentUserPlugin->getUser();
|
- |
|
1984 |
|
- |
|
1985 |
$id = filter_var($this->params()->fromRoute('id'), FILTER_SANITIZE_STRING);
|
- |
|
1986 |
|
- |
|
1987 |
if (!$id) {
|
- |
|
1988 |
return new JsonModel([
|
- |
|
1989 |
'success' => false,
|
- |
|
1990 |
'data' => 'ERROR_PARAMETERS_ARE_INVALID'
|
- |
|
1991 |
]);
|
- |
|
1992 |
}
|
- |
|
1993 |
|
- |
|
1994 |
|
- |
|
1995 |
$chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
|
- |
|
1996 |
$chatGroup = $chatGroupMapper->fetchOneByUuid($id);
|
- |
|
1997 |
if ($chatGroup) {
|
- |
|
1998 |
$chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
|
- |
|
1999 |
$chatGroupUser = $chatGroupUserMapper->fetchOneByGroupIdAndUserId($chatGroup->id, $currentUser->id);
|
- |
|
2000 |
|
- |
|
2001 |
if(!$chatGroupUser) {
|
- |
|
2002 |
return new JsonModel([
|
- |
|
2003 |
'success' => false,
|
- |
|
2004 |
'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
|
- |
|
2005 |
]);
|
- |
|
2006 |
}
|
- |
|
2007 |
|
- |
|
2008 |
$chatGroupUserMapper->markIsOpen($chatGroup->id, $currentUser->id);
|
- |
|
2009 |
} else {
|
- |
|
2010 |
|
- |
|
2011 |
$userMapper = UserMapper::getInstance($this->adapter);
|
- |
|
2012 |
$user = $userMapper->fetchOneByUuid($id);
|
- |
|
2013 |
if(!$user) {
|
- |
|
2014 |
return new JsonModel([
|
- |
|
2015 |
'success' => false,
|
- |
|
2016 |
'data' => 'ERROR_USER_NOT_FOUND'
|
- |
|
2017 |
]);
|
- |
|
2018 |
}
|
- |
|
2019 |
|
- |
|
2020 |
|
- |
|
2021 |
$chatUserMapper = ChatUserMapper::getInstance($this->adapter);
|
- |
|
2022 |
$chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
|
- |
|
2023 |
if($chatUser) {
|
- |
|
2024 |
if($currentUser->id == $chatUser->user_id1) {
|
- |
|
2025 |
$chatUserMapper->markIsOpen1($chatUser->id);
|
- |
|
2026 |
} else {
|
- |
|
2027 |
$chatUserMapper->markIsOpen2($chatUser->id);
|
- |
|
2028 |
}
|
- |
|
2029 |
|
- |
|
2030 |
}
|
- |
|
2031 |
}
|
- |
|
2032 |
|
- |
|
2033 |
|
- |
|
2034 |
$userMapper->updateLastActivity($currentUser->id);
|
- |
|
2035 |
|
- |
|
2036 |
return new JsonModel([
|
- |
|
2037 |
'success' => true
|
1940 |
]);
|
2038 |
]);
|
1941 |
} else {
|
2039 |
} else {
|
1942 |
return new JsonModel([
|
2040 |
return new JsonModel([
|
1943 |
'success' => false,
|
2041 |
'success' => false,
|
1944 |
'data' => 'ERROR_METHOD_NOT_ALLOWED'
|
2042 |
'data' => 'ERROR_METHOD_NOT_ALLOWED'
|