Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 15455 Rev 16322
Línea 1... Línea 1...
1
<?php
1
<?php
-
 
2
 
2
/**
3
/**
3
 * 
4
 * 
4
 * Controlador: Mis Perfiles 
5
 * Controlador: Mis Perfiles 
5
 * 
6
 * 
6
 */
7
 */
-
 
8
 
7
declare(strict_types=1);
9
declare(strict_types=1);
Línea 8... Línea 10...
8
 
10
 
Línea 9... Línea 11...
9
namespace LeadersLinked\Controller;
11
namespace LeadersLinked\Controller;
Línea 51... Línea 53...
51
    /**
53
    /**
52
     *
54
     *
53
     * @var AdapterInterface
55
     * @var AdapterInterface
54
     */
56
     */
55
    private $adapter;
57
    private $adapter;
56
    
58
 
57
    
59
 
58
    /**
60
    /**
59
     *
61
     *
60
     * @var AbstractAdapter
62
     * @var AbstractAdapter
61
     */
63
     */
62
    private $cache;
64
    private $cache;
63
    
65
 
64
    /**
66
    /**
65
     *
67
     *
66
     * @var  LoggerInterface
68
     * @var  LoggerInterface
67
     */
69
     */
68
    private $logger;
70
    private $logger;
Línea 69... Línea 71...
69
 
71
 
70
    
72
 
71
    /**
73
    /**
72
     *
74
     *
73
     * @var array
75
     * @var array
74
     */
76
     */
75
    private $config;
77
    private $config;
76
    
78
 
77
    /**
79
    /**
78
     *
80
     *
79
     * @param AdapterInterface $adapter
81
     * @param AdapterInterface $adapter
80
     * @param AbstractAdapter $cache
82
     * @param AbstractAdapter $cache
81
     * @param LoggerInterface $logger
83
     * @param LoggerInterface $logger
82
     * @param array $config
84
     * @param array $config
83
     */
85
     */
84
    public function __construct($adapter, $cache , $logger,  $config)
86
    public function __construct($adapter, $cache, $logger,  $config)
85
    {
87
    {
86
        $this->adapter      = $adapter;
88
        $this->adapter      = $adapter;
87
        $this->cache        = $cache;
89
        $this->cache        = $cache;
88
        $this->logger       = $logger;
90
        $this->logger       = $logger;
89
        $this->config       = $config;
-
 
90
 
91
        $this->config       = $config;
91
    }
92
    }
92
    
93
 
93
    /**
94
    /**
94
     * 
95
     * 
95
     * Generación del listado de perfiles
96
     * Generación del listado de perfiles
96
     * {@inheritDoc}
97
     * {@inheritDoc}
Línea 99... Línea 100...
99
    public function indexAction()
100
    public function indexAction()
100
    {
101
    {
101
        $currentUserPlugin = $this->plugin('currentUserPlugin');
102
        $currentUserPlugin = $this->plugin('currentUserPlugin');
102
        $currentUser = $currentUserPlugin->getUser();
103
        $currentUser = $currentUserPlugin->getUser();
103
        $currentCompany = $currentUserPlugin->getCompany();
104
        $currentCompany = $currentUserPlugin->getCompany();
104
        
105
 
105
      
106
 
Línea 106... Línea 107...
106
 
107
 
107
        $request = $this->getRequest();
108
        $request = $this->getRequest();
108
        if($request->isGet()) {
109
        if ($request->isGet()) {
109
            $headers  = $request->getHeaders();
110
            $headers  = $request->getHeaders();
110
            
111
 
111
            $isJson = false;
112
            $isJson = false;
112
            if($headers->has('Accept')) {
113
            if ($headers->has('Accept')) {
113
                $accept = $headers->get('Accept');
114
                $accept = $headers->get('Accept');
114
                
115
 
115
                $prioritized = $accept->getPrioritized();
116
                $prioritized = $accept->getPrioritized();
116
                
117
 
117
                foreach($prioritized as $key => $value) {
118
                foreach ($prioritized as $key => $value) {
118
                    $raw = trim($value->getRaw());
119
                    $raw = trim($value->getRaw());
119
                    
120
 
120
                    if(!$isJson) {
121
                    if (!$isJson) {
121
                        $isJson = strpos($raw, 'json');
122
                        $isJson = strpos($raw, 'json');
122
                    }
-
 
123
                    
123
                    }
124
                }
124
                }
125
            }
125
            }
126
            
126
 
127
            $formFeed = new CreateFeedForm($this->adapter);
127
            $formFeed = new CreateFeedForm($this->adapter);
128
           
128
 
129
            $this->layout()->setTemplate('layout/layout-backend');
129
            $this->layout()->setTemplate('layout/layout-backend');
130
            $viewModel = new ViewModel();
130
            $viewModel = new ViewModel();
131
            $viewModel->setTemplate('leaders-linked/feeds/index.phtml');
131
            $viewModel->setTemplate('leaders-linked/feeds/index.phtml');
132
            $viewModel->setVariables([
132
            $viewModel->setVariables([
133
                'formFeed'      => $formFeed,
133
                'formFeed'      => $formFeed,
134
            ]);
134
            ]);
135
            return $viewModel ;
-
 
136
            
-
 
137
            
135
            return $viewModel;
138
        } else {
136
        } else {
139
            return new JsonModel([
137
            return new JsonModel([
140
                'success' => false,
138
                'success' => false,
141
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
139
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
142
            ]);
140
            ]);
143
        }
141
        }
144
    }
142
    }
145
    
143
 
146
    
144
 
147
    public function commentAction()
145
    public function commentAction()
148
    {
146
    {
Línea 149... Línea 147...
149
    
147
 
150
 
148
 
151
        $currentUserPlugin = $this->plugin('currentUserPlugin');
149
        $currentUserPlugin = $this->plugin('currentUserPlugin');
152
        $currentUser = $currentUserPlugin->getUser();
150
        $currentUser = $currentUserPlugin->getUser();
153
        $currentCompany = $currentUserPlugin->getCompany();
151
        $currentCompany = $currentUserPlugin->getCompany();
154
        
152
 
155
        
153
 
156
        $id = $this->params()->fromRoute('id');
154
        $id = $this->params()->fromRoute('id');
157
        
155
 
158
        $request = $this->getRequest();
156
        $request = $this->getRequest();
159
        if($request->isPost()) {
157
        if ($request->isPost()) {
160
            $feedMapper = FeedMapper::getInstance($this->adapter);
158
            $feedMapper = FeedMapper::getInstance($this->adapter);
161
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
159
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
162
            if(!$feed) {
160
            if (!$feed) {
163
                $response = [
161
                $response = [
164
                    'success' => false,
162
                    'success' => false,
165
                    'data' => 'ERROR_POST_NOT_FOUND'
163
                    'data' => 'ERROR_POST_NOT_FOUND'
166
                ];
164
                ];
167
                return new JsonModel($response);
165
                return new JsonModel($response);
168
            }
166
            }
169
            
167
 
170
            if($feed->company_id != $currentCompany->id) {
168
            if ($feed->company_id != $currentCompany->id) {
171
                $response = [
169
                $response = [
172
                    'success' => false,
170
                    'success' => false,
173
                    'data' => 'ERROR_UNAUTHORIZED'
171
                    'data' => 'ERROR_UNAUTHORIZED'
174
                ];
172
                ];
175
                return new JsonModel($response);
173
                return new JsonModel($response);
176
            }
174
            }
177
            
175
 
178
            $dataPost = $request->getPost()->toArray();
176
            $dataPost = $request->getPost()->toArray();
179
            $form = new CommentForm();
177
            $form = new CommentForm();
180
            $form->setData($dataPost);
178
            $form->setData($dataPost);
181
            
179
 
182
            if($form->isValid()) {
180
            if ($form->isValid()) {
183
                $utilMapper = UtilMapper::getInstance($this->adapter);
181
                $utilMapper = UtilMapper::getInstance($this->adapter);
184
                $now = $utilMapper->getDatebaseNow();
182
                $now = $utilMapper->getDatebaseNow();
185
                
183
 
186
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
184
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
187
                $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
185
                $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
188
                
186
 
189
                $dataPost = (array) $form->getData();
187
                $dataPost = (array) $form->getData();
190
                $comment = new Comment();
188
                $comment = new Comment();
191
                $comment->comment = $dataPost['comment'];
189
                $comment->comment = $dataPost['comment'];
192
                $comment->feed_id = $feed->id;
190
                $comment->feed_id = $feed->id;
193
                $comment->network_id = $currentUser->network_id;
191
                $comment->network_id = $currentUser->network_id;
194
                
192
 
195
                if($feed->type=='hptg'){
193
                if ($feed->type == 'hptg') {
196
                    $comment->user_id = $currentUser->id;
194
                    $comment->user_id = $currentUser->id;
197
                } else if($feed->type=='mytq'){
-
 
198
                    $comment->user_id = $currentCompany->id;
195
                } else if ($feed->type == 'mytq') {
199
                }
196
                    $comment->user_id = $currentCompany->id;
200
                else{
197
                } else {
201
                    $comment->user_id = $owner->user_id;
198
                    $comment->user_id = $owner->user_id;
202
                }
199
                }
203
                
200
 
204
                $commentMapper = CommentMapper::getInstance($this->adapter);
201
                $commentMapper = CommentMapper::getInstance($this->adapter);
205
                if($commentMapper->insert($comment)) {
202
                if ($commentMapper->insert($comment)) {
206
                    
203
 
207
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
204
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
208
                    
205
 
209
                    $feed->total_comments = $total_comments;
206
                    $feed->total_comments = $total_comments;
210
                    $feedMapper->update($feed);
207
                    $feedMapper->update($feed);
211
                    
208
 
212
                    $response = [
209
                    $response = [
213
                        'success'   => true,
210
                        'success'   => true,
214
                        'data'   => $this->renderComment($comment->id, $now),
211
                        'data'   => $this->renderComment($comment->id, $now),
215
                        'total_comments' => $total_comments
212
                        'total_comments' => $total_comments
216
                    ];
213
                    ];
217
                    
-
 
218
                    return new JsonModel($response);
214
 
219
                    
215
                    return new JsonModel($response);
220
                } else {
216
                } else {
221
                    
217
 
222
                    $response = [
218
                    $response = [
223
                        'success'   => false,
219
                        'success'   => false,
224
                        'data'   => $commentMapper->getError()
220
                        'data'   => $commentMapper->getError()
225
                    ];
221
                    ];
226
                    
222
 
227
                    return new JsonModel($response);
-
 
228
                }
223
                    return new JsonModel($response);
229
                
224
                }
230
            } else {
225
            } else {
231
                $message = '';;
226
                $message = '';;
232
                $form_messages = (array) $form->getMessages();
-
 
233
                foreach($form_messages  as $fieldname => $field_messages)
227
                $form_messages = (array) $form->getMessages();
234
                {
-
 
235
                    foreach( $field_messages as $key => $value)
228
                foreach ($form_messages  as $fieldname => $field_messages) {
236
                    {
229
                    foreach ($field_messages as $key => $value) {
237
                        $message = $value;
230
                        $message = $value;
238
                    }
231
                    }
239
                }
232
                }
240
                
233
 
241
                $response = [
234
                $response = [
242
                    'success'   => false,
235
                    'success'   => false,
243
                    'data'   => $message
236
                    'data'   => $message
244
                ];
237
                ];
245
                
238
 
246
                return new JsonModel($response);
-
 
247
            }
-
 
248
            
239
                return new JsonModel($response);
249
            
240
            }
250
        } else {
241
        } else {
251
            $response = [
242
            $response = [
252
                'success' => false,
243
                'success' => false,
253
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
244
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
254
            ];
245
            ];
255
            
246
 
256
            return new JsonModel($response);
-
 
257
        }
-
 
258
        
247
            return new JsonModel($response);
Línea 259... Línea 248...
259
        
248
        }
260
    }
249
    }
261
 
250
 
262
    public function answerAction()
251
    public function answerAction()
263
    {
252
    {
264
    
253
 
265
       
254
 
266
        $currentUserPlugin = $this->plugin('currentUserPlugin');
255
        $currentUserPlugin = $this->plugin('currentUserPlugin');
267
        $currentUser = $currentUserPlugin->getUser();
256
        $currentUser = $currentUserPlugin->getUser();
268
        $currentCompany = $currentUserPlugin->getCompany();
257
        $currentCompany = $currentUserPlugin->getCompany();
269
        
258
 
270
        
259
 
271
        $id = $this->params()->fromRoute('id');
260
        $id = $this->params()->fromRoute('id');
272
        $comment_uuid = $this->params()->fromRoute('comment');
261
        $comment_uuid = $this->params()->fromRoute('comment');
273
        
262
 
274
        $request = $this->getRequest();
263
        $request = $this->getRequest();
275
        if($request->isPost()) {
264
        if ($request->isPost()) {
276
            $feedMapper = FeedMapper::getInstance($this->adapter);
265
            $feedMapper = FeedMapper::getInstance($this->adapter);
277
            $feed = $feedMapper->fetchOneByUuid($id);
266
            $feed = $feedMapper->fetchOneByUuid($id);
278
            if(!$feed) {
267
            if (!$feed) {
279
                $response = [
268
                $response = [
280
                    'success' => false,
269
                    'success' => false,
281
                    'data' => 'ERROR_POST_NOT_FOUND'
270
                    'data' => 'ERROR_POST_NOT_FOUND'
282
                ];
271
                ];
283
                return new JsonModel($response);
272
                return new JsonModel($response);
284
            }
273
            }
285
            
274
 
286
            if($feed->company_id != $currentCompany->id) {
275
            if ($feed->company_id != $currentCompany->id) {
287
                $response = [
276
                $response = [
288
                    'success' => false,
277
                    'success' => false,
289
                    'data' => 'ERROR_UNAUTHORIZED'
278
                    'data' => 'ERROR_UNAUTHORIZED'
290
                ];
279
                ];
291
                return new JsonModel($response);
280
                return new JsonModel($response);
292
            }
281
            }
293
           
282
 
294
            $dataPost = $request->getPost()->toArray();
283
            $dataPost = $request->getPost()->toArray();
295
            $form = new CommentAnswerForm();
284
            $form = new CommentAnswerForm();
296
            $form->setData($dataPost);
285
            $form->setData($dataPost);
297
            
286
 
298
            if($form->isValid()) {
287
            if ($form->isValid()) {
299
                
288
 
300
                $utilMapper = UtilMapper::getInstance($this->adapter);
289
                $utilMapper = UtilMapper::getInstance($this->adapter);
301
                $now = $utilMapper->getDatebaseNow();
290
                $now = $utilMapper->getDatebaseNow();
302
                
291
 
303
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
292
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
304
                $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
293
                $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
305
                
294
 
306
                $dataPost = (array) $form->getData();
295
                $dataPost = (array) $form->getData();
307
                $answer = new Comment();
-
 
308
                $answer->comment = $dataPost['answer'];
-
 
309
                $answer->feed_id = $feed->id;
-
 
Línea -... Línea 296...
-
 
296
                $answer = new Comment();
-
 
297
                $answer->comment = $dataPost['answer'];
310
                
298
                $answer->feed_id = $feed->id;
311
                if($feed->type=='hptg'){
299
 
312
                    $answer->user_id = $currentUser->id;
-
 
313
 
300
                if ($feed->type == 'hptg') {
Línea 314... Línea 301...
314
                }else{
301
                    $answer->user_id = $currentUser->id;
315
                    $answer->user_id = $owner->user_id;
302
                } else {
316
 
303
                    $answer->user_id = $owner->user_id;
317
                }
304
                }
318
 
305
 
319
                $commentMapper = CommentMapper::getInstance($this->adapter);
306
                $commentMapper = CommentMapper::getInstance($this->adapter);
320
                $comment=$commentMapper->fetchOneByUuid($comment_uuid);
307
                $comment = $commentMapper->fetchOneByUuid($comment_uuid);
321
                $answer->parent_id = $comment->id;
308
                $answer->parent_id = $comment->id;
322
                
309
 
323
                if($commentMapper->insert($answer)) {
310
                if ($commentMapper->insert($answer)) {
324
                    
311
 
325
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
312
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
326
                    
313
 
327
                    $feed->total_comments = $total_comments;
314
                    $feed->total_comments = $total_comments;
328
                    $feedMapper->update($feed);
315
                    $feedMapper->update($feed);
329
                    
316
 
330
                    $response = [
317
                    $response = [
331
                        'success'   => true,
318
                        'success'   => true,
332
                        'data'   => $this->renderComment($answer->id, $now),
-
 
333
                        'total_comments' => $total_comments
319
                        'data'   => $this->renderComment($answer->id, $now),
334
                    ];
320
                        'total_comments' => $total_comments
335
                    
321
                    ];
336
                    return new JsonModel($response);
322
 
337
                    
323
                    return new JsonModel($response);
338
                } else {
324
                } else {
339
                    
325
 
340
                    $response = [
326
                    $response = [
341
                        'success'   => false,
327
                        'success'   => false,
342
                        'data'   => $commentMapper->getError()
-
 
343
                    ];
328
                        'data'   => $commentMapper->getError()
344
                    
329
                    ];
345
                    return new JsonModel($response);
330
 
346
                }
331
                    return new JsonModel($response);
347
                
-
 
348
            } else {
332
                }
349
                $message = '';;
-
 
350
                $form_messages = (array) $form->getMessages();
333
            } else {
351
                foreach($form_messages  as $fieldname => $field_messages)
334
                $message = '';;
352
                {
335
                $form_messages = (array) $form->getMessages();
353
                    foreach( $field_messages as $key => $value)
336
                foreach ($form_messages  as $fieldname => $field_messages) {
354
                    {
337
                    foreach ($field_messages as $key => $value) {
355
                        $message = $value;
338
                        $message = $value;
356
                    }
339
                    }
357
                }
340
                }
358
                
341
 
359
                $response = [
342
                $response = [
360
                    'success'   => false,
343
                    'success'   => false,
361
                    'data'   => $message
-
 
362
                ];
-
 
363
                
344
                    'data'   => $message
364
                return new JsonModel($response);
345
                ];
365
            }
346
 
366
            
347
                return new JsonModel($response);
367
            
348
            }
368
        } else {
349
        } else {
369
            $response = [
350
            $response = [
370
                'success' => false,
351
                'success' => false,
371
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
-
 
372
            ];
-
 
373
            
352
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
Línea 374... Línea 353...
374
            return new JsonModel($response);
353
            ];
375
        }
354
 
376
        
355
            return new JsonModel($response);
377
        
356
        }
378
    }
357
    }
379
 
358
 
380
    
359
 
381
    
360
 
382
    public function commentDeleteAction()
361
    public function commentDeleteAction()
383
    {
362
    {
384
        $currentUserPlugin = $this->plugin('currentUserPlugin');
363
        $currentUserPlugin = $this->plugin('currentUserPlugin');
385
        $currentUser = $currentUserPlugin->getUser();
364
        $currentUser = $currentUserPlugin->getUser();
386
        $currentCompany = $currentUserPlugin->getCompany();
365
        $currentCompany = $currentUserPlugin->getCompany();
387
        
366
 
388
        $request = $this->getRequest();
367
        $request = $this->getRequest();
389
        if($request->isPost()) {
368
        if ($request->isPost()) {
390
            $currentUserPlugin = $this->plugin('currentUserPlugin');
369
            $currentUserPlugin = $this->plugin('currentUserPlugin');
391
            $currentUser = $currentUserPlugin->getUser();
370
            $currentUser = $currentUserPlugin->getUser();
392
            
371
 
393
            $id = $this->params()->fromRoute('id');
372
            $id = $this->params()->fromRoute('id');
394
            $comment = $this->params()->fromRoute('comment');
373
            $comment = $this->params()->fromRoute('comment');
395
            
374
 
396
            $feedMapper = FeedMapper::getInstance($this->adapter);
375
            $feedMapper = FeedMapper::getInstance($this->adapter);
397
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
376
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
398
            if(!$feed) {
377
            if (!$feed) {
399
                $response = [
378
                $response = [
400
                    'success' => false,
379
                    'success' => false,
401
                    'data' => 'ERROR_POST_NOT_FOUND'
380
                    'data' => 'ERROR_POST_NOT_FOUND'
402
                ];
381
                ];
403
                return new JsonModel($response);
382
                return new JsonModel($response);
404
            }
383
            }
405
            
384
 
406
            if($feed->company_id != $currentCompany->id) {
385
            if ($feed->company_id != $currentCompany->id) {
407
                $response = [
386
                $response = [
408
                    'success' => false,
387
                    'success' => false,
409
                    'data' => 'ERROR_UNAUTHORIZED'
388
                    'data' => 'ERROR_UNAUTHORIZED'
410
                ];
389
                ];
411
                return new JsonModel($response);
390
                return new JsonModel($response);
412
            }
391
            }
413
            
392
 
414
            $commentMapper = CommentMapper::getInstance($this->adapter);
393
            $commentMapper = CommentMapper::getInstance($this->adapter);
415
            $comment = $commentMapper->fetchOneByUuid($comment);
394
            $comment = $commentMapper->fetchOneByUuid($comment);
416
                
395
 
417
            if($comment && $comment->feed_id == $feed->id) {
396
            if ($comment && $comment->feed_id == $feed->id) {
418
                $comment->status = Comment::STATUS_DELETED;
397
                $comment->status = Comment::STATUS_DELETED;
419
                if($commentMapper->update($comment)) {
398
                if ($commentMapper->update($comment)) {
420
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
399
                    $total_comments = $commentMapper->fetchCountCommentByFeedId($comment->feed_id);
421
                        
400
 
422
                    $feed = $feedMapper->fetchOne($comment->feed_id);
401
                    $feed = $feedMapper->fetchOne($comment->feed_id);
423
                    $feed->total_comments = $total_comments;
402
                    $feed->total_comments = $total_comments;
424
                    $feedMapper->update($feed);
403
                    $feedMapper->update($feed);
425
                        
404
 
426
                        
405
 
427
                        
406
 
428
                        
407
 
429
                        
408
 
430
                    $response = [
409
                    $response = [
431
                        'success' => true,
410
                        'success' => true,
432
                        'data' => [ 
411
                        'data' => [
433
                            'message' => 'LABEL_COMMENT_WAS_DELETED',
412
                            'message' => 'LABEL_COMMENT_WAS_DELETED',
434
                            'total_comments' => $total_comments
413
                            'total_comments' => $total_comments
435
                        ]    
414
                        ]
436
                   ];
415
                    ];
437
                } else {
-
 
438
                    $response = [
416
                } else {
439
                        'success' => false,
417
                    $response = [
440
                        'data' => $commentMapper->getError()
418
                        'success' => false,
441
                    ];
419
                        'data' => $commentMapper->getError()
442
                }
420
                    ];
443
                    
421
                }
444
            } else {
-
 
445
                $response = [
422
            } else {
446
                    'success' => false,
423
                $response = [
447
                    'data' => 'ERROR_COMMENT_NOT_FOUND'
424
                    'success' => false,
448
                ];
425
                    'data' => 'ERROR_COMMENT_NOT_FOUND'
449
            }
426
                ];
450
 
427
            }
451
        } else {
428
        } else {
452
            $response = [
429
            $response = [
453
                'success' => false,
430
                'success' => false,
454
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
431
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
455
            ];
432
            ];
456
        }
433
        }
457
        
434
 
458
        return new JsonModel($response);
435
        return new JsonModel($response);
459
    }
436
    }
460
    
437
 
461
    public function deleteAction()
438
    public function deleteAction()
462
    {
439
    {
-
 
440
        $currentUserPlugin = $this->plugin('currentUserPlugin');
Línea 463... Línea -...
463
        $currentUserPlugin = $this->plugin('currentUserPlugin');
-
 
464
        $currentUser = $currentUserPlugin->getUser();
441
        $currentUser = $currentUserPlugin->getUser();
465
        $currentCompany = $currentUserPlugin->getCompany();
442
        $currentCompany = $currentUserPlugin->getCompany();
466
        
443
 
467
        $request = $this->getRequest();
444
        $request = $this->getRequest();
468
        if($request->isPost()) {
445
        if ($request->isPost()) {
469
 
446
 
470
            
447
 
471
            $id =  $this->params()->fromRoute('id');
448
            $id =  $this->params()->fromRoute('id');
472
            
449
 
473
            $feedMapper = FeedMapper::getInstance($this->adapter);
450
            $feedMapper = FeedMapper::getInstance($this->adapter);
474
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
451
            $feed = $feedMapper->fetchOneByUuidAndNetworkId($id, $currentUser->network_id);
475
            if(!$feed) {
452
            if (!$feed) {
476
                $response = [
453
                $response = [
477
                    'success' => false,
454
                    'success' => false,
478
                    'data' => 'ERROR_POST_NOT_FOUND'
455
                    'data' => 'ERROR_POST_NOT_FOUND'
479
                ];
456
                ];
480
                return new JsonModel($response);
457
                return new JsonModel($response);
481
            }
458
            }
482
            
459
 
483
            if($feed->company_id != $currentCompany->id) {
460
            if ($feed->company_id != $currentCompany->id) {
484
                $response = [
461
                $response = [
485
                    'success' => false,
462
                    'success' => false,
486
                    'data' => 'ERROR_UNAUTHORIZED'
463
                    'data' => 'ERROR_UNAUTHORIZED'
487
                ];
464
                ];
488
                return new JsonModel($response);
465
                return new JsonModel($response);
489
            }
466
            }
490
            
467
 
491
            $feedMapper = FeedMapper::getInstance($this->adapter);
-
 
492
            $feed->status = Feed::STATUS_DELETED;
468
            $feedMapper = FeedMapper::getInstance($this->adapter);
493
            if($feedMapper->update($feed)) {
469
            $feed->status = Feed::STATUS_DELETED;
494
                $response = [
470
            if ($feedMapper->update($feed)) {
495
                    'success' => true,
471
                $response = [
496
                    'data' => 'LABEL_FEED_WAS_DELETED'
472
                    'success' => true,
497
                ];
473
                    'data' => 'LABEL_FEED_WAS_DELETED'
Línea 498... Línea 474...
498
                
474
                ];
499
            } else {
475
            } else {
500
                $response = [
-
 
501
                    'success' => false,
476
                $response = [
502
                    'data' => $feedMapper->getError()
477
                    'success' => false,
503
                ];
478
                    'data' => $feedMapper->getError()
504
            }
479
                ];
505
 
480
            }
506
            
481
 
507
            return new JsonModel($response);
482
 
508
            
483
            return new JsonModel($response);
509
        } else {
484
        } else {
510
            $response = [
485
            $response = [
511
                'success' => false,
486
                'success' => false,
512
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
487
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
513
            ];
488
            ];
514
        }
489
        }
515
        
490
 
516
        return new JsonModel($response);
491
        return new JsonModel($response);
517
    }
492
    }
518
    
493
 
519
    public function addAction()
494
    public function addAction()
520
    {
495
    {
Línea 521... Línea 496...
521
        $utilMapper = UtilMapper::getInstance($this->adapter);
496
        $utilMapper = UtilMapper::getInstance($this->adapter);
522
        $now = $utilMapper->getDatebaseNow();
497
        $now = $utilMapper->getDatebaseNow();
523
        
498
 
Línea 524... Línea 499...
524
        $currentUserPlugin = $this->plugin('currentUserPlugin');
499
        $currentUserPlugin = $this->plugin('currentUserPlugin');
525
        $currentUser = $currentUserPlugin->getUser();
500
        $currentUser = $currentUserPlugin->getUser();
526
        $currentCompany = $currentUserPlugin->getCompany();
501
        $currentCompany = $currentUserPlugin->getCompany();
527
        $myt_id =  $this->params()->fromRoute('myt_id');
502
        $myt_id =  $this->params()->fromRoute('myt_id');
528
        $hptg_uuid =  $this->params()->fromRoute('hptg_id');
503
        $hptg_uuid =  $this->params()->fromRoute('hptg_id');
529
 
504
 
530
        $request = $this->getRequest();
505
        $request = $this->getRequest();
531
        if($request->isPost()) {
506
        if ($request->isPost()) {
532
            
507
 
533
 
508
 
534
            $dataPost = array_merge($request->getPost()->toArray(), $request->getFiles()->toArray());
509
            $dataPost = array_merge($request->getPost()->toArray(), $request->getFiles()->toArray());
535
            
510
 
536
            $form = new CreateFeedForm($this->adapter);
511
            $form = new CreateFeedForm($this->adapter);
537
            
512
 
538
            $form->setData($dataPost);
513
            $form->setData($dataPost);
539
          
514
 
540
            if($form->isValid()) {
515
            if ($form->isValid()) {
541
                
516
 
542
                
517
 
543
                $companyMapper = CompanyMapper::getInstance($this->adapter);
518
                $companyMapper = CompanyMapper::getInstance($this->adapter);
544
                $company = $companyMapper->fetchOne($currentCompany->id);
519
                $company = $companyMapper->fetchOne($currentCompany->id);
545
                
520
 
-
 
521
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
-
 
522
                $owner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
Línea 546... Línea -...
546
                $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
-
 
547
                $owner = $companyUserMapper->fetchOwnerByCompanyId($company->id);
-
 
548
                
523
 
549
                $dataPost['priority'] =  isset($dataPost['priority']) ? Feed::PRIORITY_URGENT  : '';
524
                $dataPost['priority'] =  isset($dataPost['priority']) ? Feed::PRIORITY_URGENT  : '';
550
           
525
 
551
                
526
 
552
                $hydrator = new ObjectPropertyHydrator();
527
                $hydrator = new ObjectPropertyHydrator();
553
                $feed = new Feed();
528
                $feed = new Feed();
554
                $hydrator->hydrate($dataPost, $feed);
529
                $hydrator->hydrate($dataPost, $feed);
555
                if($hptg_uuid){
530
                if ($hptg_uuid) {
Línea 556... Línea 531...
556
 
531
 
557
                   
532
 
Línea 558... Línea 533...
558
              
533
 
Línea 559... Línea 534...
559
                    $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
534
                    $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
560
                    $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($hptg_uuid);
535
                    $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($hptg_uuid);
561
                    
536
 
562
                    if (!$highPerformanceTeamsGroups) {
537
                    if (!$highPerformanceTeamsGroups) {
563
                        $data = [
-
 
564
                            'success' => false,
538
                        $data = [
Línea 565... Línea 539...
565
                            'data' => 'ERROR_RECORD_NOT_FOUND'
539
                            'success' => false,
566
                        ];
540
                            'data' => 'ERROR_RECORD_NOT_FOUND'
567
 
541
                        ];
568
                        return new JsonModel($data);
542
 
569
                    }
543
                        return new JsonModel($data);
570
 
544
                    }
Línea 571... Línea 545...
571
                    if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
545
 
572
 
546
                    if ($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
573
                        return new JsonModel([
547
 
574
                            'success' => false,
548
                        return new JsonModel([
575
                            'data' => 'ERROR_UNAUTHORIZED'
549
                            'success' => false,
576
                        ]);
-
 
577
 
550
                            'data' => 'ERROR_UNAUTHORIZED'
Línea 578... Línea 551...
578
                    } 
551
                        ]);
579
 
552
                    }
580
                    $highPerformanceTeamsGroupsMemberMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
553
 
581
                    $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMemberMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
554
                    $highPerformanceTeamsGroupsMemberMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
582
                    if($highPerformanceTeamsGroupsMember) {
555
                    $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMemberMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
583
                        if($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN ){
556
                    if ($highPerformanceTeamsGroupsMember) {
584
                            $id =  $highPerformanceTeamsGroups->id;
557
                        if ($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) {
585
                        }else{
558
                            $id =  $highPerformanceTeamsGroups->id;
586
 
559
                        } else {
587
                            return new JsonModel([
560
 
588
                                'success' => false,
561
                            return new JsonModel([
589
                                'data' => 'ERROR_UNAUTHORIZED'
562
                                'success' => false,
590
                            ]);
563
                                'data' => 'ERROR_UNAUTHORIZED'
591
                        }
564
                            ]);
592
                            
565
                        }
593
                    } else {
566
                    } else {
594
 
567
 
595
                        return new JsonModel([
-
 
596
                            'success' => false,
568
                        return new JsonModel([
597
                            'data' => 'ERROR_RECORD_NOT_FOUND'
569
                            'success' => false,
Línea 598... Línea 570...
598
                        ]);
570
                            'data' => 'ERROR_RECORD_NOT_FOUND'
599
                    }
571
                        ]);
600
                    $topic_uuid =  $this->params()->fromRoute('topic_id');
572
                    }
601
                    if($topic_uuid){
573
                    $topic_uuid =  $this->params()->fromRoute('topic_id');
602
                        $topicMapper = TopicMapper::getInstance($this->adapter);
574
                    if ($topic_uuid) {
603
                        $topic = $topicMapper->fetchOneByUuid($topic_uuid);
575
                        $topicMapper = TopicMapper::getInstance($this->adapter);
604
                        if($topic){
576
                        $topic = $topicMapper->fetchOneByUuid($topic_uuid);
605
                            $feed->topic_id = $topic->id;
577
                        if ($topic) {
606
                        }else{
-
 
607
                            return new JsonModel([
578
                            $feed->topic_id = $topic->id;
608
                                'success' => false,
579
                        } else {
609
                                'data' => 'ERROR_RECORD_NOT_FOUND'
580
                            return new JsonModel([
610
                            ]);
581
                                'success' => false,
611
                        }
582
                                'data' => 'ERROR_RECORD_NOT_FOUND'
612
                       
583
                            ]);
Línea 632... Línea 603...
632
                    $feed->myt_id           = $myt->id;
603
                    $feed->myt_id           = $myt->id;
633
                    $feed->related_feed     = $myt->id;
604
                    $feed->related_feed     = $myt->id;
634
                    $feed->type             = Feed::TYPE_MYT_ANSWER;
605
                    $feed->type             = Feed::TYPE_MYT_ANSWER;
635
                    $feed->posted_or_shared = Feed::POSTED;
606
                    $feed->posted_or_shared = Feed::POSTED;
636
                    $feed->shared_with      = Feed::SHARE_WITH_PUBLIC;
607
                    $feed->shared_with      = Feed::SHARE_WITH_PUBLIC;
637
                }else{
608
                } else {
638
                    $feed->network_id       = $currentUser->network_id;
609
                    $feed->network_id       = $currentUser->network_id;
639
                    $feed->company_id       = $currentCompany->id;
610
                    $feed->company_id       = $currentCompany->id;
640
                    $feed->group_id         = null;
611
                    $feed->group_id         = null;
641
                    $feed->user_id          = $owner->user_id;
612
                    $feed->user_id          = $owner->user_id;
642
                    $feed->type             = Feed::TYPE_COMPANY;
613
                    $feed->type             = Feed::TYPE_COMPANY;
643
                    $feed->posted_or_shared = Feed::POSTED;
614
                    $feed->posted_or_shared = Feed::POSTED;
644
                    $feed->shared_with      = Feed::SHARE_WITH_CONNECTIONS;
615
                    $feed->shared_with      = Feed::SHARE_WITH_CONNECTIONS;
645
                }
616
                }
646
                
-
 
647
                
-
 
Línea -... Línea 617...
-
 
617
 
648
 
618
 
-
 
619
 
649
              
620
 
650
                $feed->total_comments   = 0;
621
                $feed->total_comments   = 0;
651
                $feed->total_shared     = 0;
622
                $feed->total_shared     = 0;
652
                
623
 
653
                
624
 
654
                $files = $this->getRequest()->getFiles()->toArray();
625
                $files = $this->getRequest()->getFiles()->toArray();
655
                $file_type = '';
626
                $file_type = '';
656
                if(isset($files['file']) && empty($files['file']['error'])) {
627
                if (isset($files['file']) && empty($files['file']['error'])) {
657
                    $feed_tmp_filename  = $files['file']['tmp_name'];
628
                    $feed_tmp_filename  = $files['file']['tmp_name'];
658
                    $feed_filename      = $this->normalizeString($files['file']['name']);
629
                    $feed_filename      = $this->normalizeString($files['file']['name']);
659
                    
630
 
660
                    $mime_type = mime_content_type($feed_tmp_filename);
631
                    $mime_type = mime_content_type($feed_tmp_filename);
661
                    if($mime_type == 'image/jpg' || $mime_type == 'image/jpeg' || $mime_type == 'image/png') {
632
                    if ($mime_type == 'image/jpg' || $mime_type == 'image/jpeg' || $mime_type == 'image/png') {
662
                        $file_type = Feed::FILE_TYPE_IMAGE;
633
                        $file_type = Feed::FILE_TYPE_IMAGE;
663
                    } else if($mime_type == 'video/webm' || $mime_type == 'video/mpeg' || $mime_type == 'video/mpg' || $mime_type == 'video/mp4') {
634
                    } else if ($mime_type == 'video/webm' || $mime_type == 'video/mpeg' || $mime_type == 'video/mpg' || $mime_type == 'video/mp4') {
664
                        $file_type = Feed::FILE_TYPE_VIDEO;
635
                        $file_type = Feed::FILE_TYPE_VIDEO;
665
                    } else if($mime_type == 'application/pdf') {
636
                    } else if ($mime_type == 'application/pdf') {
666
                        $file_type = Feed::FILE_TYPE_DOCUMENT;
637
                        $file_type = Feed::FILE_TYPE_DOCUMENT;
667
                    }
638
                    }
668
                }
639
                }
669
             
640
 
670
                
641
 
671
                $feedMapper = FeedMapper::getInstance($this->adapter);
642
                $feedMapper = FeedMapper::getInstance($this->adapter);
672
                $result = $feedMapper->insert($feed);
643
                $result = $feedMapper->insert($feed);
673
                
644
 
674
               
645
 
675
                if($result) {
646
                if ($result) {
676
                    
647
 
677
                    $feed = $feedMapper->fetchOne($feed->id);
648
                    $feed = $feedMapper->fetchOne($feed->id);
678
                    
649
 
679
                    if( $file_type == Feed::FILE_TYPE_DOCUMENT) {
650
                    if ($file_type == Feed::FILE_TYPE_DOCUMENT) {
680
                        try {
651
                        try {
681
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
652
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
682
                            if(!file_exists($target_path)) {
653
                            if (!file_exists($target_path)) {
683
                                mkdir($target_path, 0755);
654
                                mkdir($target_path, 0755);
684
                            }
655
                            }
685
                            
656
 
686
                            $full_filename = $target_path  . DIRECTORY_SEPARATOR .$feed_filename;
657
                            $full_filename = $target_path  . DIRECTORY_SEPARATOR . $feed_filename;
687
                            $result = move_uploaded_file($feed_tmp_filename , $full_filename);
658
                            $result = move_uploaded_file($feed_tmp_filename, $full_filename);
688
                            if($result) {
659
                            if ($result) {
689
                                
660
 
690
                                $feed->file_type = $file_type;
661
                                $feed->file_type = $file_type;
691
                                $feed->file_name = basename($feed_filename);
662
                                $feed->file_name = basename($feed_filename);
692
                                $feedMapper->update($feed);
663
                                $feedMapper->update($feed);
693
                            } else {
664
                            } else {
694
                                error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename );
665
                                error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename);
695
                            }
666
                            }
696
                        } catch(\Throwable $e) {
667
                        } catch (\Throwable $e) {
697
                            error_log($e->getTraceAsString());
668
                            error_log($e->getTraceAsString());
698
                        }
669
                        }
699
                    }
670
                    }
700
                    if( $file_type == Feed::FILE_TYPE_IMAGE) {
671
                    if ($file_type == Feed::FILE_TYPE_IMAGE) {
701
                        try {
672
                        try {
702
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
673
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
703
                            if(!file_exists($target_path)) {
674
                            if (!file_exists($target_path)) {
704
                                mkdir($target_path, 0755);
675
                                mkdir($target_path, 0755);
705
                            }
676
                            }
706
                            
677
 
707
                            list($target_width, $target_height) = explode('x', $this->config['leaderslinked.image_sizes.feed_image_size']);
678
                            list($target_width, $target_height) = explode('x', $this->config['leaderslinked.image_sizes.feed_image_size']);
708
                            
679
 
709
                            $feed_filename = substr($feed_filename, 0, strrpos($feed_filename, '.'))  . '.png';
680
                            $feed_filename = substr($feed_filename, 0, strrpos($feed_filename, '.'))  . '.png';
710
                            $crop_to_dimensions = false;
681
                            $crop_to_dimensions = false;
711
                            if(Image::uploadImage($feed_tmp_filename, $target_path, $feed_filename, $target_width, $target_height, $crop_to_dimensions )) {
682
                            if (Image::uploadImage($feed_tmp_filename, $target_path, $feed_filename, $target_width, $target_height, $crop_to_dimensions)) {
712
                                $feed->file_type = $file_type;
683
                                $feed->file_type = $file_type;
713
                                $feed->file_name = basename($feed_filename);
684
                                $feed->file_name = basename($feed_filename);
714
                                $feedMapper->update($feed);
685
                                $feedMapper->update($feed);
715
                            }
686
                            }
716
                        } catch(\Throwable $e) {
687
                        } catch (\Throwable $e) {
717
                            error_log($e->getTraceAsString());
688
                            error_log($e->getTraceAsString());
718
                        }
689
                        }
719
                    }
690
                    }
720
                    if( $file_type == Feed::FILE_TYPE_VIDEO) {
691
                    if ($file_type == Feed::FILE_TYPE_VIDEO) {
721
                        try {
692
                        try {
722
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
693
                            $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
723
                            if(!file_exists($target_path)) {
694
                            if (!file_exists($target_path)) {
724
                                mkdir($target_path, 0755);
695
                                mkdir($target_path, 0755);
725
                            }
696
                            }
726
                            
697
 
727
                            $full_filename = $target_path  . DIRECTORY_SEPARATOR . $feed_filename;
698
                            $full_filename = $target_path  . DIRECTORY_SEPARATOR . $feed_filename;
728
                            
699
 
729
                            $result = move_uploaded_file($feed_tmp_filename , $full_filename);
700
                            $result = move_uploaded_file($feed_tmp_filename, $full_filename);
730
                            if($result) {
701
                            if ($result) {
731
                                
702
 
732
                                $size = $this->config['leaderslinked.image_sizes.feed_image_size'];
703
                                $size = $this->config['leaderslinked.image_sizes.feed_image_size'];
733
                                $getFromSecound = 2;
704
                                $getFromSecound = 2;
734
                                
705
 
735
                                //extracción del cover
706
                                //extracción del cover
736
                                $generateFileName = substr($feed_filename, 0, strrpos($feed_filename, '.'));
707
                                $generateFileName = substr($feed_filename, 0, strrpos($feed_filename, '.'));
737
                                $generateFile =  $target_path  . DIRECTORY_SEPARATOR . $generateFileName .  '.png';
708
                                $generateFile =  $target_path  . DIRECTORY_SEPARATOR . $generateFileName .  '.png';
738
                                $cmd            = "/usr/bin/ffmpeg -i $full_filename -an -ss $getFromSecound -s $size $generateFile";
709
                                $cmd            = "/usr/bin/ffmpeg -i $full_filename -an -ss $getFromSecound -s $size $generateFile";
739
                                exec($cmd);
710
                                exec($cmd);
740
                                
711
 
741
                                
712
 
742
                                $feed->file_type = $file_type;
713
                                $feed->file_type = $file_type;
743
                                $feed->file_name = basename($feed_filename);
714
                                $feed->file_name = basename($feed_filename);
744
                                $feed->file_image_preview = basename($generateFile);
715
                                $feed->file_image_preview = basename($generateFile);
745
                                $feedMapper->update($feed);
716
                                $feedMapper->update($feed);
746
                                
717
 
747
                                $videoConvert = new VideoConvert();
718
                                $videoConvert = new VideoConvert();
748
                                $videoConvert->filename = $full_filename;
719
                                $videoConvert->filename = $full_filename;
749
                                $videoConvert->type = VideoConvert::TYPE_FEED;
720
                                $videoConvert->type = VideoConvert::TYPE_FEED;
750
                                
721
 
751
                                $videoConvertMapper = VideoConvertMapper::getInstance($this->adapter);
722
                                $videoConvertMapper = VideoConvertMapper::getInstance($this->adapter);
752
                                $videoConvertMapper->insert($videoConvert);
723
                                $videoConvertMapper->insert($videoConvert);
753
                            } else {
724
                            } else {
754
                                error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename );
725
                                error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename);
755
                            }
726
                            }
756
                        } catch(\Throwable $e) {
727
                        } catch (\Throwable $e) {
757
                            error_log($e->getTraceAsString());
728
                            error_log($e->getTraceAsString());
758
                        }
729
                        }
759
                    }
730
                    }
760
                    
731
 
761
                    
732
 
762
                    $response = [
733
                    $response = [
763
                        'success'   => true,
734
                        'success'   => true,
764
                        'data'   => $this->renderFeed($feed->id, $now)
735
                        'data'   => $this->renderFeed($feed->id, $now)
765
                    ];
-
 
766
                   
736
                    ];
767
                } else {
737
                } else {
768
                    $response = [
738
                    $response = [
769
                        'success'   => false,
739
                        'success'   => false,
770
                        'data'   => $feedMapper->getError()
740
                        'data'   => $feedMapper->getError()
771
                    ];
741
                    ];
772
                }
742
                }
773
            } else {
743
            } else {
774
                $messages = [];
744
                $messages = [];
775
                $form_messages = (array) $form->getMessages();
745
                $form_messages = (array) $form->getMessages();
776
                foreach($form_messages  as $fieldname => $field_messages)
-
 
777
                {
746
                foreach ($form_messages  as $fieldname => $field_messages) {
778
                    $messages[$fieldname] = array_values($field_messages);
747
                    $messages[$fieldname] = array_values($field_messages);
779
                }
748
                }
780
                
749
 
781
                $response = [
750
                $response = [
782
                    'success'   => false,
751
                    'success'   => false,
783
                    'data'   => $messages
752
                    'data'   => $messages
784
                ];
753
                ];
785
            }
-
 
786
            
754
            }
787
        } else {
755
        } else {
788
            $response = [
756
            $response = [
789
                'success' => false,
757
                'success' => false,
790
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
758
                'data' => 'ERROR_METHOD_NOT_ALLOWED'
791
            ];
759
            ];
792
        }
760
        }
793
        
761
 
794
        return new JsonModel($response);
762
        return new JsonModel($response);
795
    }
763
    }
796
    
764
 
797
    
765
 
798
    public function timelineAction()
766
    public function timelineAction()
799
    {
767
    {
800
       
768
 
801
        $utilMapper = UtilMapper::getInstance($this->adapter);
769
        $utilMapper = UtilMapper::getInstance($this->adapter);
802
        $now = $utilMapper->getDatebaseNow();
770
        $now = $utilMapper->getDatebaseNow();
803
        
771
 
804
        $currentUserPlugin = $this->plugin('currentUserPlugin');
772
        $currentUserPlugin = $this->plugin('currentUserPlugin');
805
        $currentUser = $currentUserPlugin->getUser();
773
        $currentUser = $currentUserPlugin->getUser();
806
        $currentCompany = $currentUserPlugin->getCompany();
774
        $currentCompany = $currentUserPlugin->getCompany();
807
        
775
 
808
       
776
 
809
      
777
 
Línea 810... Línea 778...
810
       
778
 
811
 
779
 
812
        $request = $this->getRequest();
780
        $request = $this->getRequest();
813
        if($request->isGet()) {
781
        if ($request->isGet()) {
814
             
782
 
815
            
783
 
816
            $page = (int) $this->params()->fromQuery('page');
784
            $page = (int) $this->params()->fromQuery('page');
817
            $type   = $this->params()->fromRoute('type');
785
            $type   = $this->params()->fromRoute('type');
818
            $topic_uuid   = $this->params()->fromRoute('topic_id');
786
            $topic_uuid   = $this->params()->fromRoute('topic_id');
819
            $urgent   = $this->params()->fromRoute('urgent');
787
            $urgent   = $this->params()->fromRoute('urgent');
Línea 820... Línea -...
820
            $myt_id =  $this->params()->fromRoute('myt_id');
-
 
821
            $hptg_uuid =  $this->params()->fromRoute('hptg_id');
-
 
Línea -... Línea 788...
-
 
788
            $myt_id =  $this->params()->fromRoute('myt_id');
822
 
789
            $hptg_uuid =  $this->params()->fromRoute('hptg_id');
-
 
790
 
823
           
791
 
824
            if($hptg_uuid){
792
            if ($hptg_uuid) {
825
 
793
 
826
                
794
 
827
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
795
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
828
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($hptg_uuid);
796
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($hptg_uuid);
829
                
797
 
830
                if (!$highPerformanceTeamsGroups) {
798
                if (!$highPerformanceTeamsGroups) {
Línea 831... Línea 799...
831
                    $data = [
799
                    $data = [
832
                        'success' => false,
800
                        'success' => false,
Línea 833... Línea 801...
833
                        'data' => 'ERROR_RECORD_NOT_FOUND'
801
                        'data' => 'ERROR_RECORD_NOT_FOUND'
Línea 834... Línea 802...
834
                    ];
802
                    ];
835
 
803
 
836
                    return new JsonModel($data);
804
                    return new JsonModel($data);
837
                }
805
                }
838
 
-
 
839
                if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
806
 
Línea 840... Línea 807...
840
 
807
                if ($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
841
                    return new JsonModel([
808
 
842
                        'success' => false,
809
                    return new JsonModel([
843
                        'data' => 'ERROR_UNAUTHORIZED'
810
                        'success' => false,
844
                    ]);
811
                        'data' => 'ERROR_UNAUTHORIZED'
845
 
812
                    ]);
846
                } 
813
                }
847
 
814
 
848
                $highPerformanceTeamsGroupsMemberMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
815
                $highPerformanceTeamsGroupsMemberMapper = HighPerformanceTeamsGroupsMembersMapper::getInstance($this->adapter);
849
                $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMemberMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
816
                $highPerformanceTeamsGroupsMember = $highPerformanceTeamsGroupsMemberMapper->fetchOneByGroupIdAndUserId($highPerformanceTeamsGroups->id, $currentUser->id);
850
                if($highPerformanceTeamsGroupsMember) {
817
                if ($highPerformanceTeamsGroupsMember) {
851
                    if($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN ){
818
                    if ($highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ACCEPTED || $highPerformanceTeamsGroupsMember->status == HighPerformanceTeamsGroupsMembers::STATUS_ADDED_BY_ADMIN) {
852
                        $queryMapper = QueryMapper::getInstance($this->adapter);
819
                        $queryMapper = QueryMapper::getInstance($this->adapter);
853
                        $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
820
                        $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
854
                        $select->columns(['id']);
821
                        $select->columns(['id']);
855
                        $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
822
                        $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
856
                        $select->where->equalTo('company_id',$currentCompany->id);
823
                        $select->where->equalTo('company_id', $currentCompany->id);
857
                        $select->where->equalTo('high_performance_group_id',$highPerformanceTeamsGroups->id);
824
                        $select->where->equalTo('high_performance_group_id', $highPerformanceTeamsGroups->id);
858
                       
825
 
859
                     
826
 
860
                        if(isset($topic_uuid)){
827
                        if (isset($topic_uuid)) {
861
                            $topicMapper = TopicMapper::getInstance($this->adapter);
828
                            $topicMapper = TopicMapper::getInstance($this->adapter);
862
                            $topic = $topicMapper->fetchOneByUuid($topic_uuid);
829
                            $topic = $topicMapper->fetchOneByUuid($topic_uuid);
863
                            if($topic){
-
 
864
                                if($topic->status!='a'){
830
                            if ($topic) {
865
                                    return new JsonModel([
831
                                if ($topic->status != 'a') {
866
                                        'success' => false,
832
                                    return new JsonModel([
867
                                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
833
                                        'success' => false,
868
                                    ]);
834
                                        'data' => 'ERROR_YOU_DO_NOT_HAVE_ACCESS'
869
                                }
835
                                    ]);
870
                                $select->where->equalTo('topic_id',$topic->id);
836
                                }
871
                          
837
                                $select->where->equalTo('topic_id', $topic->id);
872
                            }else{
838
                            } else {
873
                                return new JsonModel([
839
                                return new JsonModel([
874
                                    'success' => false,
840
                                    'success' => false,
875
                                    'data' => 'ERROR_RECORD_NOT_FOUND'
841
                                    'data' => 'ERROR_RECORD_NOT_FOUND'
876
                                ]);
-
 
877
                            }
842
                                ]);
878
                        }else{
843
                            }
879
                            if(isset($urgent)){
844
                        } else {
880
                                $select->where->equalTo('priority', Feed::PRIORITY_URGENT);
845
                            if (isset($urgent)) {
881
                            }else{
846
                                $select->where->equalTo('priority', Feed::PRIORITY_URGENT);
882
                                $select->where->IsNull('topic_id');
-
 
883
                            }
847
                            } else {
884
                            
848
                                $select->where->IsNull('topic_id');
885
                        }
849
                            }
886
           
850
                        }
887
                        
851
 
888
                        $select->where->and->equalTo('type', Feed::TYPE_HPTG);
852
 
889
                        $select->order('added_on desc');
-
 
890
 
853
                        $select->where->and->equalTo('type', Feed::TYPE_HPTG);
Línea 891... Línea 854...
891
                    }else{
854
                        $select->order('added_on desc');
892
                        return new JsonModel([
855
                    } else {
893
                            'success' => false,
856
                        return new JsonModel([
894
                            'data' => 'ERROR_UNAUTHORIZED'
857
                            'success' => false,
895
                        ]);
858
                            'data' => 'ERROR_UNAUTHORIZED'
896
                    }
-
 
897
                        
-
 
898
                } else {
-
 
899
 
-
 
900
                    return new JsonModel([
-
 
901
                        'success' => false,
859
                        ]);
902
                        'data' => 'ERROR_RECORD_NOT_FOUND'
860
                    }
903
                    ]);
861
                } else {
904
                }
862
 
905
 
863
                    return new JsonModel([
906
 
864
                        'success' => false,
907
 
865
                        'data' => 'ERROR_RECORD_NOT_FOUND'
908
                
866
                    ]);
909
 
867
                }
910
            }else if($myt_id){
868
            } else if ($myt_id) {
911
                $feedMapper = FeedMapper::getInstance($this->adapter);
869
                $feedMapper = FeedMapper::getInstance($this->adapter);
-
 
870
                $myt  = $feedMapper->fetchOneByUuid($myt_id);
Línea 912... Línea -...
912
                $myt  = $feedMapper->fetchOneByUuid($myt_id);
-
 
913
                $queryMapper = QueryMapper::getInstance($this->adapter);
-
 
914
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
871
                $queryMapper = QueryMapper::getInstance($this->adapter);
915
                $select->columns(['id']);
872
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
916
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
873
                $select->columns(['id']);
917
                $select->where->equalTo('company_id',$currentCompany->id);
874
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
918
                $select->where->equalTo('myt_id', $myt->id);
875
                $select->where->equalTo('company_id', $currentCompany->id);
919
                $select->where->and->equalTo('type', Feed::TYPE_MYT_ANSWER);
876
                $select->where->equalTo('myt_id', $myt->id);
920
                $select->order('added_on desc');
877
                $select->where->and->equalTo('type', Feed::TYPE_MYT_ANSWER);
921
 
878
                $select->order('added_on desc');
922
            }else{
879
            } else {
923
                
880
 
924
                $queryMapper = QueryMapper::getInstance($this->adapter);
881
                $queryMapper = QueryMapper::getInstance($this->adapter);
925
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
882
                $select = $queryMapper->getSql()->select(FeedMapper::_TABLE);
926
                $select->columns(['id']);
883
                $select->columns(['id']);
927
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
884
                $select->where->equalTo('status', Feed::STATUS_PUBLISHED);
928
                $select->where->equalTo('company_id',$currentCompany->id);
885
                $select->where->equalTo('company_id', $currentCompany->id);
929
                $select->where->and->equalTo('type', Feed::TYPE_COMPANY);
886
                $select->where->and->equalTo('type', Feed::TYPE_COMPANY);
930
                $select->order('added_on desc');
887
                $select->order('added_on desc');
931
            }
888
            }
932
           
889
 
933
            
890
 
934
            
-
 
935
            $dbSelect = new DbSelect($select, $this->adapter);
891
 
936
            $paginator = new Paginator($dbSelect);
892
            $dbSelect = new DbSelect($select, $this->adapter);
937
            $paginator->setCurrentPageNumber($page ? $page : 1);
893
            $paginator = new Paginator($dbSelect);
938
            $paginator->setItemCountPerPage(10);
894
            $paginator->setCurrentPageNumber($page ? $page : 1);
939
            
895
            $paginator->setItemCountPerPage(10);
940
            $items = [];
896
 
941
            $feeds = $paginator->getCurrentItems();
897
            $items = [];
942
            
898
            $feeds = $paginator->getCurrentItems();
Línea 957... Línea 913...
957
                        'page'     => $paginator->getCurrentPageNumber(),
913
                        'page'     => $paginator->getCurrentPageNumber(),
958
                        'count'    => $paginator->getCurrentItemCount(),
914
                        'count'    => $paginator->getCurrentItemCount(),
959
                    ]
915
                    ]
960
                ]
916
                ]
961
            ];
917
            ];
962
            
918
 
963
            return new JsonModel($response);
919
            return new JsonModel($response);
964
        }
920
        }
965
        
921
 
966
        $response = [
922
        $response = [
967
            'success' => false,
923
            'success' => false,
968
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
924
            'data' => 'ERROR_METHOD_NOT_ALLOWED'
969
        ];
925
        ];
970
        
926
 
971
        
927
 
972
        return new JsonModel($response);
928
        return new JsonModel($response);
973
    }
929
    }
974
    
930
 
975
    public function oneFeedAction()
931
    public function oneFeedAction()
976
    {
932
    {
977
        $utilMapper = UtilMapper::getInstance($this->adapter);
933
        $utilMapper = UtilMapper::getInstance($this->adapter);
978
        $now = $utilMapper->getDatebaseNow();
934
        $now = $utilMapper->getDatebaseNow();
979
        
935
 
980
        
936
 
981
        $currentUserPlugin = $this->plugin('currentUserPlugin');
937
        $currentUserPlugin = $this->plugin('currentUserPlugin');
982
        $currentUser = $currentUserPlugin->getUser();
938
        $currentUser = $currentUserPlugin->getUser();
983
        $currentCompany = $currentUserPlugin->getCompany();
939
        $currentCompany = $currentUserPlugin->getCompany();
Línea 984... Línea 940...
984
 
940
 
985
        $request = $this->getRequest();
941
        $request = $this->getRequest();
986
        if($request->isGet()) {
942
        if ($request->isGet()) {
987
            
943
 
988
            $feed_uuid =  $this->params()->fromRoute('id');
944
            $feed_uuid =  $this->params()->fromRoute('id');
989
            $myt_id =  $this->params()->fromRoute('id');
945
            $myt_id =  $this->params()->fromRoute('id');
990
           
946
 
991
            if(!isset($feed_uuid)){
947
            if (!isset($feed_uuid)) {
992
                    $data = [
948
                $data = [
993
                        'success'   => false,
949
                    'success'   => false,
994
                        'data'   => 'ERROR_INVALID_PARAMETER'
950
                    'data'   => 'ERROR_INVALID_PARAMETER'
995
                    ];
951
                ];
996
                    
952
 
997
                    return new JsonModel($data);
953
                return new JsonModel($data);
998
            }
954
            }
999
                   
955
 
1000
            $items = [];
956
            $items = [];
1001
            $feedMapper = FeedMapper::getInstance($this->adapter);
957
            $feedMapper = FeedMapper::getInstance($this->adapter);
Línea 1002... Línea 958...
1002
            $feed  = $feedMapper->fetchOneByUuid($feed_uuid);
958
            $feed  = $feedMapper->fetchOneByUuid($feed_uuid);
1003
 
959
 
1004
            if (!$feed) {
960
            if (!$feed) {
1005
                $data = [
961
                $data = [
1006
                    'success' => false,
962
                    'success' => false,
1007
                    'data' => 'ERROR_RECORD_NOT_FOUND'
963
                    'data' => 'ERROR_RECORD_NOT_FOUND'
1008
                ];
964
                ];
1009
        
965
 
1010
                return new JsonModel($data);
966
                return new JsonModel($data);
1011
            }      
967
            }
1012
            
968
 
1013
            if ($feed->type=='mytq'){
969
            if ($feed->type == 'mytq') {
Línea 1014... Línea 970...
1014
                
970
 
1015
                $items = $this->renderFeed($feed->id, $now, $myt_id);
971
                $items = $this->renderFeed($feed->id, $now, $myt_id);
1016
 
972
 
1017
                $response = [
973
                $response = [
1018
                    'success' => true,
974
                    'success' => true,
1019
                    'data' => [
975
                    'data' => [
1020
                        'item' =>$items,
976
                        'item' => $items,
1021
                        'feed_title'=>$feed->title,
977
                        'feed_title' => $feed->title,
1022
                        'topic_title'=>$feed->description
-
 
1023
                    ]
978
                        'topic_title' => $feed->description
1024
                ];
979
                    ]
1025
 
980
                ];
Línea 1026... Línea 981...
1026
            } else if ($feed->type=='myta'){
981
            } else if ($feed->type == 'myta') {
1027
                
982
 
1028
                $items = $this->renderFeed($feed->id, $now, $myt_id);
983
                $items = $this->renderFeed($feed->id, $now, $myt_id);
1029
 
984
 
1030
                $response = [
985
                $response = [
1031
                    'success' => true,
986
                    'success' => true,
1032
                    'data' => [
987
                    'data' => [
1033
                        'item' =>$items,
988
                        'item' => $items,
1034
                        'feed_title'=>$feed->title,
-
 
1035
                        'topic_title'=>$feed->description
989
                        'feed_title' => $feed->title,
Línea 1036... Línea 990...
1036
                    ]
990
                        'topic_title' => $feed->description
1037
                ];
991
                    ]
Línea 1038... Línea 992...
1038
 
992
                ];
1039
            }else if($feed->type=='hptg'){
993
            } else if ($feed->type == 'hptg') {
1040
 
994
 
1041
                $group_uuid =  $this->params()->fromRoute('group_id');
995
                $group_uuid =  $this->params()->fromRoute('group_id');
1042
                $topic_uuid   = $this->params()->fromRoute('topic_id');
996
                $topic_uuid   = $this->params()->fromRoute('topic_id');
1043
 
997
 
1044
                if(!isset($topic_uuid)){
998
                if (!isset($topic_uuid)) {
1045
                
999
 
1046
                    $data = [
1000
                    $data = [
1047
                        'success'   => false,
1001
                        'success'   => false,
1048
                        'data'   => 'ERROR_INVALID_PARAMETER'
1002
                        'data'   => 'ERROR_INVALID_PARAMETER'
1049
                    ];
1003
                    ];
1050
                    
1004
 
1051
                    return new JsonModel($data);
1005
                    return new JsonModel($data);
1052
                }
1006
                }
1053
                if(!isset($group_uuid)){
1007
                if (!isset($group_uuid)) {
1054
                
1008
 
1055
                    $data = [
1009
                    $data = [
1056
                        'success'   => false,
1010
                        'success'   => false,
1057
                        'data'   => 'ERROR_INVALID_PARAMETER'
1011
                        'data'   => 'ERROR_INVALID_PARAMETER'
1058
                    ];
1012
                    ];
1059
                    
1013
 
1060
                    return new JsonModel($data);
1014
                    return new JsonModel($data);
1061
                }
1015
                }
1062
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
1016
                $highPerformanceTeamsGroupsMapper = HighPerformanceTeamsGroupsMapper::getInstance($this->adapter);
1063
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
1017
                $highPerformanceTeamsGroups = $highPerformanceTeamsGroupsMapper->fetchOneByUuid($group_uuid);
1064
                        
1018
 
1065
                if (!$highPerformanceTeamsGroups) {
1019
                if (!$highPerformanceTeamsGroups) {
1066
                    $data = [
1020
                    $data = [
Línea 1067... Línea 1021...
1067
                        'success' => false,
1021
                        'success' => false,
1068
                        'data' => 'ERROR_RECORD_NOT_FOUND'
1022
                        'data' => 'ERROR_RECORD_NOT_FOUND'
1069
                    ];
1023
                    ];
1070
            
1024
 
1071
                    return new JsonModel($data);
1025
                    return new JsonModel($data);
1072
                }
1026
                }
1073
 
1027
 
1074
                       
-
 
1075
                if($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
1028
 
Línea 1076... Línea 1029...
1076
            
1029
                if ($highPerformanceTeamsGroups->status != HighPerformanceTeamsGroups::STATUS_ACTIVE) {
1077
                    return new JsonModel([
1030
 
1078
                        'success' => false,
1031
                    return new JsonModel([
1079
                        'data' => 'ERROR_UNAUTHORIZED'
1032
                        'success' => false,
1080
                    ]);
1033
                        'data' => 'ERROR_UNAUTHORIZED'
1081
            
1034
                    ]);
1082
                } 
1035
                }
1083
 
1036
 
1084
                if($feed->high_performance_group_id!=$highPerformanceTeamsGroups->id){
1037
                if ($feed->high_performance_group_id != $highPerformanceTeamsGroups->id) {
Línea 1085... Línea 1038...
1085
                    return new JsonModel([
1038
                    return new JsonModel([
1086
                        'success' => false,
1039
                        'success' => false,
1087
                        'data' => 'ERROR_METHOD_NOT_ALLOWED'
1040
                        'data' => 'ERROR_METHOD_NOT_ALLOWED'
1088
                    ]);
1041
                    ]);
1089
                }
1042
                }
1090
                
1043
 
1091
                $topicMapper = TopicMapper::getInstance($this->adapter);
1044
                $topicMapper = TopicMapper::getInstance($this->adapter);
1092
                $topic = $topicMapper->fetchOneByUuid($topic_uuid);
1045
                $topic = $topicMapper->fetchOneByUuid($topic_uuid);
Línea 1093... Línea 1046...
1093
 
1046
 
1094
                if (!$topic) {
1047
                if (!$topic) {
1095
                    $data = [
1048
                    $data = [
1096
                        'success' => false,
1049
                        'success' => false,
1097
                        'data' => 'ERROR_RECORD_NOT_FOUND'
1050
                        'data' => 'ERROR_RECORD_NOT_FOUND'
1098
                    ];
1051
                    ];
-
 
1052
 
-
 
1053
                    return new JsonModel($data);
Línea 1099... Línea -...
1099
            
-
 
1100
                    return new JsonModel($data);
-
 
1101
                }    
1054
                }
1102
 
1055
 
1103
                if($feed->topic_id!=$topic->id){
1056
                if ($feed->topic_id != $topic->id) {
1104
                    return new JsonModel([
1057
                    return new JsonModel([
1105
                        'success' => false,
1058
                        'success' => false,
1106
                        'data' => 'ERROR_METHOD_NOT_ALLOWED'
1059
                        'data' => 'ERROR_METHOD_NOT_ALLOWED'
1107
                    ]);
1060
                    ]);
1108
                }  
1061
                }
1109
 
1062
 
1110
                $items = $this->renderFeed($feed->id, $now, $group_uuid);   
1063
                $items = $this->renderFeed($feed->id, $now, $group_uuid);
1111
            
1064
 
1112
                $response = [
1065
                $response = [
1113
                    'success' => true,
1066
                    'success' => true,
1114
                    'data' => [
1067
                    'data' => [
1115
                        'item' =>$items,
1068
                        'item' => $items,
1116
                        'topic_title'=>$topic->title,
1069
                        'topic_title' => $topic->title,
1117
                        'feed_title'=>$feed->title
1070
                        'feed_title' => $feed->title
1118
                    ]
1071
                    ]
1119
                ];
1072
                ];
-
 
1073
            }
1120
            }
1074
 
1121
            
1075
            return new JsonModel($response);
1122
            return new JsonModel($response);
1076
        }
1123
        }
1077
    }
1124
    }
1078
    /**
1125
    /**
1079
     *
1126
     *
1080
     * @param string $str
1127
     * @param string $str
1081
     * @return string
1128
     * @return string
1082
     */
1129
     */
1083
    private function normalizeString($str = '')
1130
    private function normalizeString ($str = ''){
1084
    {
1131
        $basename  = substr($str, 0, strrpos($str, '.'));
1085
        $basename  = substr($str, 0, strrpos($str, '.'));
1132
        $basename  = str_replace('.', '-', $basename);
1086
        $basename  = str_replace('.', '-', $basename);
1133
        
1087
 
1134
        $extension  = substr($str, strrpos($str, '.'));
1088
        $extension  = substr($str, strrpos($str, '.'));
1135
        
1089
 
1136
        $str = $basename . $extension;
1090
        $str = $basename . $extension;
1137
        
1091
 
1138
        $str = strip_tags($str);
1092
        $str = strip_tags($str);
1139
        $str = preg_replace('/[\r\n\t ]+/', ' ', $str);
1093
        $str = preg_replace('/[\r\n\t ]+/', ' ', $str);
1140
        $str = preg_replace('/[\"\*\/\:\<\>\?\'\|\,]+/', ' ', $str);
1094
        $str = preg_replace('/[\"\*\/\:\<\>\?\'\|\,]+/', ' ', $str);
1141
        $str = strtolower($str);
1095
        $str = strtolower($str);
1142
        $str = html_entity_decode( $str, ENT_QUOTES, "utf-8" );
1096
        $str = html_entity_decode($str, ENT_QUOTES, "utf-8");
1143
        $str = htmlentities($str, ENT_QUOTES, "utf-8");
1097
        $str = htmlentities($str, ENT_QUOTES, "utf-8");
1144
        $str = preg_replace("/(&)([a-z])([a-z]+;)/i", '$2', $str);
1098
        $str = preg_replace("/(&)([a-z])([a-z]+;)/i", '$2', $str);
1145
        $str = str_replace(' ', '-', $str);
1099
        $str = str_replace(' ', '-', $str);
1146
        $str = rawurlencode($str);
1100
        $str = rawurlencode($str);
1147
        $str = str_replace('%', '-', $str);
1101
        $str = str_replace('%', '-', $str);
1148
        return trim(strtolower($str));
1102
        return trim(strtolower($str));
1149
    }
1103
    }
1150
    
-
 
Línea 1151... Línea -...
1151
    
-
 
Línea -... Línea 1104...
-
 
1104
 
1152
    
1105
 
-
 
1106
 
1153
    /**
1107
    /**
1154
     *
1108
     *
1155
     * @param int $feed_id
1109
     * @param int $feed_id
1156
     * @param Company $company
1110
     * @param Company $company
1157
     * @return array
1111
     * @return array
1158
     */
1112
     */
1159
    private function renderFeed($feed_id, $now , $group_uuid = '', $myt_id = '' )
1113
    private function renderFeed($feed_id, $now, $group_uuid = '', $myt_id = '')
1160
    {
1114
    {
1161
        
1115
 
Línea 1162... Línea 1116...
1162
 
1116
 
1163
        
1117
 
1164
 
1118
 
1165
        
1119
 
1166
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1120
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1167
        $currentUser = $currentUserPlugin->getUser();
1121
        $currentUser = $currentUserPlugin->getUser();
1168
        $currentCompany = $currentUserPlugin->getCompany();
1122
        $currentCompany = $currentUserPlugin->getCompany();
1169
        
1123
 
Línea 1170... Línea 1124...
1170
        $companyMapper = CompanyMapper::getInstance($this->adapter);
1124
        $companyMapper = CompanyMapper::getInstance($this->adapter);
1171
        $company = $companyMapper->fetchOne($currentCompany->id);
1125
        $company = $companyMapper->fetchOne($currentCompany->id);
1172
        
1126
 
Línea 1173... Línea 1127...
1173
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
1127
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
1174
        $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
1128
        $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
1175
 
1129
 
1176
        $currentNetworkPlugin = $this->plugin('currentNetworkPlugin');
1130
        $currentNetworkPlugin = $this->plugin('currentNetworkPlugin');
1177
        $network = $currentNetworkPlugin->getNetwork();
1131
        $network = $currentNetworkPlugin->getNetwork();
1178
        
1132
 
1179
        $acl = $this->getEvent()->getViewModel()->getVariable('acl');
1133
        $acl = $this->getEvent()->getViewModel()->getVariable('acl');
1180
        
1134
 
1181
        $feedMapper = FeedMapper::getInstance($this->adapter);
1135
        $feedMapper = FeedMapper::getInstance($this->adapter);
1182
        $feed = $feedMapper->fetchOne($feed_id);
1136
        $feed = $feedMapper->fetchOne($feed_id);
1183
        
1137
 
1184
 
1138
 
1185
        $params = [
1139
        $params = [
1186
            'id' => $feed->uuid
1140
            'id' => $feed->uuid
1187
        ];
-
 
Línea -... Línea 1141...
-
 
1141
        ];
1188
 
1142
 
1189
        
1143
 
1190
        $item = [
1144
        $item = [
1191
            'feed_unique' => uniqid(),
1145
            'feed_unique' => uniqid(),
1192
            'feed_uuid' => $feed->uuid,
1146
            'feed_uuid' => $feed->uuid,
1193
            'feed_delete_url' =>  $this->url()->fromRoute('feeds/delete',  $params),
1147
            'feed_delete_url' =>  $this->url()->fromRoute('feeds/delete',  $params),
1194
            'feed_content_type' => $feed->file_type ? $feed->file_type : '',
1148
            'feed_content_type' => $feed->file_type ? $feed->file_type : '',
1195
            'feed_delete_url' => $this->url()->fromRoute('feeds/delete',  $params),
1149
            'feed_delete_url' => $this->url()->fromRoute('feeds/delete',  $params),
1196
            'owner_url' =>  'https://'. $network->main_hostname . '/company/view/' . $company->uuid,
1150
            'owner_url' =>  'https://' . $network->main_hostname . '/company/view/' . $company->uuid,
1197
            'owner_image' => $this->url()->fromRoute('storage', ['code' => $company->uuid, 'type' => 'company', 'filename' => $company->image]),
-
 
1198
            'owner_name' => $company->name ,
1151
            'owner_image' => $this->url()->fromRoute('storage', ['code' => $company->uuid, 'type' => 'company', 'filename' => $company->image]),
1199
        ];
1152
            'owner_name' => $company->name,
1200
        
1153
        ];
1201
        $userMapper = UserMapper::getInstance($this->adapter);
1154
 
1202
        $user = $userMapper->fetchOne($feed->user_id);
1155
        $userMapper = UserMapper::getInstance($this->adapter);
1203
        
1156
        $user = $userMapper->fetchOne($feed->user_id);
1204
 
1157
 
1205
        $item['owner_description'] = strip_tags($feed->description, 'p');        
1158
 
1206
        $item['owner_shared'] = $feed->total_shared;
1159
        $item['owner_description'] = strip_tags($feed->description, 'p');
1207
        $item['owner_comments'] = $feed->total_comments;
1160
        $item['owner_shared'] = $feed->total_shared;
1208
        
1161
        $item['owner_comments'] = $feed->total_comments;
1209
        
1162
 
1210
        $item['owner_time_elapse'] = Functions::timeAgo( $feed->added_on, $now);
1163
 
1211
        
1164
        $item['owner_time_elapse'] = Functions::timeAgo($feed->added_on, $now);
1212
        if($feed->file_type == Feed::FILE_TYPE_IMAGE) {
1165
 
1213
            $item['owner_file_image'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
1166
        if ($feed->file_type == Feed::FILE_TYPE_IMAGE) {
1214
            
-
 
1215
        }
1167
            $item['owner_file_image'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
Línea 1216... Línea 1168...
1216
        if($feed->file_type == Feed::FILE_TYPE_DOCUMENT) {
1168
        }
1217
            $item['owner_file_document'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
1169
        if ($feed->file_type == Feed::FILE_TYPE_DOCUMENT) {
1218
        }
1170
            $item['owner_file_document'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
1219
        if($feed->file_type == Feed::FILE_TYPE_VIDEO) {
1171
        }
1220
            $item['owner_file_image_preview'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_image_preview]);
1172
        if ($feed->file_type == Feed::FILE_TYPE_VIDEO) {
1221
            $item['owner_file_video'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
1173
            $item['owner_file_image_preview'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_image_preview]);
1222
        }
1174
            $item['owner_file_video'] = $this->url()->fromRoute('storage', ['code' => $feed->uuid, 'type' => 'feed', 'filename' => $feed->file_name]);
1223
        
1175
        }
1224
        $commentMapper = CommentMapper::getInstance($this->adapter);
1176
 
1225
        $records = $commentMapper->fetchAllPublishedByFeedId($feed->id);
1177
        $commentMapper = CommentMapper::getInstance($this->adapter);
1226
        
1178
        $records = $commentMapper->fetchAllPublishedByFeedId($feed->id);
1227
        
1179
 
1228
        $comments = [];
1180
 
1229
        $comment_count=0;
1181
        $comments = [];
1230
        foreach($records as $record)
1182
        $comment_count = 0;
1231
        {
1183
        foreach ($records as $record) {
1232
            $user = $userMapper->fetchOne($record->user_id);
1184
            $user = $userMapper->fetchOne($record->user_id);
1233
 
1185
 
1234
            $comment = [];
1186
            $comment = [];
1235
            $comment['unique'] = uniqid();
1187
            $comment['unique'] = uniqid();
1236
            $comment_count++;
1188
            $comment_count++;
1237
            $comment['comment_index']=$comment_count;
1189
            $comment['comment_index'] = $comment_count;
1238
            $user = $userMapper->fetchOne($record->user_id);
1190
            $user = $userMapper->fetchOne($record->user_id);
1239
            if($user->id == $owner->user_id) {
-
 
1240
                $comment['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image ]);
1191
            if ($user->id == $owner->user_id) {
Línea 1241... Línea 1192...
1241
                $comment['user_url'] =  'https://'. $network->main_hostname . '/company/view/' . $company->uuid;
1192
                $comment['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image]);
1242
                $comment['user_name'] = $company->name;
1193
                $comment['user_url'] =  'https://' . $network->main_hostname . '/company/view/' . $company->uuid;
1243
            } else {
1194
                $comment['user_name'] = $company->name;
1244
                $comment['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image ]);
1195
            } else {
1245
                $comment['user_url'] = 'https://'. $network->main_hostname . '/profile/view/' .$user->uuid;
1196
                $comment['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image]);
1246
                $comment['user_name'] = $user->first_name . ' ' . $user->last_name;
1197
                $comment['user_url'] = 'https://' . $network->main_hostname . '/profile/view/' . $user->uuid;
1247
            }
1198
                $comment['user_name'] = $user->first_name . ' ' . $user->last_name;
1248
            $comment['link_delete'] = $this->url()->fromRoute('feeds/comments/delete',['id' => $feed->uuid, 'comment' => $record->uuid ]);
1199
            }
1249
            $comment['link_answer_add'] = $this->url()->fromRoute('feeds/comments/answer',['id' => $feed->uuid, 'comment' => $record->uuid ]);
1200
            $comment['link_delete'] = $this->url()->fromRoute('feeds/comments/delete', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1250
            $comment['time_elapsed'] = Functions::timeAgo(  $record->added_on, $now);
1201
            $comment['link_answer_add'] = $this->url()->fromRoute('feeds/comments/answer', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1251
            $comment['comment'] = $record->comment;
1202
            $comment['time_elapsed'] = Functions::timeAgo($record->added_on, $now);
1252
            
1203
            $comment['comment'] = $record->comment;
1253
            $records2 = $commentMapper->fetchAllPublishedByCommentId($record->id);
1204
 
1254
            $answers = [];
1205
            $records2 = $commentMapper->fetchAllPublishedByCommentId($record->id);
1255
            $contador=0;
1206
            $answers = [];
1256
            foreach($records2 as $record2)
1207
            $contador = 0;
1257
            {
1208
            foreach ($records2 as $record2) {
1258
                $user = $userMapper->fetchOne($record2->user_id);
1209
                $user = $userMapper->fetchOne($record2->user_id);
1259
 
1210
 
Línea 1260... Línea 1211...
1260
 
1211
 
1261
                $answer = [];
1212
                $answer = [];
1262
                $answer['unique'] = uniqid();
1213
                $answer['unique'] = uniqid();
1263
                
1214
 
1264
                
1215
 
1265
                $user = $userMapper->fetchOne($record2->user_id);
1216
                $user = $userMapper->fetchOne($record2->user_id);
1266
                if($user->id == $owner->user_id) {
1217
                if ($user->id == $owner->user_id) {
1267
                    $answer['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image ]);
1218
                    $answer['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image]);
1268
                    $answer['user_url'] =  'https://'. $network->main_hostname . '/company/view/' .$company->uuid;
1219
                    $answer['user_url'] =  'https://' . $network->main_hostname . '/company/view/' . $company->uuid;
1269
                    $answer['user_name'] = $company->name;
1220
                    $answer['user_name'] = $company->name;
1270
                } else {
1221
                } else {
1271
                    $answer['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image ]);
1222
                    $answer['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image]);
1272
                    $answer['user_url'] = 'https://'. $network->main_hostname . '/profile/view/' . $user->uuid;
1223
                    $answer['user_url'] = 'https://' . $network->main_hostname . '/profile/view/' . $user->uuid;
1273
                    $answer['user_name'] = $user->first_name . ' ' . $user->last_name;
1224
                    $answer['user_name'] = $user->first_name . ' ' . $user->last_name;
1274
                }
1225
                }
1275
                $answer['link_delete'] = $this->url()->fromRoute('feeds/comments/delete',['id' => $feed->uuid, 'comment' => $record2->uuid ]);
1226
                $answer['link_delete'] = $this->url()->fromRoute('feeds/comments/delete', ['id' => $feed->uuid, 'comment' => $record2->uuid]);
1276
                $answer['time_elapsed'] = Functions::timeAgo($record2->added_on, $now);
1227
                $answer['time_elapsed'] = Functions::timeAgo($record2->added_on, $now);
1277
                $answer['comment'] = $record2->comment;
1228
                $answer['comment'] = $record2->comment;
1278
                
1229
 
1279
                $records2 = $commentMapper->fetchAllPublishedByCommentId($record2->id);
1230
                $records2 = $commentMapper->fetchAllPublishedByCommentId($record2->id);
1280
 
1231
 
1281
                $contador++;
1232
                $contador++;
1282
                array_push($answers, $answer);
1233
                array_push($answers, $answer);
1283
            }
1234
            }
1284
            $comment['number_answers']=$contador;
1235
            $comment['number_answers'] = $contador;
1285
            $comment['answers'] = $answers;
1236
            $comment['answers'] = $answers;
1286
            array_push($comments, $comment);
1237
            array_push($comments, $comment);
1287
        }
1238
        }
1288
        $item['comment_add_url'] = $this->url()->fromRoute('feeds/comments', ['id' => $feed->uuid]);
1239
        $item['comment_add_url'] = $this->url()->fromRoute('feeds/comments', ['id' => $feed->uuid]);
1289
            $item['comments'] = $comments;
1240
        $item['comments'] = $comments;
1290
        
1241
 
1291
        
1242
 
1292
        
1243
 
Línea 1293... Línea 1244...
1293
        return $item;
1244
        return $item;
1294
    }
1245
    }
1295
    
1246
 
1296
    /**
1247
    /**
1297
     *
1248
     *
1298
     * @param int $comment_id
1249
     * @param int $comment_id
1299
     * @return array
1250
     * @return array
1300
     */
1251
     */
1301
    private function renderComment($comment_id, $now)
1252
    private function renderComment($comment_id, $now)
1302
    {
1253
    {
1303
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1254
        $currentUserPlugin = $this->plugin('currentUserPlugin');
1304
        $currentUser = $currentUserPlugin->getUser();
1255
        $currentUser = $currentUserPlugin->getUser();
1305
        
1256
 
1306
        $currentNetworkPlugin = $this->plugin('currentNetworkPlugin');
1257
        $currentNetworkPlugin = $this->plugin('currentNetworkPlugin');
1307
        $network = $currentNetworkPlugin->getNetwork();
1258
        $network = $currentNetworkPlugin->getNetwork();
1308
        
1259
 
1309
        
1260
 
1310
        $currentCompany = $currentUserPlugin->getCompany();
1261
        $currentCompany = $currentUserPlugin->getCompany();
1311
        
1262
 
1312
        $companyMapper = CompanyMapper::getInstance($this->adapter);
1263
        $companyMapper = CompanyMapper::getInstance($this->adapter);
Línea 1313... Línea 1264...
1313
        $company = $companyMapper->fetchOne($currentCompany->id);
1264
        $company = $companyMapper->fetchOne($currentCompany->id);
1314
 
1265
 
1315
        
1266
 
1316
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
1267
        $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
1317
        $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id); 
1268
        $owner = $companyUserMapper->fetchOwnerByCompanyId($currentCompany->id);
1318
        
1269
 
1319
        
1270
 
1320
        
1271
 
1321
 
1272
 
1322
        
1273
 
1323
        
1274
 
1324
        $item = [];
1275
        $item = [];
1325
        
1276
 
1326
        $commentMapper = CommentMapper::getInstance($this->adapter);
1277
        $commentMapper = CommentMapper::getInstance($this->adapter);
1327
        $record = $commentMapper->fetchOne($comment_id);
1278
        $record = $commentMapper->fetchOne($comment_id);
1328
        
1279
 
1329
        $feedMapper = FeedMapper::getInstance($this->adapter);
1280
        $feedMapper = FeedMapper::getInstance($this->adapter);
1330
        $feed = $feedMapper->fetchOne($record->feed_id);
1281
        $feed = $feedMapper->fetchOne($record->feed_id);
1331
        
1282
 
1332
        if($record) {
1283
        if ($record) {
1333
            $userMapper = UserMapper::getInstance($this->adapter);
1284
            $userMapper = UserMapper::getInstance($this->adapter);
1334
            
-
 
1335
 
1285
 
1336
            $item = [];
1286
 
1337
            $item['unique'] = uniqid();
1287
            $item = [];
1338
            
1288
            $item['unique'] = uniqid();
1339
            
1289
 
1340
            $user = $userMapper->fetchOne($record->user_id);
1290
 
1341
            if($user->id == $owner->user_id) {
1291
            $user = $userMapper->fetchOne($record->user_id);
1342
                $item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image ]);
1292
            if ($user->id == $owner->user_id) {
1343
                $item['user_url'] =  'https://'. $network->main_hostname . '/company/view/' . $company->uuid;
1293
                $item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'company',  'code' => $company->uuid, 'filename' =>  $company->image]);
1344
                $item['user_name'] = $company->name;
1294
                $item['user_url'] =  'https://' . $network->main_hostname . '/company/view/' . $company->uuid;
1345
            } else {
1295
                $item['user_name'] = $company->name;
1346
                $item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image ]);
1296
            } else {
1347
                $item['user_url'] = 'https://'. $network->main_hostname . '/profile/view/' . $user->uuid;
1297
                $item['user_image'] = $this->url()->fromRoute('storage', ['type' => 'user',  'code' => $user->uuid, 'filename' =>  $user->image]);
1348
                $item['user_name'] = $user->first_name . ' ' . $user->last_name;
1298
                $item['user_url'] = 'https://' . $network->main_hostname . '/profile/view/' . $user->uuid;
1349
            }
1299
                $item['user_name'] = $user->first_name . ' ' . $user->last_name;
1350
            
-
 
1351
            
1300
            }
1352
          
1301
 
1353
            $item['link_answer_add'] = $this->url()->fromRoute('feeds/comments/answer',['id' => $feed->uuid, 'comment' => $record->uuid ]);
1302
 
1354
            $item['link_delete'] = $this->url()->fromRoute('feeds/comments/delete',['id' => $feed->uuid, 'comment' => $record->uuid ]);
1303
 
1355
            $item['time_elapsed'] = Functions::timeAgo($record->added_on, $now);
1304
            $item['link_answer_add'] = $this->url()->fromRoute('feeds/comments/answer', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1356
            $item['comment'] = $record->comment;
1305
            $item['link_delete'] = $this->url()->fromRoute('feeds/comments/delete', ['id' => $feed->uuid, 'comment' => $record->uuid]);
1357
            
1306
            $item['time_elapsed'] = Functions::timeAgo($record->added_on, $now);
1358
        }
1307
            $item['comment'] = $record->comment;
1359
        return $item;
1308
        }
1360
    }
1309
        return $item;
1361
    
1310
    }
1362
    /**
-
 
1363
     *
1311
 
1364
     * @param string $path
-
 
1365
     * @return boolean
1312
    /**
1366
     */
1313
     *
1367
    private function deletePath($path)
1314
     * @param string $path
1368
    {
1315
     * @return boolean
1369
        try {
-
 
1370
            if (is_dir($path)){
1316
     */