Rev 17281 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
$currentUser = $this->currentUserHelper();
$currentUser = $currentUser->getUser();
$routeTimeline = $this->url('feeds/timeline');
// NProgress
$this->headLink()->appendStylesheet($this->basePath('assets/vendors/nprogress/nprogress.css'));
$this->inlineScript()->appendFile($this->basePath('assets/vendors/nprogress/nprogress.js'));
// CKEditor
$this->inlineScript()->appendFile($this->basePath('assets/vendors/ckeditor/ckeditor.js'));
// Bootstrap File Input
$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'));
// Moment
$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'));
// Bootstrap 4 Toggle
$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'));
// JsRender
$this->inlineScript()->appendFile($this->basePath('assets/vendors/jsrender/jsrender.min.js'));
// Bootbox
$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', false)
$('#form-feed #notification_custom_title').val('')
$('#form-feed #notification_custom_title').attr('readonly', false)
_
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', false)
$('#form-feed-document #notification_custom_title').val('')
$('#form-feed-document #notification_custom_title').attr('readonly', false)
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', false)
$('#form-feed-image #notification_custom_title').val('')
$('#form-feed-image #notification_custom_title').attr('readonly', false)
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', false)
$('#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', false)
$('#form-feed-video #notification_custom_title').val('')
$('#form-feed-video #notification_custom_title').attr('readonly', false)
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'])
$.fn.reload(1)
} 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 w-100" 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>
<!-- Comment Template -->
<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>
<!-- Feed Template -->
<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>