Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7294 | Rev 7428 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3657 stevensc 1
<?php
1 www 2
$currentUser = $this->currentUserHelper();
3
$currentUser = $currentUser->getUser();
4
 
5
$routeTimeline = $this->url('feeds/timeline');
6
 
7
 
8
$this->headLink()->appendStylesheet($this->basePath('plugins/nprogress/nprogress.css'));
9
$this->inlineScript()->appendFile($this->basePath('plugins/nprogress/nprogress.js'));
10
 
11
$this->inlineScript()->appendFile($this->basePath('plugins/ckeditor/ckeditor.js'));
12
 
13
 
14
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/css/fileinput.min.css'));
15
$this->headLink()->appendStylesheet($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fa/theme.css'));
16
 
17
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/piexif.js'));
18
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/plugins/sortable.js'));
19
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/fileinput.js'));
20
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/js/locales/es.js'));
21
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/fa/theme.js'));
22
$this->inlineScript()->appendFile($this->basePath('plugins/bootstrap-fileinput/themes/explorer-fa/theme.js'));
23
 
24
 
25
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/jquery.validate.js'));
26
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/additional-methods.js'));
27
$this->inlineScript()->appendFile($this->basePath('plugins/jquery-validation/localization/messages_es.js'));
28
 
29
$this->inlineScript()->appendFile($this->basePath('plugins/jsrender/jsrender.min.js'));
30
 
31
 
32
$this->inlineScript()->appendFile($this->basePath('plugins/bootbox/bootbox.all.min.js'));
33
 
34
$this->inlineScript()->captureStart();
4212 stevensc 35
 
1 www 36
echo <<<JS
37
jQuery( document ).ready(function( $ ) {
38
    var feed_unique_shared = '';
39
 
40
    $.validator.addMethod('requiredContent', function (value, element, param) {
41
        value = $.trim($.fn.stripHtml(value));
42
        return value.length > 0;
43
    }, 'ERROR_REQUIRED');
44
 
45
    $.fn.reload = function(page) {
46
        NProgress.start();
47
        $.ajax({
48
            'dataType'  : 'json',
49
            'accept'    : 'application/json',
50
            'method'    : 'get',
51
            'data'      : {
52
                'page' : page
53
            },
54
            'url'       :  '$routeTimeline'
55
        }).done(function(response) {
56
            if(response['success']) {
57
                $('.posts-section').empty();
58
 
59
                $( ".posts-section" ).append(
60
                    $( "#feedTemplate" ).render( response['data']['current']['items'] )
61
                );
62
 
63
 
64
                if(response['data']['total']['pages'] > 1 ) {
65
 
66
                    $('#paginator-process-comm').show();
67
                    if(response['data']['current']['page']  > 1) {
68
                        $('#btn-page-previous').data('page', response['data']['current']['page'] - 1);
69
                        $('#btn-page-previous').show();
70
                    } else {
71
                         $('#btn-page-previous').hide();
72
                    }
73
                    if(response['data']['current']['page'] <  response['data']['total']['pages']) {
74
                        $('#btn-page-next').data('page', response['data']['current']['page'] + 1);
75
                        $('#btn-page-next').show();
76
                    } else {
77
                         $('#btn-page-next').hide();
78
                    }
79
 
80
                    $('#paginator-process-comm').show();
81
 
82
                } else {
83
                    $('#paginator-process-comm').hide();
84
                }
85
 
86
 
87
            } else {
88
                $.fn.showError(response['data']);
89
            }
90
        }).fail(function( jqXHR, textStatus, errorThrown) {
91
            $.fn.showError(textStatus);
92
        }).always(function() {
93
            NProgress.done();
94
        });
95
 
96
    }
97
 
98
    $('#btn-page-previous').click(function(e) {
99
        e.preventDefault();
100
 
101
        var page = $(this).data('page');
102
        $.fn.reload(page);
103
 
104
    });
105
 
106
    $('#btn-page-next').click(function(e) {
107
        e.preventDefault();
108
 
109
        var page = $(this).data('page');
110
        $.fn.reload(page);
111
 
112
    });
113
 
114
    $.validator.setDefaults({
115
        debug: true,
116
        highlight: function(element) {
117
            $(element).addClass('form-group-has-error');
118
        },
119
        unhighlight: function(element) {
120
            $(element).removeClass('form-group-has-error');
121
        },
122
        errorElement: 'div',
123
        errorClass: 'form-group-invalid-feedback',
124
        errorPlacement: function(error, element) {
125
            if(element.context.id == 'file') {
126
                error.insertAfter(element.parent().parent().parent());
127
            } else {
128
               if(element.parent('.form-group').length) {
129
                    error.insertAfter(element.parent());
130
                } else {
131
                    error.insertAfter(element);
132
                }
133
            }
134
 
135
 
136
        }
137
    });
138
 
139
    $.fn.showFormErrorValidator = function(fieldname, errors) {
140
        var field = $(fieldname);
141
        if(field) {
142
            $(field).addClass('form-group-has-error');
143
 
144
            var error = $('<div id="' + fieldname +'-error" class="form-group-invalid-feedback">' + errors + '</div>');
145
 
146
            var element = $(fieldname)
147
            if(element.parent('.form-group').length) {
148
                error.insertAfter(element.parent());
149
            } else if(element.parent('.file-loading').length) {
150
                error.insertAfter(element.parent().parent());
151
            } else {
152
                error.insertAfter(element);
153
            }
154
        }
155
    };
156
 
157
    var validatorFeed = $('#form-feed').validate({
158
        debug: true,
159
        onclick: false,
160
        onkeyup: false,
161
        onfocusout: false,
162
        ignore: [],
163
        rules: {
164
            'shared_with' : {
165
                required: true,
166
            },
167
           'description': {
168
                updateCkeditor:function() {
169
                        CKEDITOR.instances.description_feed.updateElement();
170
                },
171
                required: true
172
            },
173
        },
174
 
175
        submitHandler: function(form)
176
        {
177
            $('input[type="submit"]').prop('disabled', true);
178
            NProgress.start();
179
            $.ajax({
180
                'dataType'  : 'json',
181
                'accept'    : 'application/json',
182
                'method'    : 'post',
183
                'url'       : $('#form-feed').attr('action'),
184
                'data'      : $('#form-feed').serialize(),
185
            }).done(function(response) {
186
                if(response['success']) {
187
                    var s = $( "#feedTemplate" ).render( response['data'] );
188
                    $(s).prependTo(".posts-section");
189
 
190
                   $('#form-feed')[0].reset()
191
                    $("#modal-feed-box").modal('hide');
192
                } else {
193
                    validatorFeed.resetForm();
194
                    if(jQuery.type(response['data']) == 'string') {
195
                        $.fn.showError(response['data']);
196
                    } else  {
197
                        $.each(response['data'], function( fieldname, errors ) {
198
                            $.fn.showFormErrorValidator('#form-feed #' + fieldname, errors);
199
                        });
200
                    }
201
                }
202
            }).fail(function( jqXHR, textStatus, errorThrown) {
203
                $.fn.showError(textStatus);
204
            }).always(function() {
205
                $('input[type="submit"]').prop('disabled', false);
206
                NProgress.done();
207
            });
208
            return false;
209
        },
210
        invalidHandler: function(form, validator) {
211
 
212
        }
213
    });
214
 
215
    $('.btn-modal-feed-close').click(function(e) {
216
        e.preventDefault();
217
        $('#form-feed')[0].reset()
218
        $('#modal-feed-box').modal('hide');
219
        return false;
220
    });
221
 
222
    $('#description-main, #btn-description-main').click(function(e) {
223
        e.preventDefault();
224
 
225
        $('#form-feed')[0].reset()
226
        validatorFeed.resetForm();
227
        $("#modal-feed-box").modal('show');
228
    })
229
 
230
    var validatorFeedImage = $('#form-feed-image').validate({
231
        debug: true,
232
        onclick: false,
233
        onkeyup: false,
234
        onfocusout: false,
235
        ignore: [],
236
        rules: {
237
            'shared_with' : {
238
                required: true,
239
            },
240
           'description': {
241
                updateCkeditor:function() {
242
                        CKEDITOR.instances.description_image.updateElement();
243
                },
244
                required: true
245
            },
246
           'file': {
247
                required: true,
248
                extension: 'jpg|jpeg|png',
249
                accept: 'image/jpg,image/jpeg,image/png'
250
            },
251
        },
252
 
253
        submitHandler: function(form)
254
        {
255
            var formdata = false;
256
            if (window.FormData){
257
                formdata = new FormData(form); //form[0]);
258
            }
259
 
260
            $('input[type="submit"]').prop('disabled', true);
261
            NProgress.start();
262
            $.ajax({
263
                'dataType'  : 'json',
264
                'accept'    : 'application/json',
265
                'method'    : 'post',
266
                'url'       :  $('#form-feed-image').attr('action'),
267
                'data'      : formdata ? formdata : $('#form-feed-image').serialize(),
268
                'processData': false,
269
                'contentType': false,
270
            }).done(function(response) {
271
                if(response['success']) {
272
 
273
 
274
                    var s = $( "#feedTemplate" ).render( response['data'] );
275
                    $(s).prependTo(".posts-section");
276
 
277
                    $("#modal-feed-image-box").modal('hide');
278
                } else {
279
                    validatorFeedImage.resetForm();
280
                    if(jQuery.type(response['data']) == 'string') {
281
                        $.fn.showError(response['data']);
282
                    } else  {
283
                        $.each(response['data'], function( fieldname, errors ) {
284
                            $.fn.showFormErrorValidator('#form-feed-image #' + fieldname, errors);
285
                        });
286
                    }
287
                }
288
            }).fail(function( jqXHR, textStatus, errorThrown) {
289
                $.fn.showError(textStatus);
290
            }).always(function() {
291
                $('input[type="submit"]').prop('disabled', false);
292
                NProgress.done();
293
            });
294
            return false;
295
        },
296
        invalidHandler: function(form, validator) {
297
 
298
        }
299
    });
300
 
301
    var validatorFeedVideo = $('#form-feed-video').validate({
302
        debug: true,
303
        onclick: false,
304
        onkeyup: false,
305
        onfocusout: false,
306
        ignore: [],
307
        rules: {
308
            'shared_with' : {
309
                required: true,
310
            },
311
           'description': {
312
                updateCkeditor:function() {
313
                        CKEDITOR.instances.description_video.updateElement();
314
                },
315
                required: true
316
            },
317
           'file': {
318
                required: true,
319
                extension: 'webm,mp4,webm',
320
                accept: 'video/webm,video/mpeg,video/mp4'
321
            },
322
        },
323
 
324
        submitHandler: function(form)
325
        {
326
            var formdata = false;
327
            if (window.FormData){
328
                formdata = new FormData(form); //form[0]);
329
            }
330
 
331
            $('input[type="submit"]').prop('disabled', true);
332
            NProgress.start();
333
            $.ajax({
334
                'dataType'  : 'json',
335
                'accept'    : 'application/json',
336
                'method'    : 'post',
337
                'url'       :  $('#form-feed-video').attr('action'),
338
                'data'      : formdata ? formdata : $('#form-feed-video').serialize(),
339
                'processData': false,
340
                'contentType': false,
341
            }).done(function(response) {
342
                if(response['success']) {
343
                    var s = $( "#feedTemplate" ).render( response['data'] );
344
                    $(s).prependTo(".posts-section");
345
 
346
                    $("#modal-feed-video-box").modal('hide');
347
                } else {
348
                    validatorFeedVideo.resetForm();
349
                    if(jQuery.type(response['data']) == 'string') {
350
                        $.fn.showError(response['data']);
351
                    } else  {
352
                        $.each(response['data'], function( fieldname, errors ) {
353
                            $.fn.showFormErrorValidator('#form-feed-video #' + fieldname, errors);
354
                        });
355
                    }
356
                }
357
            }).fail(function( jqXHR, textStatus, errorThrown) {
358
                $.fn.showError(textStatus);
359
            }).always(function() {
360
                $('input[type="submit"]').prop('disabled', false);
361
                NProgress.done();
362
            });
363
            return false;
364
        },
365
        invalidHandler: function(form, validator) {
366
 
367
        }
368
    });
369
 
370
    var validatorFeedDocument = $('#form-feed-document').validate({
371
        debug: true,
372
        onclick: false,
373
        onkeyup: false,
374
        onfocusout: false,
375
        ignore: [],
376
        rules: {
377
            'shared_with' : {
378
                required: true,
379
            },
380
           'description': {
381
                updateCkeditor:function() {
382
                        CKEDITOR.instances.description_document.updateElement();
383
                },
384
                required: true
385
            },
386
           'file': {
387
                required: true,
388
                extension: 'pdf',
389
                accept: 'application/pdf'
390
            },
391
        },
392
 
393
        submitHandler: function(form)
394
        {
395
            var formdata = false;
396
            if (window.FormData){
397
                formdata = new FormData(form); //form[0]);
398
            }
399
 
400
            $('input[type="submit"]').prop('disabled', true);
401
            NProgress.start();
402
            $.ajax({
403
                'dataType'  : 'json',
404
                'accept'    : 'application/json',
405
                'method'    : 'post',
406
                'url'       :  $('#form-feed-document').attr('action'),
407
                'data'      : formdata ? formdata : $('#form-feed-document').serialize(),
408
                'processData': false,
409
                'contentType': false,
410
            }).done(function(response) {
411
                if(response['success']) {
412
                    var s = $( "#feedTemplate" ).render( response['data'] );
413
                    $(s).prependTo(".posts-section");
414
 
415
                    $("#modal-feed-document-box").modal('hide');
416
                } else {
417
                    validatorFeedDocument.resetForm();
418
                    if(jQuery.type(response['data']) == 'string') {
419
                        $.fn.showError(response['data']);
420
                    } else  {
421
                        $.each(response['data'], function( fieldname, errors ) {
422
                            $.fn.showFormErrorValidator('#form-feed-document #' + fieldname, errors);
423
                        });
424
                    }
425
                }
426
            }).fail(function( jqXHR, textStatus, errorThrown) {
427
                $.fn.showError(textStatus);
428
            }).always(function() {
429
                $('input[type="submit"]').prop('disabled', false);
430
                NProgress.done();
431
            });
432
            return false;
433
        },
434
        invalidHandler: function(form, validator) {
435
 
436
        }
437
    });
438
 
439
 
440
 
441
 
442
 
443
    $('a.fa-file').on('click', function(e){
444
        e.preventDefault();
445
 
446
        $('#form-feed-document #shared_with').val('');
447
        $('#form-feed-document #file').val('');
448
        CKEDITOR.instances.description_document.setData('');
449
 
450
        $('#form-feed-document')[0].reset()
451
        validatorFeedDocument.resetForm();
452
        $('#modal-feed-document-box').modal('show');
453
    });
454
 
455
    $('#form-feed-document #file').fileinput({
456
        theme: 'fa',
457
        language: 'es',
458
        showUpload: false,
459
        dropZoneEnabled: false,
460
        maxFileCount: 1,
461
        allowedFileExtensions: ['pdf'],
462
    });
463
 
464
 
465
    $('.btn-modal-feed-document-close').on('click', function(e){
466
        e.preventDefault();
467
 
468
        $('#modal-feed-document-box').modal('hide');
469
        return false;
470
    });
471
 
472
 
473
    $('a.fa-camera').on('click', function(e){
474
        e.preventDefault();
475
 
476
        $('#form-feed-image #shared_with').val('');
477
        $('#form-feed-image #file').val('');
478
        CKEDITOR.instances.description_image.setData('');
479
 
480
        $('#form-feed-image')[0].reset()
481
        validatorFeedImage.resetForm();
482
        $('#modal-feed-image-box').modal('show');
483
    });
484
 
485
    $('#form-feed-image #file').fileinput({
486
        theme: 'fa',
487
        language: 'es',
488
        showUpload: false,
489
        dropZoneEnabled: false,
490
        maxFileCount: 1,
491
        allowedFileExtensions: ['jpg', 'jpeg', 'png', 'gif'],
492
    });
493
 
494
 
495
    $('.btn-modal-feed-image-close').on('click', function(e){
496
        e.preventDefault();
497
 
498
        $('#modal-feed-image-box').modal('hide');
499
        return false;
500
    });
501
 
502
 
503
    $('a.fa-video-camera').on('click', function(e){
504
        e.preventDefault();
505
 
506
        $('#form-feed-video #shared_with').val('');
507
        $('#form-feed-video #file').val('');
508
        CKEDITOR.instances.description_video.setData('');
509
 
510
 
511
        $('#form-feed-video')[0].reset()
512
        validatorFeedVideo.resetForm();
513
        $('#modal-feed-video-box').modal('show');
514
    });
515
 
516
    $('#form-feed-video #file').fileinput({
517
        theme: 'fa',
518
        language: 'es',
519
        showUpload: false,
520
        dropZoneEnabled: false,
521
        maxFileCount: 1,
522
        allowedFileExtensions: ['mp4', 'mpeg','webm'],
523
    });
524
 
525
 
526
    $('.btn-modal-feed-video-close').on('click', function(e){
527
        e.preventDefault();
528
 
529
        $('#modal-feed-video-box').modal('hide');
530
        return false;
531
    });
532
 
533
    $('body').on('click', 'a.btn-indicator', function(e) {
534
 
535
        e.preventDefault();
536
    });
537
 
538
 
539
 
540
 
541
 
542
 
543
    $('body').on('submit', 'form.form-comment-feed', function(e) {
544
        e.preventDefault();
545
 
546
        var form = $(this);
547
        var url = form.attr('action');
548
        var unique  = $(this).data('feed-unique');
549
 
550
        NProgress.start();
551
        $.ajax({
552
            'dataType'  : 'json',
553
            'accept'    : 'application/json',
554
            'method'    : 'post',
555
            'url'       :  url,
556
            'data'      : form.serialize(),
557
        }).done(function(response) {
558
            if(response['success']) {
559
                $('#comment-' + unique).val('');
560
 
561
                var s = $( "#commentTemplate" ).render( response['data'] );
562
                $(s).appendTo('.comment-sec-' + unique + ' ul');
563
 
564
                $('#btn-comments-' + unique).html('<i class="fa fa-comments"></i> ' + response['total_comments']);
565
 
566
                $('form.form-comment-feed > input[name="comment"]').val('');
567
 
568
            } else {
569
               $.fn.showError(response['data']);
570
            }
571
        }).fail(function( jqXHR, textStatus, errorThrown) {
572
            $.fn.showError(textStatus);
573
        }).always(function() {
574
            NProgress.done();
575
        });
576
        return false;
577
 
578
    });
579
 
580
 
581
    $.fn.deleteFeed = function(url, feed_unique) {
582
 
583
 
584
        NProgress.start();
585
        $.ajax({
586
            'dataType'  : 'json',
587
            'accept'    : 'application/json',
588
            'method'    : 'post',
589
            'url'       :  url,
590
        }).done(function(response) {
591
            if(response['success']) {
592
              $('.post-bar-' +  feed_unique).remove();
593
 
594
                $.fn.showSuccess(response['data']);
595
            } else {
596
                $.fn.showError(response['data']);
597
            }
598
        }).fail(function( jqXHR, textStatus, errorThrown) {
599
            $.fn.showError(textStatus);
600
        }).always(function() {
601
            NProgress.done();
602
        });
603
 
604
    }
605
 
606
    $('body').on('click', 'a.btn-feed-trash', function(e) {
607
        e.preventDefault();
608
        var url = $(this).data('link');
609
        var feed_unique = $(this).data('feed-unique');
610
 
611
 
612
 
613
 
614
        bootbox.confirm({
615
            message: 'Esta seguro de borrar esta publicación',
616
            buttons: {
617
                confirm: {
618
                    label: 'Si',
619
                    className: 'btn-danger'
620
                },
621
                cancel: {
622
                    label:  'No',
623
                    className: 'btn-default'
624
                }
625
            },
626
            callback: function (result) {
627
               if(result) {
628
                    $.fn.deleteFeed(url, feed_unique);
629
                }
630
            }
631
        });
632
    });
633
 
634
 
635
    $.fn.deleteComment = function(url, unique) {
636
 
637
         var feed_unique = $('.comment-' + unique).closest('div.comment-sec').data('feed-unique');
638
 
639
        NProgress.start();
640
        $.ajax({
641
            'dataType'  : 'json',
642
            'accept'    : 'application/json',
643
            'method'    : 'post',
644
            'url'       :  url,
645
        }).done(function(response) {
646
            if(response['success']) {
647
 
648
                $('.comment-' + unique).closest('li').remove();
649
                $('#btn-comments-' + feed_unique).html('<i class="fa fa-comments"></i> ' + response['data']['total_comments']);
650
 
651
                $.fn.showSuccess(response['data']['message']);
652
            } else {
653
                $.fn.showError(response['data']);
654
            }
655
        }).fail(function( jqXHR, textStatus, errorThrown) {
656
            $.fn.showError(textStatus);
657
        }).always(function() {
658
            NProgress.done();
659
        });
660
 
661
 
662
    }
663
 
664
 
665
    $('body').on('click', 'a.btn-comment-trash', function(e) {
666
        e.preventDefault();
667
        var url = $(this).data('link');
668
        var unique = $(this).data('comment-unique');
669
 
670
 
671
        bootbox.confirm({
672
            message: 'Esta seguro de borrar este comentario',
673
            buttons: {
674
                confirm: {
675
                    label: 'Si',
676
                    className: 'btn-danger'
677
                },
678
                cancel: {
679
                    label:  'No',
680
                    className: 'btn-default'
681
                }
682
            },
683
            callback: function (result) {
684
               if(result) {
685
                   $.fn.deleteComment(url, unique);
686
                }
687
            }
688
        });
689
    });
690
 
691
 
692
    $('div.modal').on("hide.bs.modal", function() {
693
    	$(".wrapper").removeClass("overlay");
694
    })
695
 
696
 
697
    $.fn.reload(1);
698
 
3646 stevensc 699
    CKEDITOR.replace('description_feed', {
3672 stevensc 700
				toolbar: [
701
                    { name: 'editing', items: [ 'Scayt' ] },
702
                    { name: 'links', items: [ 'Link', 'Unlink'] },
703
                    { name: 'paragraph', items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote' ] },
704
                    { name: 'basicstyles', items: [ 'Bold', 'Italic', 'Strike', 'RemoveFormat' ] },
3650 stevensc 705
                    '/',
3672 stevensc 706
                    { name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule', 'SpecialChar' ] },
707
                    { name: 'styles', items: [ 'Styles', 'Format' ] },
708
                    { name: 'tools', items: [ 'Maximize' ] }
3646 stevensc 709
                ],
3928 stevensc 710
                removePlugins: 'elementspath,Anchor',
3646 stevensc 711
				height: 100
712
			});
1 www 713
    CKEDITOR.replace('description_video');
714
    CKEDITOR.replace('description_image');
715
    CKEDITOR.replace('description_document');
716
 
717
 
718
});
719
JS;
720
$this->inlineScript()->captureEnd();
721
 
7154 stevensc 722
$js = <<<JS
7155 stevensc 723
const backendVar={}
7154 stevensc 724
const routeTimeline= "$routeTimeline"
725
JS;
726
 
727
$this->inlineScript()->appendScript($js);
7311 stevensc 728
$this->headLink()->appendStylesheet('css/line-awesome.css');
729
$this->headLink()->appendStylesheet('css/line-awesome-font-awesome.min.css');
730
$this->headLink()->appendStylesheet('vendors/fontawesome-free/css/all.min.css');
731
$this->headLink()->appendStylesheet('vendors/font-awesome/css/font-awesome.min.css');
732
$this->headLink()->appendStylesheet('css/font-awesome.min.css');
733
$this->headLink()->appendStylesheet('vendors/font-awesome/font-awesome.min.css');
7289 stevensc 734
$this->headLink()->appendStylesheet('/react-bundles/feeds/main.css');
7157 stevensc 735
$this->inlineScript()->appendFile('/react-bundles/feeds/feedsBundle.js');
1 www 736
?>
7154 stevensc 737
<div id="admin-feeds"></div>
1 www 738
 
3657 stevensc 739
<section class="content-header">
740
    <div class="container-fluid">
741
        <div class="row mb-2">
742
            <div class="col-sm-12">
743
                <h1>LABEL_FEEDS</h1>
744
            </div>
745
        </div>
746
    </div><!-- /.container-fluid -->
747
</section>
1 www 748
 
3657 stevensc 749
 
750
<section class="content">
751
    <div class="container-fluid">
752
        <div class="feed-container">
753
            <div class="">
754
                <div class="main-ws-sec">
755
                    <div class="">
1 www 756
                        <div class="">
3657 stevensc 757
                            <div class="post-bar">
758
                                <form id="form-main" name="form-main">
759
                                    <div class="post_topbar">
1 www 760
 
3657 stevensc 761
                                        <div class="mar-top clearfix">
762
                                            <div class="form-group">
1 www 763
                                            </div>
3657 stevensc 764
                                            <div class="form-group">
765
                                                <textarea id="description-main" name="description-main" placeholder="¿Qué tienes en mente?" class="form-control" readonly="readonly" rows="2"></textarea>
766
                                            </div>
1 www 767
                                        </div>
3657 stevensc 768
                                        <div class="mar-top clearfix">
769
                                            <button class="btn btn-sm btn-primary pull-right" type="button" id="btn-description-main"><i class="fa fa-pencil fa-fw"></i> LABEL_SHARE </button>
770
                                            <a class="btn btn-trans btn-icon fa fa-video-camera add-tooltip" href="#"></a>
771
                                            <a class="btn btn-trans btn-icon fa fa-camera add-tooltip" href="#"></a>
772
                                            <a class="btn btn-trans btn-icon fa fa-file add-tooltip" href="#"></a>
773
                                        </div>
774
                                    </div>
775
                                </form>
1 www 776
                            </div>
777
                        </div>
778
                    </div>
3657 stevensc 779
                    <!--posts-section star-->
780
                    <div class="posts-section">
1 www 781
 
3657 stevensc 782
                    </div>
1 www 783
 
3657 stevensc 784
                    <div class="process-comm" id="paginator-process-comm" style="display: none">
785
                        <button class="btn btn-sm btn-primary" data-page="0" id="btn-page-previous"> <i class="fa fa-chevron-left" aria-hidden="true"></i> LABEL_PREVIOUS </button>
786
                        <button class="btn btn-sm btn-primary" data-page="0" id="btn-page-next"> LABEL_NEXT <i class="fa fa-chevron-right" aria-hidden="true"></i> </button>
787
                    </div>
788
                    <!--posts-section end-->
789
                </div>
790
            </div>
791
            <!--main-ws-sec end-->
792
        </div>
793
    </div>
794
</section>
795
 
796
 
1 www 797
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-image-box">
3657 stevensc 798
    <div class="modal-dialog" role="document">
799
        <?php
800
        $form = $this->formFeed;
1 www 801
        $form->setAttributes([
802
            'method' => 'post',
803
            'action' => $this->url('feeds/add'),
804
            'name' => 'form-feed-image',
805
            'id' => 'form-feed-image',
3657 stevensc 806
            'enctype' => 'multipart/form-data'
1 www 807
        ]);
808
        $form->prepare();
809
        echo $this->form()->openTag($form);
3657 stevensc 810
 
811
 
812
        ?>
813
        <div class="modal-content">
814
            <div class="modal-header">
815
                <h3 class="modal-title">LABEL_SHARE_IMAGE</h3>
816
            </div>
817
            <div class="modal-body">
1 www 818
                <div class="form-group">
3657 stevensc 819
                    <?php
1 www 820
                    $element = $form->get('description');
821
                    $element->setAttributes(['id' => 'description_image', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
822
                    echo $this->formTextArea($element);
823
                    ?>
3657 stevensc 824
                </div>
825
                <div class="form-group">
826
                    <div class="file-loading">
827
                        <?php
1 www 828
                        $element = $form->get('file');
829
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
830
                        echo $this->formFile($element);
831
                        ?>
3657 stevensc 832
                    </div>
833
                </div>
834
            </div>
835
            <div class="modal-footer">
836
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
837
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-image-close">LABEL_CANCEL</button>
838
            </div>
839
 
840
        </div>
841
        <a href="#" title="" class="close-box btn-feed-image-close"><i class="la la-close"></i></a>
842
        <?php echo $this->form()->closeTag($form); ?>
843
    </div>
1 www 844
</div>
845
 
846
 
847
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-video-box">
3657 stevensc 848
    <div class="modal-dialog" role="document">
849
        <?php
850
        $form = $this->formFeed;
1 www 851
        $form->setAttributes([
852
            'method' => 'post',
853
            'action' => $this->url('feeds/add'),
854
            'name' => 'form-feed-video',
855
            'id' => 'form-feed-video',
3657 stevensc 856
            'enctype' => 'multipart/form-data'
1 www 857
        ]);
858
        $form->prepare();
859
        echo $this->form()->openTag($form);
860
 
3657 stevensc 861
 
862
        ?>
863
        <div class="modal-content">
864
            <div class="modal-header">
865
                <h3 class="modal-title">LABEL_SHARE_VIDEO</h3>
866
            </div>
867
            <div class="modal-body">
1 www 868
                <div class="form-group">
3657 stevensc 869
                    <?php
1 www 870
                    $element = $form->get('description');
871
                    $element->setAttributes(['id' => 'description_video', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
872
                    echo $this->formTextArea($element);
873
                    ?>
3657 stevensc 874
                </div>
875
                <div class="form-group">
876
                    <div class="file-loading">
877
                        <?php
1 www 878
                        $element = $form->get('file');
879
                        $element->setAttributes(['accept' => 'video/webm,video/mpeg,video/mp4']);
880
                        echo $this->formFile($element);
881
                        ?>
3657 stevensc 882
                    </div>
883
                </div>
884
            </div>
885
            <div class="modal-footer">
886
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
887
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-video-close">LABEL_CANCEL</button>
888
            </div>
889
 
890
        </div>
891
        <a href="#" title="" class="close-box btn-feed-video-close"><i class="la la-close"></i></a>
892
        <?php echo $this->form()->closeTag($form); ?>
893
    </div>
1 www 894
</div>
895
 
896
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-document-box">
3657 stevensc 897
    <div class="modal-dialog" role="document">
898
        <?php
899
        $form = $this->formFeed;
1 www 900
        $form->setAttributes([
901
            'method' => 'post',
902
            'action' => $this->url('feeds/add'),
903
            'name' => 'form-feed-document',
904
            'id' => 'form-feed-document',
3657 stevensc 905
            'enctype' => 'multipart/form-data'
1 www 906
        ]);
907
        $form->prepare();
908
        echo $this->form()->openTag($form);
909
 
3657 stevensc 910
 
911
 
912
        ?>
913
        <div class="modal-content">
914
            <div class="modal-header">
915
                <h3 class="modal-title">LABEL_SHARE_DOCUMENT</h3>
916
            </div>
917
            <div class="modal-body">
1 www 918
                <div class="form-group">
3657 stevensc 919
                    <?php
1 www 920
                    $element = $form->get('description');
921
                    $element->setAttributes(['id' => 'description_document', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
922
                    echo $this->formTextArea($element);
923
                    ?>
3657 stevensc 924
                </div>
925
                <div class="form-group">
926
                    <div class="file-loading">
927
                        <?php
1 www 928
                        $element = $form->get('file');
929
                        $element->setAttributes(['accept' => 'application/pdf']);
930
                        echo $this->formFile($element);
931
                        ?>
3657 stevensc 932
                    </div>
933
                </div>
934
            </div>
1 www 935
            <div class="modal-footer">
3657 stevensc 936
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
937
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-document-close">LABEL_CANCEL</button>
1 www 938
            </div>
3657 stevensc 939
        </div>
940
        <a href="#" title="" class="close-box btn-feed-document-close"><i class="la la-close"></i></a>
941
        <?php echo $this->form()->closeTag($form); ?>
942
    </div>
1 www 943
</div>
944
 
945
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-box">
3657 stevensc 946
    <div class="modal-dialog" role="document">
947
        <?php
948
        $form = $this->formFeed;
1 www 949
        $form->setAttributes([
950
            'method' => 'post',
951
            'action' => $this->url('feeds/add'),
952
            'name' => 'form-feed',
953
            'id' => 'form-feed',
954
        ]);
955
        $form->prepare();
956
        echo $this->form()->openTag($form);
957
 
3657 stevensc 958
 
959
 
960
        ?>
961
        <div class="modal-content">
962
            <div class="modal-header">
963
                <h3 class="modal-title">LABEL_SHARE</h3>
964
            </div>
965
            <div class="modal-body">
1 www 966
                <div class="form-group">
3657 stevensc 967
                    <?php
1 www 968
                    $element = $form->get('description');
969
                    $element->setAttributes(['id' => 'description_feed', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
970
                    echo $this->formTextArea($element);
971
                    ?>
3657 stevensc 972
                </div>
973
            </div>
1 www 974
            <div class="modal-footer">
3657 stevensc 975
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_SAVE</button>
976
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-close">LABEL_CANCEL</button>
1 www 977
            </div>
3657 stevensc 978
        </div>
979
        <a href="#" title="" class="close-box btn-modal-feed-close"><i class="la la-close"></i></a>
980
        <?php echo $this->form()->closeTag($form); ?>
981
    </div>
1 www 982
</div>
983
 
984
 
985
 
986
 
987
<script id="commentTemplate" type="text/x-jsrender">
3657 stevensc 988
    <li>
1 www 989
				        <div class="comment-list">
990
							 <div class="comment comment-{{:unique}}" >
991
    					         <a href="{{>user_url}}"><h3>{{>user_name}}</h3>
992
    						     <span><img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>time_elapsed}}
993
                                {{if link_delete}}
994
                                    <a href="#" class="btn-comment-trash" data-link="{{:link_delete}}" data-comment-unique="{{>unique}}"><i class="fa fa-trash"></i></a>
995
                                {{/if}}
996
                                 </span>
997
 
998
								 <p>{{>comment}}</p>
999
						     </div>
1000
	                   </div>
1001
	               </li>
1002
</script>
1003
 
1004
<script id="feedTemplate" type="text/x-jsrender">
1005
    <div class="post-bar post-bar-{{>feed_unique}}">
1006
        <div class="post_topbar">
1007
            <div class="usy-dt">
1008
                <a href="{{>owner_url}}">
1009
                    <img src="{{>owner_image}}" alt="" style="width:50px; height: auto">
1010
                    <div class="usy-name">
1011
                        <h3>{{>owner_name}}</h3>
1012
                        <span>
1013
                            <img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">
1014
                            {{>owner_time_elapse}}
1015
                            {{if feed_delete_url}}
1016
                                <a href="#" class="btn-feed-trash" data-link="{{:feed_delete_url}}" data-feed-unique="{{>feed_unique}}"><i class="fa fa-trash"></i></a>
1017
                            {{/if}}
1018
                        </span>
1019
                    </div>
1020
                </a>
1021
            </div>
1022
        </div>
1023
        <div class="job_descp">
1024
            <p>
1025
            <div  class="show-read-more">{{:owner_description}}</div>
1026
            </p>
1027
            {{if owner_file_image}}
1028
             <img src="{{>owner_file_image}}" class="Entradas">
1029
            {{/if}}
1030
            {{if owner_file_video}}
1031
             <video src="{{>owner_file_video}}" controls  poster="{{>owner_file_image_preview}}">
1032
            {{/if}}
1033
            {{if owner_file_document}}
1034
                <a href="{{>owner_file_document}}" target="_blank">Descargar</a>
1035
            {{/if}}
1036
 
1037
    {{if shared_name}}
1038
    <div class="post-bar">
1039
        <div class="post_topbar">
1040
            <div class="usy-dt">
1041
                <img src="{{>shared_image}}" alt="" style="width:50px; height: auto">
1042
                <div class="usy-name">
1043
                    <h3>{{>shared_name}}</h3>
1044
                    <span><img style="width: 12px; height: auto" src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>shared_time_elapse}}</span>
1045
                </div>
1046
            </div>
1047
        </div>
1048
        <div class="job_descp">
1049
            <p>
1050
            <div  class="show-read-more">{{:shared_description}}</div>
1051
            </p>
1052
            {{if shared_file_image}}
1053
             <img src="{{>shared_file_image}}" class="Entradas">
1054
            {{/if}}
1055
            {{if shared_file_video}}
1056
             <video src="{{>shared_file_video}}" controls  poster="{{>shared_file_image_preview}}">
1057
            {{/if}}
1058
            {{if shared_file_document}}
1059
                <a href="{{>shared_file_document}}" target="_blank">Descargar</a>
1060
            {{/if}}
1061
        </div>
1062
    </div>
1063
    {{/if}}
1064
 
1065
 
1066
        </div>
1067
        <div class="job-status-bar">
1068
            <ul class="like-com">
4031 stevensc 1069
                <!-- <li>
4025 stevensc 1070
                    <a href="#" id="btn-comments-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-heart"></i> {{>feed_likes}}</a>
4031 stevensc 1071
                </li> -->
4024 stevensc 1072
                <li>
4212 stevensc 1073
                    <a href="#" id="btn-comments-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-comments"></i> {{>comments.length}}</a>
1 www 1074
                </li>
1075
                <li>
1076
                    <a href="#" id="btn-share-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-share"></i> {{>owner_shared}}</a>
1077
                </li>
1078
            </ul>
1079
 
1080
        </div>
1081
        {{if comments}}
1082
            <div class="comment-section">
1083
                <div class="comment-sec comment-sec-{{>feed_unique}}" data-feed-unique="{{>feed_unique}}">
1084
                    <ul>
1085
                        {{for comments}}
1086
                            <li>
1087
                                <div class="comment-list">
1088
                                    <div class="comment comment-{{:unique}}" >
1089
                                        <span><img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>time_elapsed}}
1090
                                        <a href="{{>user_url}}"><h3>{{>user_name}}</h3>
1091
                                        {{if link_delete}}
1092
                                            <a href="#" class="btn-comment-trash" data-link="{{:link_delete}}"
1093
                                                data-comment-unique="{{>unique}}"><i class="fa fa-trash"></i></a>
1094
                                        {{/if}}
1095
                                        </span>
1096
 
1097
                                        <p>{{>comment}}</p>
1098
                                    </div>
1099
                                </div>
1100
                            </li>
1101
                        {{/for}}
1102
                    </ul>
1103
                </div>
1104
            </div>
1105
        {{/if}}
1106
        <div class="comment_box">
1107
            <form  class="form-comment-feed" data-feed-unique="{{>feed_unique}}"  action="{{>comment_add_url}}">
1108
                <input type="text" name="comment" id="comment-{{>feed_unique}}" maxlength="256"  placeholder="LABEL_WRITE_A_COMMENT">
1109
                <button type="submit">LABEL_SEND</button>
1110
            </form>
1111
        </div>
1112
    </div>
1113
</script>