Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 423 Rev 424
Línea 529... Línea 529...
529
            }
529
            }
Línea 530... Línea 530...
530
            
530
            
531
            $feed->company_id   = $company ? $company->id : null;
531
            $feed->company_id   = $company ? $company->id : null;
532
            $feed->group_id     = $group ? $group->id : null;
532
            $feed->group_id     = $group ? $group->id : null;
533
            $feed->user_id      = $currentUser->id;
533
            $feed->user_id      = $currentUser->id;
534
 
534
            
535
            if($companyId) {
535
            if($companyId) {
536
                $feed->type = Feed::TYPE_COMPANY;
536
                $feed->type = Feed::TYPE_COMPANY;
537
            } else if ($groupId) {
537
            } else if ($groupId) {
538
                $feed->type = Feed::TYPE_GROUP;
538
                $feed->type = Feed::TYPE_GROUP;
Línea 547... Línea 547...
547
                    'data'      => 'ERROR_SUPPLY_VALID_SHARING_STATUS'
547
                    'data'      => 'ERROR_SUPPLY_VALID_SHARING_STATUS'
548
                ];
548
                ];
549
            }
549
            }
550
            $feed->posted_or_shared = $posted_or_shared;
550
            $feed->posted_or_shared = $posted_or_shared;
551
            $feedMapper = FeedMapper::getInstance($this->adapter);
551
            $feedMapper = FeedMapper::getInstance($this->adapter);
552
 
552
           
553
            $shared_with = isset($dataPost['shared_with']) ? $dataPost['shared_with'] : Feed::SHARE_WITH_PUBLIC;
553
            $shared_with = isset($dataPost['shared_with']) ? $dataPost['shared_with'] : Feed::SHARE_WITH_PUBLIC;
554
            if ($shared_with != Feed::SHARE_WITH_PUBLIC && $shared_with != Feed::SHARE_WITH_CONNECTIONS) {
554
            if ($shared_with != Feed::SHARE_WITH_PUBLIC && $shared_with != Feed::SHARE_WITH_CONNECTIONS) {
555
                return [
555
                return [
556
                    'status' => false,
556
                    'status' => false,
557
                    'error' => 'ERROR_SUPPLY_VALID_SHARING_WITH_TYPE',
557
                    'error' => 'ERROR_SUPPLY_VALID_SHARING_WITH_TYPE',
Línea 585... Línea 585...
585
            $feed->total_shared     = 0;
585
            $feed->total_shared     = 0;
Línea 586... Línea 586...
586
                
586
                
587
            
587
            
588
            $files = $this->getRequest()->getFiles()->toArray();
588
            $files = $this->getRequest()->getFiles()->toArray();
589
            $file_type = '';
589
            $file_type = '';
590
 
590
            
Línea 591... Línea 591...
591
            $encoding = $this->params()->fromRoute('encoding');
591
            $encoding = $this->params()->fromRoute('encoding');
Línea 647... Línea 647...
647
                    } else if($mime_type == 'application/pdf') {
647
                    } else if($mime_type == 'application/pdf') {
648
                        $file_type = Feed::FILE_TYPE_DOCUMENT;
648
                        $file_type = Feed::FILE_TYPE_DOCUMENT;
649
                    }
649
                    }
650
                }
650
                }
651
            }
651
            }
652
            $feed->id=300;
-
 
653
            $feed->uuid=time();
-
 
654
            $feed->file_image_preview='text.png';
-
 
655
           
652
 
-
 
653
 
-
 
654
            
656
            $result = $feedMapper->insert($feed);
655
            $result = $feedMapper->insert($feed);
657
            if($result) {
-
 
-
 
656
 
658
            return [
657
            return [
659
                'success'   => false,
658
                'success'   => false,
660
               'datoSave'   => $feed
659
                'data'   => $feedMapper->getError()
661
            ];
660
            ];
662
        }
-
 
Línea -... Línea 661...
-
 
661
 
-
 
662
 
-
 
663
 
-
 
664
 
-
 
665
            if($result) {
-
 
666
                
-
 
667
                if($sharedFeed && $sharedFeed->type == Feed::TYPE_UPDATE) {
-
 
668
            
-
 
669
                
-
 
670
                    $userMapper = UserMapper::getInstance($this->adapter);
-
 
671
                    $ownerFeed = $userMapper->fetchOne($sharedFeed->user_id);
-
 
672
                    
-
 
673
                    $notification = new Notification();
-
 
674
                    $notification->type     = Notification::TYPE_SHARE_MY_FEED;
-
 
675
                    $notification->read     = Notification::NO;
-
 
676
                    $notification->user_id  = $ownerFeed->id;
-
 
677
                    $notification->feed_id = $feed->id;
-
 
678
                    $notification->message  = 'LABEL_SHARE_MY_FEED';
-
 
679
                    $notification->url      = $this->url()->fromRoute('dashboard',['feed' => $sharedFeed->uuid]);
-
 
680
                    
-
 
681
                    $notificationMapper = NotificationMapper::getInstance($this->adapter);
-
 
682
                    $notificationMapper->insert($notification);
-
 
683
                    
-
 
684
                    $userNotificationMapper = UserNotificationSettingMapper::getInstance($this->adapter);
-
 
685
                    $userNotification = $userNotificationMapper->fetchOne($ownerFeed->id);
-
 
686
                    
-
 
687
                    if($userNotification && $userNotification->share_my_feed)
-
 
688
                    {
-
 
689
                        $emailTemplateMapper = EmailTemplateMapper::getInstance($this->adapter);
-
 
690
                        $emailTemplate = $emailTemplateMapper->fetchOne(EmailTemplate::ID_SHARE_MY_FEED);
-
 
691
                        
-
 
692
                        if($emailTemplate) {
-
 
693
                            $arrayCont = [
-
 
694
                                'firstname'             => $currentUser->first_name,
-
 
695
                                'lastname'              => $currentUser->last_name,
-
 
696
                                'other_user_firstname'  => $ownerFeed->first_name,
-
 
697
                                'other_user_lastname'   => $ownerFeed->last_name,
-
 
698
                                'company_name'          => '',
-
 
699
                                'group_name'            => '',
-
 
700
                                'content'               => '',
-
 
701
                                'code'                  => '',
-
 
702
                                'link'                  => $this->url()->fromRoute('dashboard',['feed' => $feed->uuid], ['force_canonical' => true])
-
 
703
                            ];
-
 
704
                            
-
 
705
                            $email = new QueueEmail($this->adapter);
-
 
706
                            $email->processEmailTemplate($emailTemplate, $arrayCont, $ownerFeed->email, trim($ownerFeed->first_name . ' ' . $ownerFeed->last_name));
-
 
707
                        }
-
 
708
                    }
-
 
709
                }
-
 
710
                
-
 
711
                
-
 
712
                $feed = $feedMapper->fetchOne($feed->id);
-
 
713
                
-
 
714
                
-
 
715
                
-
 
716
                
-
 
717
                
-
 
718
                if( $file_type == Feed::FILE_TYPE_DOCUMENT) {
-
 
719
                    try {
-
 
720
                        $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
-
 
721
                        if(!file_exists($target_path)) {
-
 
722
                            mkdir($target_path, 0755);
-
 
723
                        }
-
 
724
                        
-
 
725
                        $full_filename = $target_path  . DIRECTORY_SEPARATOR .$feed_filename;
-
 
726
                        
-
 
727
                        if($encoding == 'base64') {
-
 
728
                            $resultMoveOrRename = rename($feed_tmp_filename , $full_filename);
-
 
729
                        } else {
-
 
730
                            $resultMoveOrRename = move_uploaded_file($feed_tmp_filename , $full_filename);
-
 
731
                        }
-
 
732
                        
-
 
733
                        if($resultMoveOrRename) {
-
 
734
                              
-
 
735
                            $feed->file_type = $file_type;
-
 
736
                            $feed->file_name = basename($feed_filename);
-
 
737
                            $feedMapper->update($feed);
-
 
738
                        } else {
-
 
739
                            error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename );
-
 
740
                        }
-
 
741
                    } catch(\Throwable $e) {
-
 
742
                        error_log($e->getTraceAsString());
-
 
743
                    }
-
 
744
                }
-
 
745
                if( $file_type == Feed::FILE_TYPE_IMAGE) {
-
 
746
                    try {
-
 
747
                        $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
-
 
748
                        if(!file_exists($target_path)) {
-
 
749
                            mkdir($target_path, 0755);
-
 
750
                        }
-
 
751
                        
-
 
752
                        list($target_width, $target_height) = explode('x', $this->config['leaderslinked.image_sizes.feed_image_size']);
-
 
753
 
-
 
754
                        $feed_filename = substr($feed_filename, 0, strrpos($feed_filename, '.'))  . '.png';
-
 
755
                        $crop_to_dimensions = false;
-
 
756
                        if(Image::uploadImage($feed_tmp_filename, $target_path, $feed_filename, $target_width, $target_height, $crop_to_dimensions )) {
-
 
757
                            $feed->file_type = $file_type;
-
 
758
                            $feed->file_name = basename($feed_filename);
-
 
759
                            $feedMapper->update($feed);
-
 
760
                        }
-
 
761
                    } catch(\Throwable $e) {
-
 
762
                        error_log($e->getTraceAsString());
-
 
763
                    }
-
 
764
                }
-
 
765
                if( $file_type == Feed::FILE_TYPE_VIDEO) {
-
 
766
                    try {
-
 
767
                        $target_path = $this->config['leaderslinked.fullpath.feed'] . $feed->uuid;
-
 
768
                        if(!file_exists($target_path)) {
-
 
769
                            mkdir($target_path, 0755);
-
 
770
                        }
-
 
771
                        
-
 
772
                        $full_filename = $target_path  . DIRECTORY_SEPARATOR . $feed_filename;
-
 
773
 
-
 
774
                        if($encoding == 'base64') {
-
 
775
                            $resultMoveOrRename = rename($feed_tmp_filename , $full_filename);
-
 
776
                        } else {
-
 
777
                            $resultMoveOrRename = move_uploaded_file($feed_tmp_filename , $full_filename);
-
 
778
                        }
-
 
779
                        
-
 
780
                        if($resultMoveOrRename) {
-
 
781
                        
-
 
782
                            $size = $this->config['leaderslinked.image_sizes.feed_image_size'];
-
 
783
                           // $getFromSecound = 2;
-
 
784
                                
-
 
785
                            //extracción del cover
-
 
786
                            $generateFileName = substr($feed_filename, 0, strrpos($feed_filename, '.'));
-
 
787
                            $generateFile =  $target_path  . DIRECTORY_SEPARATOR . $generateFileName .  '.png';
-
 
788
                           // $cmd            = "/usr/bin/ffmpeg -i $full_filename -an -ss $getFromSecound -s $size $generateFile";
-
 
789
                            $cmd            = "/usr/bin/ffmpeg -i $full_filename -frames:v 1 -s $size $generateFile";
-
 
790
                            
-
 
791
                            
-
 
792
                            exec($cmd);
-
 
793
                            
-
 
794
                          
-
 
795
                            $feed->file_type = $file_type;
-
 
796
                            $feed->file_name = basename($feed_filename);
-
 
797
                            $feed->file_image_preview = basename($generateFile);
-
 
798
                            $feedMapper->update($feed);
-
 
799
                            
-
 
800
                            $videoConvert = new VideoConvert();
-
 
801
                            $videoConvert->filename = $full_filename;
-
 
802
                            $videoConvert->type = VideoConvert::TYPE_FEED;
-
 
803
                            
-
 
804
                            $videoConvertMapper = VideoConvertMapper::getInstance($this->adapter);
-
 
805
                            $videoConvertMapper->insert($videoConvert);
-
 
806
                        } else {
-
 
807
                            error_log('no se pudo mover o renombrar el documento : ' . $feed_tmp_filename . ' al directorio : ' . $full_filename );
-
 
808
                        }
-
 
809
                    } catch(\Throwable $e) {
-
 
810
                        error_log($e->getTraceAsString());
-
 
811
                    }
-
 
812
                }
-
 
813
 
-
 
814
 
-
 
815
                return [
-
 
816
                    'success'   => true,
-
 
817
                    'data'   => $this->renderFeed($feed->id)
-
 
818
                ];
-
 
819
           } else {
-
 
820
                return [
-
 
821
                    'success'   => false,
-
 
822
                    'data'   => $feedMapper->getError()
-
 
823
                ];
-
 
824
           }
-
 
825
        } else {
-
 
826
            $messages = [];
-
 
827
            $form_messages = (array) $form->getMessages();
-
 
828
            foreach($form_messages  as $fieldname => $field_messages)
-
 
829
            {
-
 
830
                $messages[$fieldname] = array_values($field_messages);
-
 
831
            }
663
 
832
                    
664
        return [
833
            return [
665
            'success'   => false,
834
                'success'   => false,
666
           'data'   => $feed
835
               'data'   => $messages
667
        ];
836
            ];
668
        }
837
        }
Línea 669... Línea 838...
669
    }
838
    }
670
    
839