Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 16252 Rev 16262
Línea 4... Línea 4...
4
 
4
 
Línea 5... Línea 5...
5
namespace LeadersLinked\Controller;
5
namespace LeadersLinked\Controller;
6
 
6
 
-
 
7
use LeadersLinked\Library\Zoom;
7
use LeadersLinked\Library\Zoom;
8
use Laminas\Log\LoggerInterface;
8
use Laminas\Log\LoggerInterface;
9
use LeadersLinked\Model\Network;
9
use Laminas\View\Model\JsonModel;
10
use Laminas\View\Model\JsonModel;
10
use Laminas\View\Model\ViewModel;
11
use Laminas\View\Model\ViewModel;
11
use LeadersLinked\Model\ChatUser;
12
use LeadersLinked\Model\ChatUser;
Línea 2774... Línea 2775...
2774
        } else {
2775
        } else {
2775
            $response = [
2776
            $response = [
2776
                'success' => false,
2777
                'success' => false,
2777
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
2778
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
2778
            ];
2779
            ];
-
 
2780
        }
-
 
2781
 
-
 
2782
        return new JsonModel($response);
-
 
2783
    }
-
 
2784
 
-
 
2785
 
-
 
2786
    public function usersAction()
-
 
2787
    {
-
 
2788
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
2789
        $currentUser = $currentUserPlugin->getUser();
-
 
2790
        $currentNetworkPlugin = $this->plugin('currentNetworkPlugin');
-
 
2791
        $currentNetwork = $currentNetworkPlugin->getNetwork();
-
 
2792
        $request = $this->getRequest();
-
 
2793
 
-
 
2794
        if ($request->isGet()) {
-
 
2795
            $items = [];
-
 
2796
            $chatUserMapper = ChatUserMapper::getInstance($this->adapter);
-
 
2797
            $search = trim(filter_var($this->params()->fromQuery('search', ''), FILTER_SANITIZE_STRING));
-
 
2798
 
-
 
2799
            if (strlen($search) >= 3) {
-
 
2800
                $user_ids = [];
-
 
2801
                $userMapper = UserMapper::getInstance($this->adapter);
-
 
2802
 
-
 
2803
                if ($currentNetwork->relationship_user_mode == Network::RELATIONSHIP_USER_MODE_USER_2_USER) {
-
 
2804
 
-
 
2805
                    $connectionMapper = ConnectionMapper::getInstance($this->adapter);
-
 
2806
                    $user_ids = $connectionMapper->fetchAllConnectionsByUserReturnIds($currentUser->id);
-
 
2807
                } else {
-
 
2808
                    if ($currentNetwork->default == Network::DEFAULT_YES) {
-
 
2809
                        $user_ids = $userMapper->fetchAllIdsByDefaultNetworkId($currentNetwork->id, $currentUser->id);
-
 
2810
                    } else {
-
 
2811
                        $user_ids = $userMapper->fetchAllIdsByNonDefaultNetworkId($currentNetwork->id, $currentUser->id);
-
 
2812
                    }
-
 
2813
                }
-
 
2814
 
-
 
2815
                $items = [];
-
 
2816
                $records = $userMapper->fetchAllByIdsAndSearch($user_ids, $search, $currentUser->id);
-
 
2817
 
-
 
2818
                foreach ($records as $record) {
-
 
2819
                    $chatUser = $chatUserMapper->fetchOneByUserId1AndUserId2($currentUser->id, $record->id);
-
 
2820
                    if ($chatUser) {
-
 
2821
                        $link_send = $this->url()->fromRoute('chat/send', ['id' => $record->uuid]);
-
 
2822
                    } else {
-
 
2823
                        $link_send = '';
-
 
2824
                    }
-
 
2825
 
-
 
2826
                    $link_open_or_create = $this->url()->fromRoute('chat/open-or-create', ['id' => $record->uuid]);
-
 
2827
                    array_push($items, [
-
 
2828
                        'name'  => trim($record->first_name .  '  ' . $record->last_name) . ' (' . $record->email . ')',
-
 
2829
                        'image' => $this->url()->fromRoute('storage', ['code' => $record->uuid, 'type' => 'user', 'filename' => $record->image]),
-
 
2830
                        'link_send' => $link_send,
-
 
2831
                        'link_open_or_create' => $link_open_or_create,
-
 
2832
                    ]);
-
 
2833
                }
-
 
2834
            }
-
 
2835
 
-
 
2836
            $response = [
-
 
2837
                'success' => true,
-
 
2838
                'data' => $items
-
 
2839
            ];
-
 
2840
        } else {
-
 
2841
            $response = [
-
 
2842
                'success' => false,
-
 
2843
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
2844
            ];
2779
        }
2845
        }
Línea 2780... Línea 2846...
2780
 
2846
 
2781
        return new JsonModel($response);
2847
        return new JsonModel($response);
2782
    }
2848
    }