Rev 17012 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
$currentUser = $this->currentUserHelper();
$currentUser = $currentUser->getUser();
$routeTimeline = $this->url('feeds/timeline');
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/css/fileinput.min.css'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fa/theme.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/piexif.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/plugins/sortable.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/fileinput.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/js/locales/es.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/fa/theme.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-fileinput/themes/explorer-fa/theme.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/moment/moment-with-locales.min.js'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'));
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/bootstrap4-toggle/css/bootstrap4-toggle.min.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootstrap4-toggle/js/bootstrap4-toggle.min.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jsrender/jsrender.min.js'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/bootbox/bootbox.all.min.js'));
$this->inlineScript()->captureStart();
echo <<<JS
jQuery( document ).ready(function( $ ) {
var feed_unique_shared = '';
$.validator.addMethod('requiredContent', function (value, element, param) {
value = $.trim($.fn.stripHtml(value));
return value.length > 0;
}, 'ERROR_REQUIRED');
$.fn.reload = function(page) {
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'get',
'data' : {
'page' : page
},
'url' : '$routeTimeline'
}).done(function(response) {
if(response['success']) {
$('.posts-section').empty();
$( ".posts-section" ).append(
$( "#feedTemplate" ).render( response['data']['current']['items'] )
);
if(response['data']['total']['pages'] > 1 ) {
$('#paginator-process-comm').show();
if(response['data']['current']['page'] > 1) {
$('#btn-page-previous').data('page', response['data']['current']['page'] - 1);
$('#btn-page-previous').show();
} else {
$('#btn-page-previous').hide();
}
if(response['data']['current']['page'] < response['data']['total']['pages']) {
$('#btn-page-next').data('page', response['data']['current']['page'] + 1);
$('#btn-page-next').show();
} else {
$('#btn-page-next').hide();
}
$('#paginator-process-comm').show();
} else {
$('#paginator-process-comm').hide();
}
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
}
$('#btn-page-previous').click(function(e) {
e.preventDefault();
var page = $(this).data('page');
$.fn.reload(page);
});
$('#btn-page-next').click(function(e) {
e.preventDefault();
var page = $(this).data('page');
$.fn.reload(page);
});
var validatorFeed = $('#form-feed').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'shared_with' : {
required: true,
},
'description': {
updateCkeditor:function() {
CKEDITOR.instances.description_feed.updateElement();
},
required: true
},
},
submitHandler: function(form)
{
$('input[type="submit"]').prop('disabled', true);
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-feed').attr('action'),
'data' : $('#form-feed').serialize(),
}).done(function(response) {
if(response['success']) {
var s = $( "#feedTemplate" ).render( response['data'] );
$(s).prependTo(".posts-section");
$('#form-feed')[0].reset()
$("#modal-feed-box").modal('hide');
} else {
validatorFeed.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-feed #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
$('input[type="submit"]').prop('disabled', false);
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('.btn-modal-feed-close').click(function(e) {
e.preventDefault();
$('#form-feed')[0].reset()
$('#modal-feed-box').modal('hide');
return false;
});
$('#description-main, #btn-description-main').click(function(e) {
e.preventDefault();
$('.nav-tabs a[href="#tab-share-basic"]').tab('show');
$('#form-feed #notification_active').prop('checked', false);
$('#form-feed #notification_custom_active').prop('checked', false);
$('#form-feed #notification_custom_active').attr('disabled', 'disabled');
$('#form-feed #notification_custom_title').val('');
$('#form-feed #notification_custom_title').attr('readonly', 'readonly');
_
CKEDITOR.instances.notification_custom_description_share.setData('');
CKEDITOR.instances.notification_custom_description_sahre.setReadOnly(true);
$('#form-feed')[0].reset()
validatorFeed.resetForm();
$("#modal-feed-box").modal('show');
})
var validatorFeedImage = $('#form-feed-image').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'shared_with' : {
required: true,
},
'description': {
updateCkeditor:function() {
CKEDITOR.instances.description_image.updateElement();
},
required: true
},
'file': {
required: true,
extension: 'jpg|jpeg|png',
accept: 'image/jpg,image/jpeg,image/png'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
$('input[type="submit"]').prop('disabled', true);
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-feed-image').attr('action'),
'data' : formdata ? formdata : $('#form-feed-image').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
var s = $( "#feedTemplate" ).render( response['data'] );
$(s).prependTo(".posts-section");
$("#modal-feed-image-box").modal('hide');
} else {
validatorFeedImage.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-feed-image #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
$('input[type="submit"]').prop('disabled', false);
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
var validatorFeedVideo = $('#form-feed-video').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'shared_with' : {
required: true,
},
'description': {
updateCkeditor:function() {
CKEDITOR.instances.description_video.updateElement();
},
required: true
},
'file': {
required: true,
extension: 'webm,mp4,webm',
accept: 'video/webm,video/mpeg,video/mp4'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
$('input[type="submit"]').prop('disabled', true);
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-feed-video').attr('action'),
'data' : formdata ? formdata : $('#form-feed-video').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
var s = $( "#feedTemplate" ).render( response['data'] );
$(s).prependTo(".posts-section");
$("#modal-feed-video-box").modal('hide');
} else {
validatorFeedVideo.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-feed-video #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
$('input[type="submit"]').prop('disabled', false);
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
var validatorFeedDocument = $('#form-feed-document').validate({
debug: true,
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
'shared_with' : {
required: true,
},
'description': {
updateCkeditor:function() {
CKEDITOR.instances.description_document.updateElement();
},
required: true
},
'file': {
required: true,
extension: 'pdf',
accept: 'application/pdf'
},
},
submitHandler: function(form)
{
var formdata = false;
if (window.FormData){
formdata = new FormData(form); //form[0]);
}
$('input[type="submit"]').prop('disabled', true);
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : $('#form-feed-document').attr('action'),
'data' : formdata ? formdata : $('#form-feed-document').serialize(),
'processData': false,
'contentType': false,
}).done(function(response) {
if(response['success']) {
var s = $( "#feedTemplate" ).render( response['data'] );
$(s).prependTo(".posts-section");
$("#modal-feed-document-box").modal('hide');
} else {
validatorFeedDocument.resetForm();
if(jQuery.type(response['data']) == 'string') {
$.fn.showError(response['data']);
} else {
$.each(response['data'], function( fieldname, errors ) {
$.fn.showFormErrorValidator('#form-feed-document #' + fieldname, errors);
});
}
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
$('input[type="submit"]').prop('disabled', false);
NProgress.done();
});
return false;
},
invalidHandler: function(form, validator) {
}
});
$('i.fa-file').on('click', function(e){
e.preventDefault();
$('.nav-tabs a[href="#tab-document-basic"]').tab('show');
$('#form-feed-document #shared_with').val('');
$('#form-feed-document #file').val('');
CKEDITOR.instances.description_document.setData('');
$('#form-feed-document #notification_active').prop('checked', false);
$('#form-feed-document #notification_custom_active').prop('checked', false);
$('#form-feed-document #notification_custom_active').attr('disabled', 'disabled');
$('#form-feed-document #notification_custom_title').val('');
$('#form-feed-document #notification_custom_title').attr('readonly', 'readonly');
CKEDITOR.instances.notification_custom_description_document.setData('');
CKEDITOR.instances.notification_custom_description_document.setReadOnly(true);
$('#form-feed-document')[0].reset()
validatorFeedDocument.resetForm();
$('#modal-feed-document-box').modal('show');
});
$('#form-feed-document #file').fileinput({
theme: 'fa',
language: 'es',
showUpload: false,
dropZoneEnabled: false,
maxFileCount: 1,
allowedFileExtensions: ['pdf'],
});
$('.btn-modal-feed-document-close').on('click', function(e){
e.preventDefault();
$('#modal-feed-document-box').modal('hide');
return false;
});
$('i.fa-camera').on('click', function(e){
e.preventDefault();
$('.nav-tabs a[href="#tab-image-basic"]').tab('show');
$('#form-feed-image #shared_with').val('');
$('#form-feed-image #file').val('');
CKEDITOR.instances.description_image.setData('');
$('#form-feed-image #notification_active').prop('checked', false);
$('#form-feed-image #notification_custom_active').prop('checked', false);
$('#form-feed-image #notification_custom_active').attr('disabled', 'disabled');
$('#form-feed-image #notification_custom_title').val('');
$('#form-feed-image #notification_custom_title').attr('readonly', 'readonly');
CKEDITOR.instances.notification_custom_description_video.setData('');
CKEDITOR.instances.notification_custom_description_video.setReadOnly(true);
$('#form-feed-image')[0].reset()
validatorFeedImage.resetForm();
$('#modal-feed-image-box').modal('show');
});
$('#form-feed-image #file').fileinput({
theme: 'fa',
language: 'es',
showUpload: false,
dropZoneEnabled: false,
maxFileCount: 1,
allowedFileExtensions: ['jpg', 'jpeg', 'png', 'gif'],
});
$('.btn-modal-feed-image-close').on('click', function(e){
e.preventDefault();
$('#modal-feed-image-box').modal('hide');
return false;
});
$('i.fa-video').on('click', function(e){
e.preventDefault();
$('.nav-tabs a[href="#tab-video-basic"]').tab('show');
$('#form-feed-video #shared_with').val('');
$('#form-feed-video #file').val('');
CKEDITOR.instances.description_video.setData('');
$('#form-feed-video #scheduled_active').prop('checked', false);
$('#form-feed-video #scheduled_timestamp').val('');
$('#form-feed-video #scheduled_timestamp').attr('readonly', 'readonly');
$('#form-feed-video #notification_active').prop('checked', false);
$('#form-feed-video #notification_custom_active').prop('checked', false);
$('#form-feed-video #notification_custom_active').attr('disabled', 'disabled');
$('#form-feed-video #notification_custom_title').val('');
$('#form-feed-video #notification_custom_title').attr('readonly', 'readonly');
CKEDITOR.instances.notification_custom_description_video.setData('');
CKEDITOR.instances.notification_custom_description_video.setReadOnly(true);
$('#form-feed-video')[0].reset()
validatorFeedVideo.resetForm();
$('#modal-feed-video-box').modal('show');
});
$('#form-feed-video #file').fileinput({
theme: 'fa',
language: 'es',
showUpload: false,
dropZoneEnabled: false,
maxFileCount: 1,
allowedFileExtensions: ['mp4', 'mpeg','webm'],
});
$('.btn-modal-feed-video-close').on('click', function(e){
e.preventDefault();
$('#modal-feed-video-box').modal('hide');
return false;
});
$('body').on('click', 'a.btn-indicator', function(e) {
e.preventDefault();
});
$('body').on('submit', 'form.form-comment-feed', function(e) {
e.preventDefault();
var form = $(this);
var url = form.attr('action');
var unique = $(this).data('feed-unique');
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : url,
'data' : form.serialize(),
}).done(function(response) {
if(response['success']) {
$('#comment-' + unique).val('');
var s = $( "#commentTemplate" ).render( response['data'] );
$(s).appendTo('ul.comment-sec-' + unique);
$('#btn-comments-' + unique).html('<i class="<i class="fa fa-comments"></i>"></i> ' + response['total_comments']);
$('form.form-comment-feed > input[name="comment"]').val('');
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
return false;
});
$.fn.deleteFeed = function(url, feed_unique) {
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : url,
}).done(function(response) {
if(response['success']) {
$('.post-bar-' + feed_unique).remove();
$.fn.showSuccess(response['data']);
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
}
$('body').on('click', 'a.btn-feed-trash', function(e) {
e.preventDefault();
var url = $(this).data('link');
var feed_unique = $(this).data('feed-unique');
swal.fire({
title: 'LABEL_ARE_YOU_SURE',
message: 'LABEL_QUESTION_DELETE_POST',
icon: 'question',
cancelButtonText: 'LABEL_NO',
showCancelButton: true,
confirmButtonText: 'LABEL_YES'
}).then((result) => {
if (result.isConfirmed) {
$.fn.deleteFeed(url, feed_unique);
}
});
});
$.fn.deleteComment = function(url, unique) {
var feed_unique = $('.comment-' + unique).closest('div.comment-sec').data('feed-unique');
NProgress.start();
$.ajax({
'dataType' : 'json',
'accept' : 'application/json',
'method' : 'post',
'url' : url,
}).done(function(response) {
if(response['success']) {
$('.comment-' + unique).closest('li').remove();
$('#btn-comments-' + feed_unique).html('<i class="fa fa-comments"></i> ' + response['data']['total_comments']);
$.fn.showSuccess(response['data']['message']);
} else {
$.fn.showError(response['data']);
}
}).fail(function( jqXHR, textStatus, errorThrown) {
$.fn.showError(textStatus);
}).always(function() {
NProgress.done();
});
}
$('body').on('click', 'a.btn-comment-trash', function(e) {
e.preventDefault();
var url = $(this).data('link');
var unique = $(this).data('comment-unique');
swal.fire({
title: 'LABEL_ARE_YOU_SURE',
message: 'LABEL_QUESTION_DELETE_COMMENT',
icon: 'question',
cancelButtonText: 'LABEL_NO',
showCancelButton: true,
confirmButtonText: 'LABEL_YES'
}).then((result) => {
if (result.isConfirmed) {
$.fn.deleteComment(url, unique);
}
});
});
$('#form-feed #scheduled_timestamp').datetimepicker({
//viewMode: 'years',
locale: 'es',
format: 'YYYY-MM-DD HH:mm:ss'
});
$('#form-feed-document #scheduled_timestamp').datetimepicker({
//viewMode: 'years',
locale: 'es',
format: 'YYYY-MM-DD HH:mm:ss'
});
$ ('#form-feed-image #scheduled_timestamp').datetimepicker({
//viewMode: 'years',
locale: 'es',
format: 'YYYY-MM-DD HH:mm:ss'
});
$('#form-feed-video #scheduled_timestamp').datetimepicker({
//viewMode: 'years',
locale: 'es',
format: 'YYYY-MM-DD HH:mm:ss'
});
$('div.modal').on("hide.bs.modal", function() {
$(".wrapper").removeClass("overlay");
})
CKEDITOR.replace('description_feed');
CKEDITOR.replace('description_video');
CKEDITOR.replace('description_image');
CKEDITOR.replace('description_document');
CKEDITOR.replace('notification_custom_description_image');
CKEDITOR.replace('notification_custom_description_video');
CKEDITOR.replace('notification_custom_description_document');
CKEDITOR.replace('notification_custom_description_share');
$.fn.reload(1);
});
JS;
$this->inlineScript()->captureEnd();
?>
<div class="container">
<h6 class="mb-2">LABEL_FEEDS</h6>
<main class="feed-section">
<form class="theme-container p-2" id="form-main" name="form-main">
<input id="description-main" name="description-main"
placeholder="LABEL_WHAT_DO_YOU_HAVE_IN_MIND"
class="cursor-pointer mb-2" readonly="readonly" rows="2"></input>
<div class="d-flex align-items-center justify-content-end gap-2">
<a class="btn btn-trans btn-icon add-tooltip" href="#"><i
class="fa fa-video"></i></a> <a
class="btn btn-trans btn-icon add-tooltip" href="#"><i
class="fa fa-camera"></i></a> <a
class="btn btn-trans btn-icon add-tooltip" href="#"><i
class="fa fa-file "></i></a>
<button class="btn btn-sm btn-primary" type="button"
id="btn-description-main">
<i class="fa fa-edit"></i> LABEL_SHARE
</button>
</div>
</form>
<!--posts-section star-->
<div class="posts-section w-100"></div>
<div class="process-comm" id="paginator-process-comm"
style="display: none">
<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>
<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>
</div>
<!--posts-section end-->
</main>
<!--main-ws-sec end-->
</div>
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-image-box">
<div class="modal-dialog modal-xl" role="document">
<?php
$form = $this->formFeed;
$form->setAttributes([
'method' => 'post',
'action' => $this->url('feeds/add'),
'name' => 'form-feed-image',
'id' => 'form-feed-image',
'enctype' => 'multipart/form-data'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_SHARE_IMAGE</h6>
</div>
<div class="modal-body">
<ul class="nav nav-tabs" id="tabImage" role="tablist">
<li class="nav-item"><a class="nav-link active" id="tab-image-basic-tab"
data-bs-toggle="tab" href="#tab-image-basic" role="tab"
aria-controls="basic" aria-selected="true">LABEL_BASIC</a></li>
<li class="nav-item"><a class="nav-link" id="tab-image-scheduled-tab"
data-bs-toggle="tab" href="#tab-image-scheduled" role="tab"
aria-controls="scheduled" aria-selected="false">LABEL_SCHEDULED</a>
</li>
<li class="nav-item"><a class="nav-link" id="tab-image-notification-tab"
data-bs-toggle="tab" href="#tab-image-notification" role="tab"
aria-controls="notification" aria-selected="false">LABEL_NOTIFICATION</a>
</li>
</ul>
<div class="tab-content border border-top-0 p-3"
id="tabImageContent">
<div class="tab-pane fade show active" id="tab-image-basic" role="tabpanel"
aria-labelledby="tab-image-basic-tab">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('description');
$element->setAttributes([
'id' => 'description_image',
'rows' => '2',
'placeholder' => 'LABEL_WHAT_DO_YOU_HAVE_IN_MIND',
'class' => 'form-control'
]);
echo $this->formTextArea($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('file');
$element->setAttributes([
'accept' => 'image/jpg,image/jpeg,image/png'
]);
echo $this->formFile($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-image-scheduled" role="tabpanel"
aria-labelledby="tab-image-scheduled-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('scheduled_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_SCHEDULED_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('scheduled_timestamp');
$element->setOptions([
'label' => 'LABEL_SCHEDULED_DATETIME',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-image-notification" role="tabpanel"
aria-labelledby="tab-image-notification-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_NOTIFICATION_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_custom_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_USE_CUSTOM_NOTIFICATION',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_title');
$element->setOptions([
'label' => 'LABEL_TITLE',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_description');
$element->setOptions([
'label' => 'LABEL_DESCRIPTION',
'class' => 'form-label'
]);
$element->setAttributes([
'id' => 'notification_custom_description_image',
'rows' => '2',
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formTextArea($element);
?>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer text-right">
<button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
<button type="button"
class="btn btn-light cancel btn-modal-feed-image-close">LABEL_CANCEL</button>
</div>
</div>
<a href="#" title="" class="close-box btn-feed-image-close"><i
class="la la-close"></i></a>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-video-box">
<div class="modal-dialog modal-xl" role="document">
<?php
$form = $this->formFeed;
$form->setAttributes([
'method' => 'post',
'action' => $this->url('feeds/add'),
'name' => 'form-feed-video',
'id' => 'form-feed-video',
'enctype' => 'multipart/form-data'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_SHARE_VIDEO</h6>
</div>
<div class="modal-body">
<ul class="nav nav-tabs" id="tabVideo" role="tablist">
<li class="nav-item"><a class="nav-link active" id="tab-video-basic-tab"
data-bs-toggle="tab" href="#tab-video-basic" role="tab"
aria-controls="basic" aria-selected="true">LABEL_BASIC</a></li>
<li class="nav-item"><a class="nav-link" id="tab-video-scheduled-tab"
data-bs-toggle="tab" href="#tab-video-scheduled" role="tab"
aria-controls="scheduled" aria-selected="false">LABEL_SCHEDULED</a>
</li>
<li class="nav-item"><a class="nav-link" id="tab-video-notification-tab"
data-bs-toggle="tab" href="#tab-video-notification" role="tab"
aria-controls="notification" aria-selected="false">LABEL_NOTIFICATION</a>
</li>
</ul>
<div class="tab-content border border-top-0 p-3"
id="tabVideoContent">
<div class="tab-pane fade show active" id="tab-video-basic" role="tabpanel"
aria-labelledby="tab-video-basic-tab">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('description');
$element->setAttributes([
'id' => 'description_video',
'rows' => '2',
'placeholder' => 'LABEL_WHAT_DO_YOU_HAVE_IN_MIND',
'class' => 'form-control'
]);
echo $this->formTextArea($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('file');
$element->setAttributes([
'accept' => 'video/webm,video/mpeg,video/mp4'
]);
echo $this->formFile($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-video-scheduled" role="tabpanel"
aria-labelledby="tab-video-scheduled-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('scheduled_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_SCHEDULED_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('scheduled_timestamp');
$element->setOptions([
'label' => 'LABEL_SCHEDULED_DATETIME',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-video-notification" role="tabpanel"
aria-labelledby="tab-video-notification-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_NOTIFICATION_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_custom_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_USE_CUSTOM_NOTIFICATION',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_title');
$element->setOptions([
'label' => 'LABEL_TITLE',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_description');
$element->setOptions([
'label' => 'LABEL_DESCRIPTION',
'class' => 'form-label'
]);
$element->setAttributes([
'id' => 'notification_custom_description_video',
'rows' => '2',
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formTextArea($element);
?>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
<button type="button"
class="btn btn-light cancel btn-modal-feed-video-close">LABEL_CANCEL</button>
</div>
</div>
<a href="#" title="" class="close-box btn-feed-video-close"><i
class="la la-close"></i></a>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog"
id="modal-feed-document-box">
<div class="modal-dialog modal-xl" role="document">
<?php
$form = $this->formFeed;
$form->setAttributes([
'method' => 'post',
'action' => $this->url('feeds/add'),
'name' => 'form-feed-document',
'id' => 'form-feed-document',
'enctype' => 'multipart/form-data'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_SHARE_DOCUMENT</h6>
</div>
<div class="modal-body">
<ul class="nav nav-tabs" id="tabDocument" role="tablist">
<li class="nav-item"><a class="nav-link active" id="tab-document-basic-tab"
data-bs-toggle="tab" href="#tab-document-basic" role="tab"
aria-controls="basic" aria-selected="true">LABEL_BASIC</a></li>
<li class="nav-item"><a class="nav-link" id="tab-document-scheduled-tab"
data-bs-toggle="tab" href="#tab-document-scheduled" role="tab"
aria-controls="scheduled" aria-selected="false">LABEL_SCHEDULED</a>
</li>
<li class="nav-item"><a class="nav-link" id="tab-document-notification-tab"
data-bs-toggle="tab" href="#tab-document-notification" role="tab"
aria-controls="notification" aria-selected="false">LABEL_NOTIFICATION</a>
</li>
</ul>
<div class="tab-content border border-top-0 p-3"
id="tabDocumentContent">
<div class="tab-pane fade show active" id="tab-document-basic" role="tabpanel"
aria-labelledby="tab-document-basic-tab">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('description');
$element->setAttributes([
'id' => 'description_document',
'rows' => '2',
'placeholder' => 'LABEL_WHAT_DO_YOU_HAVE_IN_MIND',
'class' => 'form-control'
]);
echo $this->formTextArea($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('file');
$element->setAttributes([
'accept' => 'application/pdf'
]);
echo $this->formFile($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-document-scheduled" role="tabpanel"
aria-labelledby="tab-document-scheduled-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('scheduled_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_SCHEDULED_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('scheduled_timestamp');
$element->setOptions([
'label' => 'LABEL_SCHEDULED_DATETIME',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-document-notification" role="tabpanel"
aria-labelledby="tab-document-notification-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_NOTIFICATION_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_custom_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_USE_CUSTOM_NOTIFICATION',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_title');
$element->setOptions([
'label' => 'LABEL_TITLE',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_description');
$element->setOptions([
'label' => 'LABEL_DESCRIPTION',
'class' => 'form-label'
]);
$element->setAttributes([
'id' => 'notification_custom_description_document',
'rows' => '2',
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formTextArea($element);
?>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer text-right">
<button type="submit" class="btn btn-sm btn-primary save">LABEL_UPLOAD</button>
<button type="button"
class="btn btn-light cancel btn-modal-feed-document-close">LABEL_CANCEL</button>
</div>
</div>
<a href="#" title="" class="close-box btn-feed-document-close"><i
class="la la-close"></i></a>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
<div class="modal" tabindex="-1" role="dialog" id="modal-feed-box">
<div class="modal-dialog modal-xl" role="document">
<?php
$form = $this->formFeed;
$form->setAttributes([
'method' => 'post',
'action' => $this->url('feeds/add'),
'name' => 'form-feed',
'id' => 'form-feed'
]);
$form->prepare();
echo $this->form()->openTag($form);
?>
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">LABEL_SHARE</h6>
</div>
<div class="modal-body">
<ul class="nav nav-tabs" id="tabShare" role="tablist">
<li class="nav-item"><a class="nav-link active" id="tab-share-basic-tab"
data-bs-toggle="tab" href="#tab-share-basic" role="tab"
aria-controls="basic" aria-selected="true">LABEL_BASIC</a></li>
<li class="nav-item"><a class="nav-link" id="tab-share-scheduled-tab"
data-bs-toggle="tab" href="#tab-share-scheduled" role="tab"
aria-controls="scheduled" aria-selected="false">LABEL_SCHEDULED</a>
</li>
<li class="nav-item"><a class="nav-link" id="tab-share-notification-tab"
data-bs-toggle="tab" href="#tab-share-notification" role="tab"
aria-controls="notification" aria-selected="false">LABEL_NOTIFICATION</a>
</li>
</ul>
<div class="tab-content border border-top-0 p-3" id="tabTextContent">
<div class="tab-pane fade show active" id="tab-share-basic" role="tabpanel"
aria-labelledby="basic-tab">
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('description');
$element->setAttributes([
'id' => 'description_feed',
'rows' => '2',
'placeholder' => 'LABEL_WHAT_DO_YOU_HAVE_IN_MIND',
'class' => 'form-control'
]);
echo $this->formTextArea($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-share-scheduled" role="tabpanel"
aria-labelledby="scheduled-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('scheduled_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_SCHEDULED_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('scheduled_timestamp');
$element->setOptions([
'label' => 'LABEL_SCHEDULED_DATETIME',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
</div>
<div class="tab-pane fade" id="tab-share-notification" role="tabpanel"
aria-labelledby="notification-tab">
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_NOTIFICATION_ACTIVE',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<div class="form-check mb-3">
<?php
$element = $form->get('notification_custom_active');
$element->setAttributes([
'class' => 'form-check-input'
]);
$element->setOptions([
'label' => 'LABEL_USE_CUSTOM_NOTIFICATION',
'class' => 'form-check-label'
]);
echo $this->formCheckbox($element);
echo $this->formLabel($element);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_title');
$element->setOptions([
'label' => 'LABEL_TITLE',
'class' => 'form-label'
]);
$element->setAttributes([
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formText($element);
?>
</div>
</div>
<div class="row">
<div class="col-12 mt-3">
<?php
$element = $form->get('notification_custom_description');
$element->setOptions([
'label' => 'LABEL_DESCRIPTION',
'class' => 'form-label'
]);
$element->setAttributes([
'id' => 'notification_custom_description_share',
'rows' => '2',
'class' => 'form-control'
]);
echo $this->formLabel($element);
echo $this->formTextArea($element);
?>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer text-right">
<button type="submit" class="btn btn-sm btn-primary save">LABEL_SAVE</button>
<button type="button"
class="btn btn-light cancel btn-modal-feed-close">LABEL_CANCEL</button>
</div>
</div>
<a href="#" title="" class="close-box btn-modal-feed-close"><i
class="la la-close"></i></a>
<?php echo $this->form()->closeTag($form); ?>
</div>
</div>
<script id="commentTemplate" type="text/x-jsrender">
<li>
<div class="comment-list">
<div class="comment comment-{{:unique}}" >
<a href="{{>user_url}}"><h6>{{>user_name}}</h6>
<span><img src="<?php echo $this->basePath('assets/images/clock.png') ?>" alt="">{{>time_elapsed}}
{{if link_delete}}
<a href="#" class="btn-comment-trash" data-link="{{:link_delete}}" data-comment-unique="{{>unique}}"><i class="fa fa-trash"></i></a>
{{/if}}
</span>
<p>{{>comment}}</p>
</div>
</div>
</li>
</script>
<script id="feedTemplate" type="text/x-jsrender">
<div class="theme-container feed-{{>feed_unique}} mb-2">
<div class="feed-header">
<a href="{{>owner_url}}">
<img src="{{>owner_image}}" alt="">
</a>
<div class="feed-info">
<a href="{{>owner_url}}">
<h2>{{>owner_name}}</h2>
</a>
<span>
<img src="<?php echo $this->basePath('assets/images/clock.png') ?>" alt="">
{{>owner_time_elapse}}
{{if feed_delete_url}}
<a href="#" class="btn-feed-trash" data-link="{{:feed_delete_url}}" data-feed-unique="{{>feed_unique}}"><i class="fa fa-trash"></i></a>
{{/if}}
</span>
</div>
</div>
<div class="feed-body px-0">
<p class="show-read-more">
{{:owner_description}}
</p>
{{if owner_file_image}}
<img src="{{>owner_file_image}}" class="Entradas">
{{/if}}
{{if owner_file_video}}
<video src="{{>owner_file_video}}" controls poster="{{>owner_file_image_preview}}">
{{/if}}
{{if owner_file_document}}
<a href="{{>owner_file_document}}" target="_blank">Descargar</a>
{{/if}}
{{if shared_name}}
<div class="theme-container">
<div class="feed-header">
<img src="{{>shared_image}}" alt="" style="width:50px; height: auto">
<div class="feed-info">
<h6>{{>shared_name}}</h6>
<span>
<img style="width: 12px; height: auto" src="<?php echo $this->basePath('assets/images/clock.png') ?>" alt="">
{{>shared_time_elapse}}
</span>
</div>
</div>
<div class="feed-body">
<p class="show-read-more">{{:shared_description}}</p>
{{if shared_file_image}}
<img src="{{>shared_file_image}}" class="Entradas">
{{/if}}
{{if shared_file_video}}
<video src="{{>shared_file_video}}" controls poster="{{>shared_file_image_preview}}">
{{/if}}
{{if shared_file_document}}
<a href="{{>shared_file_document}}" target="_blank">Descargar</a>
{{/if}}
</div>
</div>
{{/if}}
</div>
<div class="feed-actions">
<span id="btn-comments-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-comments"></i> {{>owner_comments}}</span>
<span id="btn-share-{{>feed_unique}}" class="btn-indicator"><i class="fa fa-share"></i> {{>owner_shared}}</span>
</div>
{{if comments}}
<ul class="comment-list comment-sec-{{>feed_unique}}" data-feed-unique="{{>feed_unique}}">
{{for comments}}
<li>
<div class="comment-container comment-{{:unique}}">
<a href="{{>user_url}}">
<h2>{{>user_name}}</h2>
</a>
<span>
<img src="<?php echo $this->basePath('assets/images/clock.png') ?>" alt="">
{{>time_elapsed}}
{{if link_delete}}
<a href="#" class="btn-comment-trash" data-link="{{:link_delete}}" data-comment-unique="{{>unique}}">
<i class="fa fa-trash"></i>
</a>
{{/if}}
</span>
<p>{{>comment}}</p>
</div>
</li>
{{/for}}
</ul>
{{/if}}
<form class="form-comment-feed comment-form px-2 mb-2" data-feed-unique="{{>feed_unique}}" action="{{>comment_add_url}}">
<input type="text" name="comment" id="comment-{{>feed_unique}}" maxlength="256" placeholder="LABEL_WRITE_A_COMMENT">
<button class="btn btn-primary" type="submit">LABEL_SEND</button>
</form>
</div>
</script>