Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14590 | Rev 14685 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 14590 Rev 14627
Línea 27... Línea 27...
27
use LeadersLinked\Model\ChatGroupUser;
27
use LeadersLinked\Model\ChatGroupUser;
28
use LeadersLinked\Mapper\UtilMapper;
28
use LeadersLinked\Mapper\UtilMapper;
Línea 29... Línea 29...
29
 
29
 
30
 
30
 
31
class ChatController extends AbstractActionController
-
 
32
{
-
 
33
    const SESSION_CHAT_OPEN_BOXES = 'chat_open_boxes';
-
 
34
    
31
class ChatController extends AbstractActionController
35
    
32
{ 
36
    /**
33
    /**
37
     *
34
     *
38
     * @var AdapterInterface
35
     * @var AdapterInterface
Línea 69... Línea 66...
69
        $this->adapter  = $adapter;
66
        $this->adapter  = $adapter;
70
        $this->cache    = $cache;
67
        $this->cache    = $cache;
71
        $this->logger   = $logger;
68
        $this->logger   = $logger;
72
        $this->config   = $config;
69
        $this->config   = $config;
Línea 73... Línea 70...
73
        
70
        
74
 
-
 
75
        if(!isset($_SESSION[self::SESSION_CHAT_OPEN_BOXES])) {
-
 
76
            $_SESSION[self::SESSION_CHAT_OPEN_BOXES] = [];
-
 
Línea 77... Línea 71...
77
        }
71
 
Línea 78... Línea 72...
78
 
72
 
79
    }
73
    }
Línea 234... Línea 228...
234
                foreach ($results as $r) 
228
                foreach ($results as $r) 
235
                {
229
                {
Línea 236... Línea 230...
236
                    
230
                    
237
                    $chatGroup = $chatGroupMapper->fetchOne($r->group_id); 
231
                    $chatGroup = $chatGroupMapper->fetchOne($r->group_id); 
-
 
232
                    $chatUserOwner = $chatGroupUserMapper->fetchOwnerByGroupId($chatGroup->id);
Línea 238... Línea 233...
238
                    $chatUserOwner = $chatGroupUserMapper->fetchOwnerByGroupId($chatGroup->id);
233
                    $chatUser = $chatGroupUserMapper->fetchOneByGroupIdAndUserId($chatGroup->id, $currentUser->id);
239
                    
234
                    
240
                    
235
                    
241
                    $is_open = in_array($chatGroup->uuid, $_SESSION[self::SESSION_CHAT_OPEN_BOXES]);
236
                    $is_open = $chatUser->open == ChatUser::OPEN_YES;
242
                    $not_seen_messages     = $chatGroupUserMessageMapper->existNotSeenMessages($chatGroup->id, $currentUser->id);
237
                    $not_seen_messages     = $chatGroupUserMessageMapper->existNotSeenMessages($chatGroup->id, $currentUser->id);
243
                    $not_received_messages = $chatGroupUserMessageMapper->existNotReceivedMessages($chatGroup->id, $currentUser->id);
238
                    $not_received_messages = $chatGroupUserMessageMapper->existNotReceivedMessages($chatGroup->id, $currentUser->id);
Línea 336... Línea 331...
336
                    
331
                    
Línea 337... Línea 332...
337
                    $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
332
                    $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
333
                    
-
 
334
                    
338
                    
335
                    if($chatUser) {
-
 
336
                        
-
 
337
                        if($currentUser->id == $chatUser->user_id1) {
-
 
338
                            $is_open = $chatUser->user_open1 == ChatUser::OPEN_YES;
339
                    
339
                        } else {
340
                    if($chatUser) {
340
                            $is_open = $chatUser->user_open2 == ChatUser::OPEN_YES;
341
                        $is_open = in_array($chatUser->uuid, $_SESSION[self::SESSION_CHAT_OPEN_BOXES]);
341
                        }
342
                        $not_received_messages = $chatMessageMapper->existNotReceivedMessagesByChatIdAndToId($chatUser->id, $currentUser->id);
342
                        $not_received_messages = $chatMessageMapper->existNotReceivedMessagesByChatIdAndToId($chatUser->id, $currentUser->id);
343
                        $not_seen_messages = $chatMessageMapper->existNotSeenMessagesByChatIdAndToId($chatUser->id, $currentUser->id);
343
                        $not_seen_messages = $chatMessageMapper->existNotSeenMessagesByChatIdAndToId($chatUser->id, $currentUser->id);
Línea 868... Línea 868...
868
                'success' => false,
868
                'success' => false,
869
                'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
869
                'data' => 'ERROR_CHAT_GROUP_YOU_NOT_MEMBER'
870
            ];
870
            ];
871
        }
871
        }
Línea 872... Línea -...
872
        
-
 
873
        if(!in_array(trim($chatGroup->uuid), $_SESSION[self::SESSION_CHAT_OPEN_BOXES])) {
872
        
874
            $_SESSION[self::SESSION_CHAT_OPEN_BOXES][] = $chatGroup->uuid;
873
        $chatGroupUserMapper->markIsOpen($chatGroupUser->group_id, $chatGroupUser->user_id);
Línea 875... Línea 874...
875
        }
874
    
876
        
875
        
Línea 877... Línea 876...
877
        $chatGroupMessageMapper = ChatGroupMessageMapper::getInstance($this->adapter);
876
        $chatGroupMessageMapper = ChatGroupMessageMapper::getInstance($this->adapter);
Línea 942... Línea 941...
942
     */
941
     */
943
    private function getAllMessagesForChatUser($chatUser, $page = 0)
942
    private function getAllMessagesForChatUser($chatUser, $page = 0)
944
    {
943
    {
945
        $currentUserPlugin = $this->plugin('currentUserPlugin');
944
        $currentUserPlugin = $this->plugin('currentUserPlugin');
946
        $currentUser = $currentUserPlugin->getUser();
945
        $currentUser = $currentUserPlugin->getUser();
-
 
946
        $chatUserMapper = ChatUserMapper::getInstance($this->adapter)  ;
Línea 947... Línea 947...
947
        
947
        
948
        if(!in_array(trim($chatUser->uuid), $_SESSION[self::SESSION_CHAT_OPEN_BOXES])) {
948
        if($currentUser->id == $chatUser->user_id1) {
-
 
949
            $chatUserMapper->markIsOpen1($currentUser->id);
-
 
950
        } else {
949
            $_SESSION[self::SESSION_CHAT_OPEN_BOXES][] = $chatUser->uuid;
951
            $chatUserMapper->markIsOpen2($currentUser->id);
Línea 950... Línea 952...
950
        }
952
        }
951
        
953
        
952
        $chatMessageMapper = ChatMessageMapper::getInstance($this->adapter);
954
        $chatMessageMapper = ChatMessageMapper::getInstance($this->adapter);
Línea 1268... Línea 1270...
1268
                                'data' => $chatGroupUserMessageMapper->getError()
1270
                                'data' => $chatGroupUserMessageMapper->getError()
1269
                            ]);
1271
                            ]);
1270
                        }
1272
                        }
1271
                    }
1273
                    }
1272
                }
1274
                }
-
 
1275
                
-
 
1276
                $userMapper->updateLastActivity($currentUser->id);
Línea 1273... Línea 1277...
1273
                    
1277
                    
1274
                $msgtime = $this->timeAgo($now, $now);
1278
                $msgtime = $this->timeAgo($now, $now);
1275
                return new JsonModel([
1279
                return new JsonModel([
1276
                    'success' => true,
1280
                    'success' => true,
Línea 1355... Línea 1359...
1355
                }
1359
                }
Línea 1356... Línea 1360...
1356
                
1360
                
Línea 1357... Línea 1361...
1357
                $chatMessage = $chatMessageMapper->fetchOne($chatMessage->id);
1361
                $chatMessage = $chatMessageMapper->fetchOne($chatMessage->id);
-
 
1362
 
-
 
1363
                $msgtime = $this->timeAgo($chatMessage->added_on, $now);
1358
 
1364
                $userMapper->updateLastActivity($currentUser->id);
1359
                $msgtime = $this->timeAgo($chatMessage->added_on, $now);
1365
                
1360
                return new JsonModel([
1366
                return new JsonModel([
1361
                    'success' => true,
1367
                    'success' => true,
1362
                    'data' => [
1368
                    'data' => [
Línea 1484... Línea 1490...
1484
                    'image'     => $image,
1490
                    'image'     => $image,
1485
                    'online'    => $user->online,
1491
                    'online'    => $user->online,
1486
                ]);
1492
                ]);
1487
            } 
1493
            } 
Línea -... Línea 1494...
-
 
1494
            
Línea 1488... Línea 1495...
1488
            
1495
            $userMapper->updateLastActivity($currentUser->id);
1489
            
1496
            
1490
            return new JsonModel([
1497
            return new JsonModel([
1491
                'success' => true,
1498
                'success' => true,
Línea 1608... Línea 1615...
1608
                    'image'                 => $image,
1615
                    'image'                 => $image,
1609
                    'online'                => $user->online,
1616
                    'online'                => $user->online,
1610
                ]);
1617
                ]);
Línea 1611... Línea 1618...
1611
                    
1618
                    
-
 
1619
            }
-
 
1620
            
Línea 1612... Línea 1621...
1612
            }
1621
            $userMapper->updateLastActivity($currentUser->id);
1613
                
1622
                
1614
            return new JsonModel([
1623
            return new JsonModel([
1615
                'success' => true, 
1624
                'success' => true, 
Línea 1719... Línea 1728...
1719
                    
1728
                    
1720
            $fullpath_chat = $this->config['leaderslinked.fullpath.chat'];
1729
            $fullpath_chat = $this->config['leaderslinked.fullpath.chat'];
Línea 1721... Línea 1730...
1721
            $dirpath = $fullpath_chat . $chatGroup->uuid;
1730
            $dirpath = $fullpath_chat . $chatGroup->uuid;
1722
                        
1731
                        
-
 
1732
            Functions::rmDirRecursive($dirpath);
-
 
1733
                   
-
 
1734
            $userMapper = UserMapper::getInstance($this->adapter);
1723
            Functions::rmDirRecursive($dirpath);
1735
            $userMapper->updateLastActivity($currentUser->id);
1724
                        
1736
            
1725
            return new JsonModel([
1737
            return new JsonModel([
Línea 1767... Línea 1779...
1767
                    'success' => false,
1779
                    'success' => false,
1768
                    'data' => 'ERROR_PARAMETERS_ARE_INVALID'
1780
                    'data' => 'ERROR_PARAMETERS_ARE_INVALID'
1769
                ]);
1781
                ]);
1770
            }
1782
            }
Línea 1771... Línea -...
1771
            
-
 
Línea 1772... Línea 1783...
1772
            $uuid = '';
1783
            
1773
            
1784
            
1774
            $chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
1785
            $chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
-
 
1786
            $chatGroup = $chatGroupMapper->fetchOneByUuid($id);
1775
            $chatGroup = $chatGroupMapper->fetchOneByUuid($id);
1787
            if ($chatGroup) {
1776
            if ($chatGroup) {
1788
                $chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
Línea 1777... Línea 1789...
1777
                $uuid = $chatGroup->uuid;
1789
                $chatGroupUserMapper->markIsClose($chatGroup->id, $currentUser->id);
1778
            } else {
1790
            } else {
1779
                
1791
                
Línea 1788... Línea 1800...
1788
                
1800
                
1789
                
1801
                
1790
                $chatUserMapper = ChatUserMapper::getInstance($this->adapter);
1802
                $chatUserMapper = ChatUserMapper::getInstance($this->adapter);
1791
                $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
1803
                $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
1804
                if($chatUser) {
-
 
1805
                    if($currentUser->id == $chatUser->user_id1) {
-
 
1806
                        $chatUserMapper->markIsClose1($currentUser->id);
-
 
1807
                    } else {
1792
                if($chatUser) {
1808
                        $chatUserMapper->markIsClose2($currentUser->id);
1793
                    $uuid = $chatUser->uuid;
1809
                    }
Línea 1794... Línea -...
1794
                }
-
 
1795
            }
-
 
1796
            
1810
                }
1797
            if($uuid) {
-
 
-
 
1811
            }
1798
                $_SESSION[self::SESSION_CHAT_OPEN_BOXES] = array_filter($_SESSION[self::SESSION_CHAT_OPEN_BOXES], function($var) use($uuid)  {
1812
            
Línea 1799... Línea 1813...
1799
                    return $uuid != $var;
1813
            $userMapper->updateLastActivity($currentUser->id);
1800
                });
1814
            
1801
            }
1815
 
1802
              
1816
              
Línea 1842... Línea 1856...
1842
                    'success' => false,
1856
                    'success' => false,
1843
                    'data' => 'ERROR_PARAMETERS_ARE_INVALID'
1857
                    'data' => 'ERROR_PARAMETERS_ARE_INVALID'
1844
                ]);
1858
                ]);
1845
            }
1859
            }
Línea 1846... Línea -...
1846
            
-
 
-
 
1860
            
Línea 1847... Línea 1861...
1847
            $uuid = '';
1861
 
1848
            
1862
            
1849
            $chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
1863
            $chatGroupMapper = ChatGroupMapper::getInstance($this->adapter);
-
 
1864
            $chatGroup = $chatGroupMapper->fetchOneByUuid($id);
1850
            $chatGroup = $chatGroupMapper->fetchOneByUuid($id);
1865
            if ($chatGroup) {
1851
            if ($chatGroup) {
1866
                $chatGroupUserMapper = ChatGroupUserMapper::getInstance($this->adapter);
Línea 1852... Línea 1867...
1852
                $uuid = $chatGroup->uuid;
1867
                $chatGroupUserMapper->markIsClose($chatGroup->id, $currentUser->id);
1853
            } else {
1868
            } else {
1854
                
1869
                
Línea 1863... Línea 1878...
1863
                
1878
                
1864
                
1879
                
1865
                $chatUserMapper = ChatUserMapper::getInstance($this->adapter);
1880
                $chatUserMapper = ChatUserMapper::getInstance($this->adapter);
1866
                $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
1881
                $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
1882
                if($chatUser) {
-
 
1883
                    if($currentUser->id == $chatUser->user_id1) {
-
 
1884
                        $chatUserMapper->markIsClose1($currentUser->id);
-
 
1885
                    } else {
1867
                if($chatUser) {
1886
                        $chatUserMapper->markIsClose2($currentUser->id);
1868
                    $uuid = $chatUser->uuid;
1887
                    }
Línea 1869... Línea -...
1869
                }
-
 
1870
            }
-
 
1871
            
1888
                }
1872
            if($uuid) {
-
 
1873
                $_SESSION[self::SESSION_CHAT_OPEN_BOXES] = array_filter($_SESSION[self::SESSION_CHAT_OPEN_BOXES], function($var) use($uuid)  {
1889
            }
Línea 1874... Línea 1890...
1874
                    return $uuid != $var;
1890
            
1875
                });
1891
            $userMapper->updateLastActivity($currentUser->id);
1876
            }
1892
 
1877
            
1893
            
Línea 2032... Línea 2048...
2032
                        
2048
                        
2033
             
2049
             
Línea -... Línea 2050...
-
 
2050
                    }
-
 
2051
                }
2034
                    }
2052
                
2035
                }
2053
                $userMapper->updateLastActivity($currentUser->id);
Línea 2036... Línea 2054...
2036
                
2054
                
2037
                $utilMapper = UtilMapper::getInstance($this->adapter);
2055
                $utilMapper = UtilMapper::getInstance($this->adapter);
Línea 2105... Línea 2123...
2105
                        'success' => false,
2123
                        'success' => false,
2106
                        'data' =>  $chatMessageMapper->getError()
2124
                        'data' =>  $chatMessageMapper->getError()
2107
                    ]);
2125
                    ]);
2108
                }
2126
                }
Línea -... Línea 2127...
-
 
2127
                
-
 
2128
                
-
 
2129
                $userMapper->updateLastActivity($currentUser->id);
2109
                
2130
                
Línea 2110... Línea 2131...
2110
                $chatMessage = $chatMessageMapper->fetchOne($chatMessage->id);
2131
                $chatMessage = $chatMessageMapper->fetchOne($chatMessage->id);
2111
                
2132