Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev 198 Rev 199
Línea 27... Línea 27...
27
use LeadersLinked\Form\InMail\SendForm;
27
use LeadersLinked\Form\InMail\SendForm;
28
use LeadersLinked\Model\Message;
28
use LeadersLinked\Model\Message;
29
use LeadersLinked\Model\VideoConvert;
29
use LeadersLinked\Model\VideoConvert;
30
use LeadersLinked\Mapper\VideoConvertMapper;
30
use LeadersLinked\Mapper\VideoConvertMapper;
31
use Laminas\Mvc\I18n\Translator;
31
use Laminas\Mvc\I18n\Translator;
-
 
32
use LeadersLinked\Mapper\AbuseReportMapper;
-
 
33
use LeadersLinked\Model\AbuseReport;
Línea 32... Línea 34...
32
 
34
 
33
class InMailController extends AbstractActionController
35
class InMailController extends AbstractActionController
34
{
36
{
35
    /**
37
    /**
Línea 112... Línea 114...
112
            $currentUserPlugin = $this->plugin('currentUserPlugin');
114
            $currentUserPlugin = $this->plugin('currentUserPlugin');
113
            $currentUser = $currentUserPlugin->getUser();
115
            $currentUser = $currentUserPlugin->getUser();
Línea 114... Línea 116...
114
 
116
 
Línea -... Línea 117...
-
 
117
            $id = $this->params()->fromRoute('id');
-
 
118
 
-
 
119
            $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
120
            $currentUser = $currentUserPlugin->getUser();
-
 
121
            
-
 
122
                $userBlockedMapper = UserBlockedMapper::getInstance($this->adapter);
Línea 115... Línea -...
115
            $id = $this->params()->fromRoute('id');
-
 
116
 
-
 
-
 
123
                $user_blocked_ids = $userBlockedMapper ->fetchAllBlockedReturnIds($currentUser->id);
Línea 117... Línea 124...
117
            
124
            
118
                $currentUserPlugin = $this->plugin('currentUserPlugin');
125
            
Línea 119... Línea 126...
119
                $currentUser = $currentUserPlugin->getUser();
126
 
Línea 134... Línea 141...
134
                    $company = $companyMapper->fetchOneByUuid($id);
141
                    $company = $companyMapper->fetchOneByUuid($id);
135
                    if ($company) {
142
                    if ($company) {
Línea 136... Línea 143...
136
 
143
 
137
                        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
144
                        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
138
                        $companyUser = $companyUserMapper->fetchOwnerByCompanyId($company->id);
145
                        $companyUser = $companyUserMapper->fetchOwnerByCompanyId($company->id);
139
 
146
                        
140
                        $user  = $userMapper->fetchOne($companyUser->user_id);
-
 
141
 
-
 
142
 
-
 
143
                        $selected_user_id = $user->id;
-
 
144
                        $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
145
 
-
 
146
 
-
 
147
                        $timeElapsedString = '';
-
 
148
                        if ($conversation) {
-
 
149
                            $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
-
 
150
                            $lastMessage = $messageMapper->fetchLastUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
-
 
151
 
-
 
152
                            if ($lastMessage) {
-
 
153
                                $timeElapsedString =  $this->timeAgo($lastMessage, $now);
-
 
154
                            }
-
 
155
                        } else {
-
 
156
                            $unread = 0;
-
 
157
                        }
-
 
158
 
-
 
159
 
-
 
160
                        array_push($conversations, [
-
 
161
                            'uuid' => $company->uuid,
-
 
162
                            'name' => $company->name,
-
 
163
                            'image' => $this->url()->fromRoute('storage', ['type' => 'company', 'code' => $company->uuid, 'filename' => $company->image],['force_canonical' => true]),
-
 
164
                            'profile' => $this->url()->fromRoute('company/view', ['id' => $company->uuid]),
-
 
165
                            'last_message' => $timeElapsedString,
-
 
166
                            'count_unread' => $unread,
-
 
167
                            'messages_link' => $this->url()->fromRoute('inmail/message', ['id' => $user->uuid]),
-
 
168
                            'send_link' => $this->url()->fromRoute('inmail/message/send', ['id' => $user->uuid]),
-
 
169
                            'selected' => 1,
-
 
170
                            'delete_link' => $this->url()->fromRoute('inmail/delete',  ['id' => $user->uuid]),
-
 
171
                        ]);
-
 
172
                    } else {
147
                        if(!in_array($companyUser->user_id, $user_blocked_ids)) {
173
                        $user = $userMapper->fetchOneByUuid($id);
-
 
174
                        if ($user) {
148
                            $user  = $userMapper->fetchOne($companyUser->user_id);
175
 
-
 
176
                            $timeElapsedString = '';
149
                            
177
 
150
                            
178
                            $selected_user_id = $user->id;
151
                            $selected_user_id = $user->id;
-
 
152
                            $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
153
                            
-
 
154
                            
179
                            $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
155
                            $timeElapsedString = '';
180
                            if ($conversation) {
156
                            if ($conversation) {
181
                                $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
157
                                $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
-
 
158
                                $lastMessage = $messageMapper->fetchLastUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
182
                                $lastMessage = $messageMapper->fetchLastUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
159
                                
183
                                if ($lastMessage) {
160
                                if ($lastMessage) {
184
                                    $timeElapsedString =  $this->timeAgo($lastMessage, $now);
161
                                    $timeElapsedString =  $this->timeAgo($lastMessage, $now);
185
                                }
162
                                }
186
                            } else {
163
                            } else {
187
                                $unread = 0;
164
                                $unread = 0;
188
                            }
165
                            }
189
 
166
                            
190
 
167
                            
191
                            array_push($conversations, [
168
                            array_push($conversations, [
192
                                'uuid' => $user->uuid,
169
                                'uuid' => $company->uuid,
193
                                'name' => trim($user->first_name . ' ' . $user->last_name),
170
                                'name' => $company->name,
194
                                'image' => $this->url()->fromRoute('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image],['force_canonical' => true]),
171
                                'image' => $this->url()->fromRoute('storage', ['type' => 'company', 'code' => $company->uuid, 'filename' => $company->image],['force_canonical' => true]),
195
                                'profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
172
                                'profile' => $this->url()->fromRoute('company/view', ['id' => $company->uuid]),
196
                                'last_message' => $timeElapsedString,
173
                                'last_message' => $timeElapsedString,
197
                                'count_unread' => $unread,
174
                                'count_unread' => $unread,
198
                                'messages_link' => $this->url()->fromRoute('inmail/message', ['id' => $user->uuid]),
175
                                'messages_link' => $this->url()->fromRoute('inmail/message', ['id' => $user->uuid]),
199
                                'send_link' => $this->url()->fromRoute('inmail/message/send', ['id' => $user->uuid]),
176
                                'send_link' => $this->url()->fromRoute('inmail/message/send', ['id' => $user->uuid]),
200
                                'selected' => 1,
177
                                'selected' => 1,
201
                                'delete_link' => $this->url()->fromRoute('inmail/delete',  ['id' => $user->uuid]),
178
                                'delete_link' => $this->url()->fromRoute('inmail/delete',  ['id' => $user->uuid]),
-
 
179
                            ]);
-
 
180
                            
-
 
181
                        }
-
 
182
                        
-
 
183
 
-
 
184
                        
-
 
185
                    } else {
-
 
186
                        $user = $userMapper->fetchOneByUuid($id);
-
 
187
                        if ($user) {
-
 
188
                            
-
 
189
                            if(!in_array($user->id, $user_blocked_ids)) {
-
 
190
 
-
 
191
                                $timeElapsedString = '';
-
 
192
    
-
 
193
                                $selected_user_id = $user->id;
-
 
194
                                $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
-
 
195
                                if ($conversation) {
-
 
196
                                    $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
-
 
197
                                    $lastMessage = $messageMapper->fetchLastUnreadMessagesByConversationIdAndReceiverId($conversation->id, $currentUser->id);
-
 
198
                                    if ($lastMessage) {
-
 
199
                                        $timeElapsedString =  $this->timeAgo($lastMessage, $now);
-
 
200
                                    }
-
 
201
                                } else {
-
 
202
                                    $unread = 0;
-
 
203
                                }
-
 
204
    
-
 
205
    
-
 
206
                                array_push($conversations, [
-
 
207
                                    'uuid' => $user->uuid,
-
 
208
                                    'name' => trim($user->first_name . ' ' . $user->last_name),
-
 
209
                                    'image' => $this->url()->fromRoute('storage', ['type' => 'user', 'code' => $user->uuid, 'filename' => $user->image],['force_canonical' => true]),
-
 
210
                                    'profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
-
 
211
                                    'last_message' => $timeElapsedString,
-
 
212
                                    'count_unread' => $unread,
-
 
213
                                    'messages_link' => $this->url()->fromRoute('inmail/message', ['id' => $user->uuid]),
-
 
214
                                    'send_link' => $this->url()->fromRoute('inmail/message/send', ['id' => $user->uuid]),
-
 
215
                                    'selected' => 1,
-
 
216
                                    'delete_link' => $this->url()->fromRoute('inmail/delete',  ['id' => $user->uuid]),
-
 
217
                                ]);
202
                            ]);
218
                            }
203
                        }
219
                        }
204
                    }
220
                    }
Línea 219... Línea 235...
219
                    if ($record->sender_id == $currentUser->id) {
235
                    if ($record->sender_id == $currentUser->id) {
220
                        $user = $userMapper->fetchOne($record->receiver_id);
236
                        $user = $userMapper->fetchOne($record->receiver_id);
221
                    }
237
                    }
222
                    if ($record->receiver_id == $currentUser->id) {
238
                    if ($record->receiver_id == $currentUser->id) {
223
                        $user = $userMapper->fetchOne($record->sender_id);
239
                        $user = $userMapper->fetchOne($record->sender_id);
-
 
240
                        
-
 
241
                        if(!in_array($user->id, $user_blocked_ids)) {
-
 
242
                            continue;
-
 
243
                        }
224
                    }
244
                    }
Línea 225... Línea 245...
225
 
245
 
226
                    $timeElapsedString = '';
246
                    $timeElapsedString = '';
227
                    $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($record->id, $currentUser->id);
247
                    $unread = $messageMapper->fetchCountUnreadMessagesByConversationIdAndReceiverId($record->id, $currentUser->id);
Línea 333... Línea 353...
333
                return new JsonModel([
353
                return new JsonModel([
334
                    'success' => false,
354
                    'success' => false,
335
                    'data' => 'ERROR_REQUEST_IS_INVALID'
355
                    'data' => 'ERROR_REQUEST_IS_INVALID'
336
                ]);
356
                ]);
337
            }
357
            }
-
 
358
            
-
 
359
            $abuseReportMapper = AbuseReportMapper::getInstance($this->adapter);
-
 
360
            $abuse_report_message_ids = $abuseReportMapper->fetchAllDataByUserReportingIdAndTypeReturnIds($currentUser->id, AbuseReport::TYPE_INMAIL_MESSAGE);
-
 
361
            
Línea 338... Línea 362...
338
 
362
 
339
            $conversationMapper = ConversationMapper::getInstance($this->adapter);
363
            $conversationMapper = ConversationMapper::getInstance($this->adapter);
Línea 340... Línea 364...
340
            $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
364
            $conversation = $conversationMapper->fetchOneByUserId1AndUserId2($currentUser->id, $user->id);
Línea 364... Línea 388...
364
                            'receiver_profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
388
                            'receiver_profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
365
                            'side' => 'left',
389
                            'side' => 'left',
366
                            'message' => $record->message,
390
                            'message' => $record->message,
367
                            'type' => $record->type,
391
                            'type' => $record->type,
368
                            'filename' => $record->filename ? $this->url()->fromRoute('storage', ['type' => 'message', 'filename' => $record->filename, 'code' => $record->uuid],['force_canonical' => true]) : '',
392
                            'filename' => $record->filename ? $this->url()->fromRoute('storage', ['type' => 'message', 'filename' => $record->filename, 'code' => $record->uuid],['force_canonical' => true]) : '',
369
                            'date' => $timeElapsedString
393
                            'date' => $timeElapsedString,
-
 
394
                            'url_abuse_report' => '',
370
                        ]);
395
                        ]);
371
                    } else {
396
                    } else {
372
 
397
                        
-
 
398
                        if(in_array($record->sender_id, $abuse_report_message_ids)) {
-
 
399
                            
-
 
400
                            array_push($messages, [
-
 
401
                                'uuid' => $record->uuid,
-
 
402
                                'sender_name' => trim($user->first_name . ' ' . $user->last_name),
-
 
403
                                'sender_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $user->image, 'code' => $user->uuid],['force_canonical' => true]),
-
 
404
                                'sender_profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
-
 
405
                                'receiver_name' => trim($currentUser->first_name . ' ' . $currentUser->last_name),
-
 
406
                                'receiver_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $currentUser->image, 'code' => $user->uuid],['force_canonical' => true]),
-
 
407
                                'receiver_profile' => $this->url()->fromRoute('profile/view', ['id' => $currentUser->uuid]),
-
 
408
                                'side' => 'right',
-
 
409
                                'message' => 'LABEL_ABUSE_CONTENT_REPORTED',
-
 
410
                                'type' => Message::TYPE_TEXT,
-
 
411
                                'filename' => '',
-
 
412
                                'date' => $timeElapsedString,
-
 
413
                                'url_abuse_report' => '',
-
 
414
                            ]);
-
 
415
                            
-
 
416
                        } else {
-
 
417
                            $url_abuse_report = $this->url()->fromRoute('helpers/abuse-report', ['type' => 'message', 'id' => $record->uuid], ['force_canonical' => true]);
-
 
418
                        
373
                        array_push($messages, [
419
                            array_push($messages, [
374
                            'uuid' => $record->uuid,
420
                                'uuid' => $record->uuid,
375
                            'sender_name' => trim($user->first_name . ' ' . $user->last_name),
421
                                'sender_name' => trim($user->first_name . ' ' . $user->last_name),
376
                            'sender_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $user->image, 'code' => $user->uuid],['force_canonical' => true]),
422
                                'sender_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $user->image, 'code' => $user->uuid],['force_canonical' => true]),
377
                            'sender_profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
423
                                'sender_profile' => $this->url()->fromRoute('profile/view', ['id' => $user->uuid]),
378
                            'receiver_name' => trim($currentUser->first_name . ' ' . $currentUser->last_name),
424
                                'receiver_name' => trim($currentUser->first_name . ' ' . $currentUser->last_name),
379
                            'receiver_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $currentUser->image, 'code' => $user->uuid],['force_canonical' => true]),
425
                                'receiver_image' => $this->url()->fromRoute('storage', ['type' => 'user', 'filename' => $currentUser->image, 'code' => $user->uuid],['force_canonical' => true]),
380
                            'receiver_profile' => $this->url()->fromRoute('profile/view', ['id' => $currentUser->uuid]),
426
                                'receiver_profile' => $this->url()->fromRoute('profile/view', ['id' => $currentUser->uuid]),
381
                            'side' => 'right',
427
                                'side' => 'right',
382
                            'message' => $record->message,
428
                                'message' => $record->message,
383
                            'type' => $record->type,
429
                                'type' => $record->type,
384
                            'filename' => $record->filename ? $this->url()->fromRoute('storage', ['type' => 'message', 'filename' => $record->filename, 'code' => $record->uuid],['force_canonical' => true]) : '',
430
                                'filename' => $record->filename ? $this->url()->fromRoute('storage', ['type' => 'message', 'filename' => $record->filename, 'code' => $record->uuid],['force_canonical' => true]) : '',
385
                            'date' => $timeElapsedString
431
                                'date' => $timeElapsedString,
-
 
432
                                'url_abuse_report' => $url_abuse_report,
-
 
433
                            ]);
386
                        ]);
434
                        }
Línea 387... Línea 435...
387
 
435
 
388
                        $messageMapper->markAsRead($record->id);
436
                        $messageMapper->markAsRead($record->id);
389
                    }
437
                    }