Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7289 | Rev 7311 | 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);
7289 stevensc 728
$this->headLink()->appendStylesheet('/react-bundles/feeds/main.css');
7294 stevensc 729
$this->headLink()->appendStylesheet('/css/line-awesome.css');
730
$this->headLink()->appendStylesheet('/css/line-awesome-font-awesome.min.css');
7157 stevensc 731
$this->inlineScript()->appendFile('/react-bundles/feeds/feedsBundle.js');
1 www 732
?>
7154 stevensc 733
<div id="admin-feeds"></div>
1 www 734
 
3657 stevensc 735
<section class="content-header">
736
    <div class="container-fluid">
737
        <div class="row mb-2">
738
            <div class="col-sm-12">
739
                <h1>LABEL_FEEDS</h1>
740
            </div>
741
        </div>
742
    </div><!-- /.container-fluid -->
743
</section>
1 www 744
 
3657 stevensc 745
 
746
<section class="content">
747
    <div class="container-fluid">
748
        <div class="feed-container">
749
            <div class="">
750
                <div class="main-ws-sec">
751
                    <div class="">
1 www 752
                        <div class="">
3657 stevensc 753
                            <div class="post-bar">
754
                                <form id="form-main" name="form-main">
755
                                    <div class="post_topbar">
1 www 756
 
3657 stevensc 757
                                        <div class="mar-top clearfix">
758
                                            <div class="form-group">
1 www 759
                                            </div>
3657 stevensc 760
                                            <div class="form-group">
761
                                                <textarea id="description-main" name="description-main" placeholder="¿Qué tienes en mente?" class="form-control" readonly="readonly" rows="2"></textarea>
762
                                            </div>
1 www 763
                                        </div>
3657 stevensc 764
                                        <div class="mar-top clearfix">
765
                                            <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>
766
                                            <a class="btn btn-trans btn-icon fa fa-video-camera add-tooltip" href="#"></a>
767
                                            <a class="btn btn-trans btn-icon fa fa-camera add-tooltip" href="#"></a>
768
                                            <a class="btn btn-trans btn-icon fa fa-file add-tooltip" href="#"></a>
769
                                        </div>
770
                                    </div>
771
                                </form>
1 www 772
                            </div>
773
                        </div>
774
                    </div>
3657 stevensc 775
                    <!--posts-section star-->
776
                    <div class="posts-section">
1 www 777
 
3657 stevensc 778
                    </div>
1 www 779
 
3657 stevensc 780
                    <div class="process-comm" id="paginator-process-comm" style="display: none">
781
                        <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>
782
                        <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>
783
                    </div>
784
                    <!--posts-section end-->
785
                </div>
786
            </div>
787
            <!--main-ws-sec end-->
788
        </div>
789
    </div>
790
</section>
791
 
792
 
1 www 793
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-image-box">
3657 stevensc 794
    <div class="modal-dialog" role="document">
795
        <?php
796
        $form = $this->formFeed;
1 www 797
        $form->setAttributes([
798
            'method' => 'post',
799
            'action' => $this->url('feeds/add'),
800
            'name' => 'form-feed-image',
801
            'id' => 'form-feed-image',
3657 stevensc 802
            'enctype' => 'multipart/form-data'
1 www 803
        ]);
804
        $form->prepare();
805
        echo $this->form()->openTag($form);
3657 stevensc 806
 
807
 
808
        ?>
809
        <div class="modal-content">
810
            <div class="modal-header">
811
                <h3 class="modal-title">LABEL_SHARE_IMAGE</h3>
812
            </div>
813
            <div class="modal-body">
1 www 814
                <div class="form-group">
3657 stevensc 815
                    <?php
1 www 816
                    $element = $form->get('description');
817
                    $element->setAttributes(['id' => 'description_image', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
818
                    echo $this->formTextArea($element);
819
                    ?>
3657 stevensc 820
                </div>
821
                <div class="form-group">
822
                    <div class="file-loading">
823
                        <?php
1 www 824
                        $element = $form->get('file');
825
                        $element->setAttributes(['accept' => 'image/jpg,image/jpeg,image/png']);
826
                        echo $this->formFile($element);
827
                        ?>
3657 stevensc 828
                    </div>
829
                </div>
830
            </div>
831
            <div class="modal-footer">
832
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
833
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-image-close">LABEL_CANCEL</button>
834
            </div>
835
 
836
        </div>
837
        <a href="#" title="" class="close-box btn-feed-image-close"><i class="la la-close"></i></a>
838
        <?php echo $this->form()->closeTag($form); ?>
839
    </div>
1 www 840
</div>
841
 
842
 
843
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-video-box">
3657 stevensc 844
    <div class="modal-dialog" role="document">
845
        <?php
846
        $form = $this->formFeed;
1 www 847
        $form->setAttributes([
848
            'method' => 'post',
849
            'action' => $this->url('feeds/add'),
850
            'name' => 'form-feed-video',
851
            'id' => 'form-feed-video',
3657 stevensc 852
            'enctype' => 'multipart/form-data'
1 www 853
        ]);
854
        $form->prepare();
855
        echo $this->form()->openTag($form);
856
 
3657 stevensc 857
 
858
        ?>
859
        <div class="modal-content">
860
            <div class="modal-header">
861
                <h3 class="modal-title">LABEL_SHARE_VIDEO</h3>
862
            </div>
863
            <div class="modal-body">
1 www 864
                <div class="form-group">
3657 stevensc 865
                    <?php
1 www 866
                    $element = $form->get('description');
867
                    $element->setAttributes(['id' => 'description_video', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
868
                    echo $this->formTextArea($element);
869
                    ?>
3657 stevensc 870
                </div>
871
                <div class="form-group">
872
                    <div class="file-loading">
873
                        <?php
1 www 874
                        $element = $form->get('file');
875
                        $element->setAttributes(['accept' => 'video/webm,video/mpeg,video/mp4']);
876
                        echo $this->formFile($element);
877
                        ?>
3657 stevensc 878
                    </div>
879
                </div>
880
            </div>
881
            <div class="modal-footer">
882
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
883
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-video-close">LABEL_CANCEL</button>
884
            </div>
885
 
886
        </div>
887
        <a href="#" title="" class="close-box btn-feed-video-close"><i class="la la-close"></i></a>
888
        <?php echo $this->form()->closeTag($form); ?>
889
    </div>
1 www 890
</div>
891
 
892
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-document-box">
3657 stevensc 893
    <div class="modal-dialog" role="document">
894
        <?php
895
        $form = $this->formFeed;
1 www 896
        $form->setAttributes([
897
            'method' => 'post',
898
            'action' => $this->url('feeds/add'),
899
            'name' => 'form-feed-document',
900
            'id' => 'form-feed-document',
3657 stevensc 901
            'enctype' => 'multipart/form-data'
1 www 902
        ]);
903
        $form->prepare();
904
        echo $this->form()->openTag($form);
905
 
3657 stevensc 906
 
907
 
908
        ?>
909
        <div class="modal-content">
910
            <div class="modal-header">
911
                <h3 class="modal-title">LABEL_SHARE_DOCUMENT</h3>
912
            </div>
913
            <div class="modal-body">
1 www 914
                <div class="form-group">
3657 stevensc 915
                    <?php
1 www 916
                    $element = $form->get('description');
917
                    $element->setAttributes(['id' => 'description_document', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
918
                    echo $this->formTextArea($element);
919
                    ?>
3657 stevensc 920
                </div>
921
                <div class="form-group">
922
                    <div class="file-loading">
923
                        <?php
1 www 924
                        $element = $form->get('file');
925
                        $element->setAttributes(['accept' => 'application/pdf']);
926
                        echo $this->formFile($element);
927
                        ?>
3657 stevensc 928
                    </div>
929
                </div>
930
            </div>
1 www 931
            <div class="modal-footer">
3657 stevensc 932
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
933
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-document-close">LABEL_CANCEL</button>
1 www 934
            </div>
3657 stevensc 935
        </div>
936
        <a href="#" title="" class="close-box btn-feed-document-close"><i class="la la-close"></i></a>
937
        <?php echo $this->form()->closeTag($form); ?>
938
    </div>
1 www 939
</div>
940
 
941
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-box">
3657 stevensc 942
    <div class="modal-dialog" role="document">
943
        <?php
944
        $form = $this->formFeed;
1 www 945
        $form->setAttributes([
946
            'method' => 'post',
947
            'action' => $this->url('feeds/add'),
948
            'name' => 'form-feed',
949
            'id' => 'form-feed',
950
        ]);
951
        $form->prepare();
952
        echo $this->form()->openTag($form);
953
 
3657 stevensc 954
 
955
 
956
        ?>
957
        <div class="modal-content">
958
            <div class="modal-header">
959
                <h3 class="modal-title">LABEL_SHARE</h3>
960
            </div>
961
            <div class="modal-body">
1 www 962
                <div class="form-group">
3657 stevensc 963
                    <?php
1 www 964
                    $element = $form->get('description');
965
                    $element->setAttributes(['id' => 'description_feed', 'rows' => '2', 'placeholder' => '¿Qué tienes en mente?', 'class' => 'form-control']);
966
                    echo $this->formTextArea($element);
967
                    ?>
3657 stevensc 968
                </div>
969
            </div>
1 www 970
            <div class="modal-footer">
3657 stevensc 971
                <button type="submit" class="btn btn-sm btn-primary save">LABEL_SAVE</button>
972
                <button type="button" class="btn btn-sm btn-default cancel btn-modal-feed-close">LABEL_CANCEL</button>
1 www 973
            </div>
3657 stevensc 974
        </div>
975
        <a href="#" title="" class="close-box btn-modal-feed-close"><i class="la la-close"></i></a>
976
        <?php echo $this->form()->closeTag($form); ?>
977
    </div>
1 www 978
</div>
979
 
980
 
981
 
982
 
983
<script id="commentTemplate" type="text/x-jsrender">
3657 stevensc 984
    <li>
1 www 985
				        <div class="comment-list">
986
							 <div class="comment comment-{{:unique}}" >
987
    					         <a href="{{>user_url}}"><h3>{{>user_name}}</h3>
988
    						     <span><img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>time_elapsed}}
989
                                {{if link_delete}}
990
                                    <a href="#" class="btn-comment-trash" data-link="{{:link_delete}}" data-comment-unique="{{>unique}}"><i class="fa fa-trash"></i></a>
991
                                {{/if}}
992
                                 </span>
993
 
994
								 <p>{{>comment}}</p>
995
						     </div>
996
	                   </div>
997
	               </li>
998
</script>
999
 
1000
<script id="feedTemplate" type="text/x-jsrender">
1001
    <div class="post-bar post-bar-{{>feed_unique}}">
1002
        <div class="post_topbar">
1003
            <div class="usy-dt">
1004
                <a href="{{>owner_url}}">
1005
                    <img src="{{>owner_image}}" alt="" style="width:50px; height: auto">
1006
                    <div class="usy-name">
1007
                        <h3>{{>owner_name}}</h3>
1008
                        <span>
1009
                            <img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">
1010
                            {{>owner_time_elapse}}
1011
                            {{if feed_delete_url}}
1012
                                <a href="#" class="btn-feed-trash" data-link="{{:feed_delete_url}}" data-feed-unique="{{>feed_unique}}"><i class="fa fa-trash"></i></a>
1013
                            {{/if}}
1014
                        </span>
1015
                    </div>
1016
                </a>
1017
            </div>
1018
        </div>
1019
        <div class="job_descp">
1020
            <p>
1021
            <div  class="show-read-more">{{:owner_description}}</div>
1022
            </p>
1023
            {{if owner_file_image}}
1024
             <img src="{{>owner_file_image}}" class="Entradas">
1025
            {{/if}}
1026
            {{if owner_file_video}}
1027
             <video src="{{>owner_file_video}}" controls  poster="{{>owner_file_image_preview}}">
1028
            {{/if}}
1029
            {{if owner_file_document}}
1030
                <a href="{{>owner_file_document}}" target="_blank">Descargar</a>
1031
            {{/if}}
1032
 
1033
    {{if shared_name}}
1034
    <div class="post-bar">
1035
        <div class="post_topbar">
1036
            <div class="usy-dt">
1037
                <img src="{{>shared_image}}" alt="" style="width:50px; height: auto">
1038
                <div class="usy-name">
1039
                    <h3>{{>shared_name}}</h3>
1040
                    <span><img style="width: 12px; height: auto" src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>shared_time_elapse}}</span>
1041
                </div>
1042
            </div>
1043
        </div>
1044
        <div class="job_descp">
1045
            <p>
1046
            <div  class="show-read-more">{{:shared_description}}</div>
1047
            </p>
1048
            {{if shared_file_image}}
1049
             <img src="{{>shared_file_image}}" class="Entradas">
1050
            {{/if}}
1051
            {{if shared_file_video}}
1052
             <video src="{{>shared_file_video}}" controls  poster="{{>shared_file_image_preview}}">
1053
            {{/if}}
1054
            {{if shared_file_document}}
1055
                <a href="{{>shared_file_document}}" target="_blank">Descargar</a>
1056
            {{/if}}
1057
        </div>
1058
    </div>
1059
    {{/if}}
1060
 
1061
 
1062
        </div>
1063
        <div class="job-status-bar">
1064
            <ul class="like-com">
4031 stevensc 1065
                <!-- <li>
4025 stevensc 1066
                    <a href="#" id="btn-comments-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-heart"></i> {{>feed_likes}}</a>
4031 stevensc 1067
                </li> -->
4024 stevensc 1068
                <li>
4212 stevensc 1069
                    <a href="#" id="btn-comments-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-comments"></i> {{>comments.length}}</a>
1 www 1070
                </li>
1071
                <li>
1072
                    <a href="#" id="btn-share-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-share"></i> {{>owner_shared}}</a>
1073
                </li>
1074
            </ul>
1075
 
1076
        </div>
1077
        {{if comments}}
1078
            <div class="comment-section">
1079
                <div class="comment-sec comment-sec-{{>feed_unique}}" data-feed-unique="{{>feed_unique}}">
1080
                    <ul>
1081
                        {{for comments}}
1082
                            <li>
1083
                                <div class="comment-list">
1084
                                    <div class="comment comment-{{:unique}}" >
1085
                                        <span><img src="<?php echo $this->basePath('images/clock.png') ?>" alt="">{{>time_elapsed}}
1086
                                        <a href="{{>user_url}}"><h3>{{>user_name}}</h3>
1087
                                        {{if link_delete}}
1088
                                            <a href="#" class="btn-comment-trash" data-link="{{:link_delete}}"
1089
                                                data-comment-unique="{{>unique}}"><i class="fa fa-trash"></i></a>
1090
                                        {{/if}}
1091
                                        </span>
1092
 
1093
                                        <p>{{>comment}}</p>
1094
                                    </div>
1095
                                </div>
1096
                            </li>
1097
                        {{/for}}
1098
                    </ul>
1099
                </div>
1100
            </div>
1101
        {{/if}}
1102
        <div class="comment_box">
1103
            <form  class="form-comment-feed" data-feed-unique="{{>feed_unique}}"  action="{{>comment_add_url}}">
1104
                <input type="text" name="comment" id="comment-{{>feed_unique}}" maxlength="256"  placeholder="LABEL_WRITE_A_COMMENT">
1105
                <button type="submit">LABEL_SEND</button>
1106
            </form>
1107
        </div>
1108
    </div>
1109
</script>