Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 17280 Rev 17283
Línea 776... Línea 776...
776
    }
776
    }
Línea 777... Línea 777...
777
 
777
 
778
 
778
 
-
 
779
    public function timelineAction()
-
 
780
    {
-
 
781
        try {
779
    public function timelineAction()
782
            $request = $this->getRequest();
780
    {
783
            
781
        $currentUserPlugin = $this->plugin('currentUserPlugin');
784
            $currentUserPlugin = $this->plugin('currentUserPlugin');
782
        $currentUser = $currentUserPlugin->getUser();
-
 
783
        $currentCompany = $currentUserPlugin->getCompany();
-
 
784
 
-
 
785
 
-
 
786
 
785
            $currentUser = $currentUserPlugin->getUser();
787
 
786
            $currentCompany = $currentUserPlugin->getCompany();
788
 
787
 
-
 
788
            if (!$request->isGet()) {
-
 
789
                return new JsonModel([
-
 
790
                    'success' => false,
-
 
791
                    'data' => 'ERROR_METHOD_NOT_ALLOWED'
Línea 789... Línea 792...
789
        $request = $this->getRequest();
792
                ]);
790
        if ($request->isGet()) {
793
            }
Línea -... Línea 794...
-
 
794
 
-
 
795
            $page = (int) $this->params()->fromQuery('page');
-
 
796
            $myt_id = $this->params()->fromRoute('myt_id');
791
 
797
            
792
            $page   = (int) $this->params()->fromQuery('page');
-
 
793
            $myt_id = $this->params()->fromRoute('myt_id');
798
            $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
799
            $feedMapper = FeedMapper::getInstance($this->adapter);
-
 
800
            
-
 
801
            if ($myt_id) {
-
 
802
                $now = $feedMapper->getDatebaseNow();
-
 
803
                $myt = $feedMapper->fetchOneByUuid($myt_id);
-
 
804
                
-
 
805
                if (!$myt) {
-
 
806
                    return new JsonModel([
Línea 794... Línea -...
794
            
-
 
795
            if ($myt_id) {
-
 
796
                $feedMapper = FeedMapper::getInstance($this->adapter);
807
                        'success' => false,
797
                $now = $feedMapper->getDatebaseNow();
808
                        'data' => 'ERROR_MYT_NOT_FOUND'
798
                
809
                    ]);
799
                $myt  = $feedMapper->fetchOneByUuid($myt_id);
810
                }
800
                $queryMapper = QueryMapper::getInstance($this->adapter);
811
                
801
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
812
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
802
                $select->columns(['id']);
813
                $select->columns(['id']);
803
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
814
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
804
                $select->where->equalTo('company_id', $currentCompany->id);
-
 
805
                $select->where->equalTo('myt_id', $myt->id);
-
 
806
                $select->where->and->equalTo('type', Feed::TYPE_MYT_ANSWER);
815
                $select->where->equalTo('company_id', $currentCompany->id);
Línea 807... Línea 816...
807
                $select->order('added_on desc');
816
                $select->where->equalTo('myt_id', $myt->id);
808
            } else {
817
                $select->where->equalTo('type', Feed::TYPE_MYT_ANSWER);
809
 
818
                $select->order('added_on desc');
810
                $queryMapper = QueryMapper::getInstance($this->adapter);
819
            } else {
811
                $now = $queryMapper->getDatebaseNow();
820
                $now = $queryMapper->getDatebaseNow();
812
                
821
                
813
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
-
 
814
                $select->columns(['id']);
-
 
815
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
-
 
816
                $select->where->equalTo('company_id', $currentCompany->id);
822
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
Línea 817... Línea -...
817
                $select->where->and->equalTo('type', Feed::TYPE_COMPANY);
-
 
818
                $select->order('added_on desc');
-
 
819
                
823
                $select->columns(['id']);
820
                //echo $select->getSqlString($this->adapter->platform); exit;
824
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
821
                
825
                $select->where->equalTo('company_id', $currentCompany->id);
822
            }
826
                $select->where->equalTo('type', Feed::TYPE_COMPANY);
Línea 823... Línea 827...
823
 
827
                $select->order('added_on desc');
824
 
828
            }
825
 
829
 
826
            $dbSelect = new \Laminas\Paginator\Adapter\DbSelect($select, $this->adapter);
830
            $dbSelect = new \Laminas\Paginator\Adapter\DbSelect($select, $this->adapter);
827
            $paginator = new \Laminas\Paginator\Paginator($dbSelect);
831
            $paginator = new \Laminas\Paginator\Paginator($dbSelect);
-
 
832
            $paginator->setCurrentPageNumber($page ? $page : 1);
-
 
833
            $paginator->setItemCountPerPage(10);
-
 
834
 
828
            $paginator->setCurrentPageNumber($page ? $page : 1);
835
            $items = [];
Línea 829... Línea 836...
829
            $paginator->setItemCountPerPage(10);
836
            $feeds = $paginator->getCurrentItems();
830
 
837
            
831
            $items = [];
838
            foreach ($feeds as $feed) {
832
            $feeds = $paginator->getCurrentItems();
839
                $renderedFeed = $this->renderFeed($feed->id, $now);
833
 
840
                if ($renderedFeed) {
834
            foreach ($feeds as $feed) {
841
                    $items[] = $renderedFeed;
Línea 846... Línea 853...
846
                        'items'    => $items,
853
                        'items'    => $items,
847
                        'page'     => $paginator->getCurrentPageNumber(),
854
                        'page'     => $paginator->getCurrentPageNumber(),
848
                        'count'    => $paginator->getCurrentItemCount(),
855
                        'count'    => $paginator->getCurrentItemCount(),
849
                    ]
856
                    ]
850
                ]
857
                ]
851
            ];
858
            ]);
852
 
859
            
-
 
860
        } catch (\Throwable $th) {
-
 
861
            $this->logger->error('Error al obtener el timeline: ' . $th->getMessage(), ['user_id' => $currentUser->id, 'ip' => Functions::getUserIP()]);
853
            return new JsonModel($response);
862
            return new JsonModel([
-
 
863
                'success' => false,
-
 
864
                'data' => $th->getMessage()
-
 
865
            ]);
854
        }
866
        }
855
 
-
 
856
        $response = [
-
 
857
            'success' => false,
-
 
858
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
859
        ];
-
 
860
 
-
 
861
 
-
 
862
        return new JsonModel($response);
-
 
863
    }
867
    }
Línea 864... Línea 868...
864
 
868
 
865
    public function oneFeedAction()
869
    public function oneFeedAction()