Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 179 Rev 192
Línea 45... Línea 45...
45
use LeadersLinked\Model\EmailTemplate;
45
use LeadersLinked\Model\EmailTemplate;
46
use LeadersLinked\Library\QueueEmail;
46
use LeadersLinked\Library\QueueEmail;
47
use LeadersLinked\Mapper\FastSurveyMapper;
47
use LeadersLinked\Mapper\FastSurveyMapper;
48
use LeadersLinked\Mapper\FastSurveyVoteMapper;
48
use LeadersLinked\Mapper\FastSurveyVoteMapper;
49
use LeadersLinked\Model\FastSurveyVote;
49
use LeadersLinked\Model\FastSurveyVote;
-
 
50
use LeadersLinked\Mapper\AbuseReportMapper;
-
 
51
use LeadersLinked\Mapper\UserBlockedMapper;
-
 
52
use LeadersLinked\Model\AbuseReport;
Línea 50... Línea 53...
50
 
53
 
51
 
54
 
52
class FeedController extends AbstractActionController
55
class FeedController extends AbstractActionController
Línea 1172... Línea 1175...
1172
 
1175
 
1173
    public function timelineAction()
1176
    public function timelineAction()
Línea -... Línea 1177...
-
 
1177
    {
-
 
1178
        
-
 
1179
 
1174
    {
1180
        
1175
        
1181
        
Línea 1176... Línea 1182...
1176
 
1182
 
Línea 1204... Línea 1210...
1204
 
1210
 
1205
 
1211
 
Línea -... Línea 1212...
-
 
1212
        $request = $this->getRequest();
-
 
1213
        if ($request->isGet()) {
-
 
1214
            
-
 
1215
            $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
-
 
1216
            $user_blocked_ids = $userBlockedMapper->fetchAllBlockedReturnIds($currentUser->id);
-
 
1217
            
-
 
1218
            $abuseReportMapper = AbuseReportMapper::getInstance($this->adapter);
-
 
1219
            $abuse_report_feed_ids = $abuseReportMapper->fetchAllDataByUserReportingIdAndTypeReturnIds($currentUser->id, AbuseReport::TYPE_FEED);
-
 
1220
            
-
 
1221
            $abuse_report_comment_ids = $abuseReportMapper->fetchAllDataByUserReportingIdAndTypeReturnIds($currentUser->id, AbuseReport::TYPE_COMMENT);
1206
        $request = $this->getRequest();
1222
            
Línea 1207... Línea 1223...
1207
        if ($request->isGet()) {
1223
            
Línea 1208... Línea 1224...
1208
            
1224
            
Línea 1303... Línea 1319...
1303
                    ->UNNEST;
1319
                    ->UNNEST;
Línea 1304... Línea 1320...
1304
                
1320
                
1305
                if($exclude_feed_ids) {
1321
                if($exclude_feed_ids) {
1306
                    $select->where->notIn('id', $exclude_feed_ids);        
1322
                    $select->where->notIn('id', $exclude_feed_ids);        
-
 
1323
                }
-
 
1324
                if($abuse_report_feed_ids) {
-
 
1325
                    $select->where->notIn('id', $abuse_report_feed_ids);
-
 
1326
                }
-
 
1327
                if($user_blocked_ids) {
-
 
1328
                    $select->where->notIn('user_id', $user_blocked_ids);
Línea 1307... Línea 1329...
1307
                }
1329
                }
1308
                    
1330
                    
1309
                    
1331
                    
Línea 1345... Línea 1367...
1345
                $select->where->and->equalTo('type', Feed::TYPE_COMPANY);
1367
                $select->where->and->equalTo('type', Feed::TYPE_COMPANY);
Línea 1346... Línea 1368...
1346
                
1368
                
1347
                if($exclude_feed_ids) {
1369
                if($exclude_feed_ids) {
1348
                    $select->where->notIn('id', $exclude_feed_ids);
1370
                    $select->where->notIn('id', $exclude_feed_ids);
-
 
1371
                }
-
 
1372
                if($abuse_report_feed_ids) {
-
 
1373
                    $select->where->notIn('id', $abuse_report_feed_ids);
-
 
1374
                }
-
 
1375
                if($user_blocked_ids) {
-
 
1376
                    $select->where->notIn('user_id', $user_blocked_ids);
Línea 1349... Línea 1377...
1349
                }
1377
                }
1350
                
1378
                
1351
                $select->order('added_on desc');
1379
                $select->order('added_on desc');
1352
            }
1380
            }
Línea 1384... Línea 1412...
1384
                ->or->equalTo('type', Feed::TYPE_UPDATE)->unnest();
1412
                ->or->equalTo('type', Feed::TYPE_UPDATE)->unnest();
Línea 1385... Línea 1413...
1385
                
1413
                
1386
                if($exclude_feed_ids) {
1414
                if($exclude_feed_ids) {
1387
                    $select->where->notIn('id', $exclude_feed_ids);
1415
                    $select->where->notIn('id', $exclude_feed_ids);
-
 
1416
                }
-
 
1417
                if($abuse_report_feed_ids) {
-
 
1418
                    $select->where->notIn('id', $abuse_report_feed_ids);
-
 
1419
                }
-
 
1420
                if($user_blocked_ids) {
-
 
1421
                    $select->where->notIn('user_id', $user_blocked_ids);
Línea 1388... Línea 1422...
1388
                }
1422
                }
1389
                
1423
                
Línea 1390... Línea 1424...
1390
                $select->order('added_on desc');
1424
                $select->order('added_on desc');
Línea 1399... Línea 1433...
1399
 
1433
 
Línea 1400... Línea 1434...
1400
 
1434
 
1401
            if ($feedHighlighted) {
1435
            if ($feedHighlighted) {
Línea 1402... Línea 1436...
1402
 
1436
 
1403
 
1437
 
1404
                $items[] = $this->renderFeed($feedHighlighted, $now, $feedHighlighted);
1438
                $items[] = $this->renderFeed($feedHighlighted, $now, $feedHighlighted,  $user_blocked_ids , $abuse_report_comment_ids);
1405
            }
1439
            }
Línea 1406... Línea 1440...
1406
 
1440
 
1407
            $feeds = $paginator->getCurrentItems();
1441
            $feeds = $paginator->getCurrentItems();
1408
            foreach ($feeds as $feed) {
1442
            foreach ($feeds as $feed) {
Línea 1516... Línea 1550...
1516
 
1550
 
1517
 
1551
 
1518
    /**
1552
    /**
-
 
1553
     * 
-
 
1554
     * @param int $feed_id
1519
     * 
1555
     * @param int[] $user_blocked_ids
1520
     * @param int $feed_id
1556
     * @param int[] $abuse_report_comment_ids
1521
     * @return array
1557
     * @return array
1522
     */
1558
     */
1523
    private function renderFeed($feed_id, $now, $feedHighlighted = 0)
1559
    private function renderFeed($feed_id, $now, $feedHighlighted = 0,  $user_blocked_ids  = [], $abuse_report_comment_ids = [])
1524
    {
1560
    {
Línea 1525... Línea 1561...
1525
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1561
        $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 1602... Línea 1638...
1602
            'feed_uuid' => $feed->uuid,
1638
            'feed_uuid' => $feed->uuid,
1603
            'feed_my_reaction' => $reaction ? $reaction->reaction : '',
1639
            'feed_my_reaction' => $reaction ? $reaction->reaction : '',
1604
            'feed_delete_url' =>  '',
1640
            'feed_delete_url' =>  '',
1605
            'feed_content_type' => $feed->file_type ? $feed->file_type : '',
1641
            'feed_content_type' => $feed->file_type ? $feed->file_type : '',
1606
            'feed_reactions' => $reactions,
1642
            'feed_reactions' => $reactions,
1607
            'feed_save_reaction_url' =>  $this->url()->fromRoute('feed/save-reaction', ['id' => $feed->uuid]),
1643
            'feed_save_reaction_url' =>  $this->url()->fromRoute('feed/save-reaction', ['id' => $feed->uuid], ['force_canonical' => true]),
1608
            'feed_highlighted' => $feed->id == $feedHighlighted ? 1 : 0,
1644
            'feed_highlighted' => $feed->id == $feedHighlighted ? 1 : 0,
-
 
1645
            'feed_abuse_report_url' => $feed->user_id == $currentUser->id ? '' : $this->url()->fromRoute('helpers/abuse-report', ['type' => 'feed', 'id' => $feed->uuid], ['force_canonical' => true]),
1609
            //'is_liked' => $contentReaction ? 1 : 0,
1646
            //'is_liked' => $contentReaction ? 1 : 0,
1610
            //'like_url' => $this->url()->fromRoute('post/like', ['id' => $post->uuid]),
1647
            //'like_url' => $this->url()->fromRoute('post/like', ['id' => $post->uuid]),
1611
            //'unlike_url' => $this->url()->fromRoute('post/unlike', ['id' => $post->uuid]),
1648
            //'unlike_url' => $this->url()->fromRoute('post/unlike', ['id' => $post->uuid]),
Línea 1612... Línea 1649...
1612
 
1649
 
Línea 1685... Línea 1722...
1685
            }
1722
            }
1686
        }
1723
        }
Línea 1687... Línea 1724...
1687
 
1724
 
1688
        $userMapper = UserMapper::getInstance($this->adapter);
1725
        $userMapper = UserMapper::getInstance($this->adapter);
-
 
1726
        $user = $userMapper->fetchOne($feed->user_id);
-
 
1727
        
Línea 1689... Línea 1728...
1689
        $user = $userMapper->fetchOne($feed->user_id);
1728
       
1690
 
1729
 
1691
        if ($feed->posted_or_shared == Feed::SHARED) {
1730
        if ($feed->posted_or_shared == Feed::SHARED) {
1692
            $item['owner_url'] = $this->url()->fromRoute('profile/view', ['id' => $user->uuid]);
1731
            $item['owner_url'] = $this->url()->fromRoute('profile/view', ['id' => $user->uuid],['force_canonical' => true]);
1693
            $item['owner_image'] = $this->url()->fromRoute('storage', ['code' => $user->uuid, 'type' => 'user', 'filename' => $user->image],['force_canonical' => true]);
1732
            $item['owner_image'] = $this->url()->fromRoute('storage', ['code' => $user->uuid, 'type' => 'user', 'filename' => $user->image],['force_canonical' => true]);
Línea 1694... Línea 1733...
1694
            $item['owner_name'] = $user->first_name . ' ' . $user->last_name;
1733
            $item['owner_name'] = $user->first_name . ' ' . $user->last_name;
Línea 1810... Línea 1849...
1810
            
1849
            
1811
            $item['comment_add_url'] = $this->url()->fromRoute('feed/comment', ['id' => $feed->uuid]);
1850
            $item['comment_add_url'] = $this->url()->fromRoute('feed/comment', ['id' => $feed->uuid]);
Línea 1812... Línea 1851...
1812
            $item['comments'] = [];
1851
            $item['comments'] = [];
1813
 
1852
 
Línea 1814... Línea 1853...
1814
            $commentMapper = CommentMapper::getInstance($this->adapter);
1853
            $commentMapper = CommentMapper::getInstance($this->adapter);
1815
            $records = $commentMapper->fetchAllPublishedByFeedId($feed->id);
1854
            $records = $commentMapper->fetchAllPublishedByFeedId($feed->id , $user_blocked_ids, $abuse_report_comment_ids);
Línea 1816... Línea 1855...
1816
    
1855
    
Línea 1833... Línea 1872...
1833
                    'user_name' => $user->first_name . ' ' . $user->last_name,
1872
                    'user_name' => $user->first_name . ' ' . $user->last_name,
1834
                    'company' => $owner,
1873
                    'company' => $owner,
1835
                    'user_image' => $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image],['force_canonical' => true]),
1874
                    'user_image' => $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image],['force_canonical' => true]),
1836
                    'time_elapsed' => Functions::timeAgo($record->added_on, $now),
1875
                    'time_elapsed' => Functions::timeAgo($record->added_on, $now),
1837
                    'comment' => $record->comment,
1876
                    'comment' => $record->comment,
-
 
1877
                    'link_abuse_report' => $user->id == $currentUser ? '' : $this->url()->fromRoute('helpers/abuse-report', ['type' => 'comment', 'id' => $record->uuid], ['force_canonical' => true]),
1838
                    'link_delete' => $link_delete
1878
                    'link_delete' => $link_delete
1839
                ]);
1879
                ]);
1840
            }
1880
            }
Línea 1841... Línea 1881...
1841
            
1881
            
Línea 1857... Línea 1897...
1857
     * @param int $comment_id
1897
     * @param int $comment_id
1858
     * @return array
1898
     * @return array
1859
     */
1899
     */
1860
    private function renderComment($comment_id, $now)
1900
    private function renderComment($comment_id, $now)
1861
    {
1901
    {
-
 
1902
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
1903
        $currentUser = $currentUserPlugin->getUser();
-
 
1904
        
1862
        $item = [];
1905
        $item = [];
Línea 1863... Línea 1906...
1863
 
1906
 
1864
        $commentMapper = CommentMapper::getInstance($this->adapter);
1907
        $commentMapper = CommentMapper::getInstance($this->adapter);
Línea 1876... Línea 1919...
1876
            //$item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image],['force_canonical' => true]);
1919
            //$item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image],['force_canonical' => true]);
1877
            $item['user_url'] = $this->url()->fromRoute('profile', ['id' => $user->uuid]);
1920
            $item['user_url'] = $this->url()->fromRoute('profile', ['id' => $user->uuid]);
1878
            $item['user_name'] = $user->first_name . ' ' . $user->last_name;
1921
            $item['user_name'] = $user->first_name . ' ' . $user->last_name;
1879
            $item['time_elapsed'] = Functions::timeAgo($record->added_on, $now);
1922
            $item['time_elapsed'] = Functions::timeAgo($record->added_on, $now);
1880
            $item['comment'] = $record->comment;
1923
            $item['comment'] = $record->comment;
-
 
1924
            $item['link_abuse_report'] = $user->id == $currentUser ? '' : $this->url()->fromRoute('helpers/abuse-report', ['type' => 'comment', 'id' => $record->uuid], ['force_canonical' => true]);
1881
            $item['link_delete'] = $this->url()->fromRoute('feed/comment/delete', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1925
            $item['link_delete'] = $this->url()->fromRoute('feed/comment/delete', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1882
        }
1926
        }
1883
        return $item;
1927
        return $item;
1884
    }
1928
    }