Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 240 Rev 242
Línea 17... Línea 17...
17
use LeadersLinked\Mapper\CommentMapper;
17
use LeadersLinked\Mapper\CommentMapper;
18
use LeadersLinked\Model\ContentReaction;
18
use LeadersLinked\Model\ContentReaction;
19
use LeadersLinked\Model\Comment;
19
use LeadersLinked\Model\Comment;
20
use LeadersLinked\Form\Post\CommentForm;
20
use LeadersLinked\Form\Post\CommentForm;
21
use LeadersLinked\Mapper\ContentReactionMapper;
21
use LeadersLinked\Mapper\ContentReactionMapper;
-
 
22
use LeadersLinked\Model\User;
Línea 22... Línea 23...
22
 
23
 
23
 
24
 
Línea 86... Línea 87...
86
        return new JsonModel([
87
        return new JsonModel([
87
            'success' => false,
88
            'success' => false,
88
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
89
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
89
        ]);
90
        ]);
90
    }
91
    }
-
 
92
    
-
 
93
    public function reactionsAction()
-
 
94
    {
-
 
95
        $id = $this->params()->fromRoute('id');
-
 
96
        
-
 
97
        $request = $this->getRequest();
-
 
98
        $request = $this->getRequest();
-
 
99
        if ($request->isGet()) {
-
 
100
            
-
 
101
            $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
102
            $currentUser = $currentUserPlugin->getUser();
-
 
103
            
-
 
104
            $postMapper = PostMapper::getInstance($this->adapter);
-
 
105
            $post = $postMapper->fetchOneByUuid($id);
-
 
106
            
-
 
107
            
-
 
108
            if (!$post || $post->status != Post::STATUS_ACTIVE) {
-
 
109
                return new JsonModel([
-
 
110
                    'success' => false,
-
 
111
                    'data' => 'ERROR_POST_NOT_AVAILABLE'
-
 
112
                ]);
-
 
113
            }
-
 
114
            
-
 
115
            
-
 
116
            $userMapper = UserMapper::getInstance($this->adapter);
-
 
117
            
-
 
118
            $items = [];
-
 
119
            
-
 
120
            $contentReactionMapper = ContentReactionMapper::getInstance($this->adapter);
-
 
121
            $records = $contentReactionMapper->fetchAllByPostId($post->id);
-
 
122
            
-
 
123
            foreach($records as $record)
-
 
124
            {
-
 
125
                $user = $userMapper->fetchOne($record->user_id);
-
 
126
                if($user && $user->status == User::STATUS_ACTIVE) {
-
 
127
                    
-
 
128
                    array_push($items, [
-
 
129
                        'first_name' => $user->first_name,
-
 
130
                        'last_name' => $user->last_name,
-
 
131
                        'email' => $user->email,
-
 
132
                        'image' => $this->url()->fromRoute('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image], ['force_canonical' => true]),
-
 
133
                        'reaction' => $record->reaction,
-
 
134
                    ]);
-
 
135
                }
-
 
136
            }
-
 
137
            
-
 
138
            $response = [
-
 
139
                'success' => true,
-
 
140
                'data' => $items
-
 
141
            ];
-
 
142
            
-
 
143
            return new JsonModel($response);
-
 
144
            
-
 
145
            
-
 
146
            
-
 
147
            
-
 
148
        } else {
-
 
149
            $response = [
-
 
150
                'success' => false,
-
 
151
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
152
            ];
-
 
153
            
-
 
154
            return new JsonModel($response);
-
 
155
        }
-
 
156
    }
Línea 91... Línea 157...
91
 
157
 
92
    public function viewAction()
158
    public function viewAction()
93
    {
159
    {
94
        $request = $this->getRequest();
160
        $request = $this->getRequest();
Línea 193... Línea 259...
193
                        'type' => $type,
259
                        'type' => $type,
194
                        'added_on' => $post->added_on,
260
                        'added_on' => $post->added_on,
195
                        'share_external_url' =>  $share_external_url,
261
                        'share_external_url' =>  $share_external_url,
196
                        'total_share_external' => $post->total_external_shared,
262
                        'total_share_external' => $post->total_external_shared,
197
                        'share_increment_external_counter_url' => $share_increment_external_counter_url,
263
                        'share_increment_external_counter_url' => $share_increment_external_counter_url,
198
                        'comments_url' => $this->url()->fromRoute('post/comments', ['id' => $post->uuid]),
264
                        'comments_url' => $this->url()->fromRoute('post/comments', ['id' => $post->uuid],['force_canonical' => true]),
199
                        'comments_add_url' => $this->url()->fromRoute('post/comments/add', ['id' => $post->uuid]),
265
                        'comments_add_url' => $this->url()->fromRoute('post/comments/add', ['id' => $post->uuid],['force_canonical' => true]),
200
                        'save_reaction_url' => $this->url()->fromRoute('post/save-reaction', ['id' => $post->uuid]),
266
                        'save_reaction_url' => $this->url()->fromRoute('post/save-reaction', ['id' => $post->uuid],['force_canonical' => true]),
201
                        'delete_reaction_url' =>  $this->url()->fromRoute('post/delete-reaction', ['id' => $post->uuid]),
267
                        'delete_reaction_url' =>  $this->url()->fromRoute('post/delete-reaction', ['id' => $post->uuid],['force_canonical' => true]),
-
 
268
                        'reactions_url' => $this->url()->fromRoute('post/reactions', ['id' => $post->uuid],['force_canonical' => true]),
202
                        'my_reaction' => $reaction ? $reaction->reaction : '',
269
                        'my_reaction' => $reaction ? $reaction->reaction : '',
203
                        'reactions' =>  $reactions,
270
                        'reactions' =>  $reactions,
204
                        //'is_liked' => $contentReaction ? 1 : 0,
271
                        //'is_liked' => $contentReaction ? 1 : 0,
205
                        //'like_url' => $this->url()->fromRoute('post/like', ['id' => $post->uuid]),
272
                        //'like_url' => $this->url()->fromRoute('post/like', ['id' => $post->uuid]),
206
                        //'unlike_url' => $this->url()->fromRoute('post/unlike', ['id' => $post->uuid]),
273
                        //'unlike_url' => $this->url()->fromRoute('post/unlike', ['id' => $post->uuid]),