%PDF- %PDF-
| Direktori : /home1/lightco1/luminero.com.au/libraries/compojoom/layouts/fileupload/ |
| Current File : //home1/lightco1/luminero.com.au/libraries/compojoom/layouts/fileupload/fileupload.php |
<?php
/**
* @package Lib_Compojoom
* @author DanielDimitrov <daniel@compojoom.com>
* @date 10.02.2015
*
* @copyright Copyright (C) 2008 - 2013 compojoom.com . All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('_JEXEC') or die('Restricted access');
$user = JFactory::getUser();
// If the user doesn't have create permissions, then don't show anything
if (!$user->authorise('core.multimedia.create', $displayData['component']))
{
return;
}
$imageSize = $displayData['imageSize'];
$mediaHelper = new CompojoomHelperMedia;
$canDelete = $user->authorise('core.multimedia.delete', $displayData['component']) || $user->authorise('core.multimedia.delete.own', $displayData['component']);
JHTML::stylesheet('media/lib_compojoom/third/font-awesome/css/font-awesome.min.css');
JHtml::stylesheet('media/lib_compojoom/css/jquery.fileupload.css');
JHtml::stylesheet('media/lib_compojoom/css/jquery.fileupload-ui.css');
CompojoomHtmlBehavior::jquery();
JHtml::script('media/lib_compojoom/js/jquery.ui.custom.js');
JHtml::script('media/lib_compojoom/js/tmpl.min.js');
JHtml::script('media/lib_compojoom/js/canvas-to-blob.min.js');
JHtml::script('media/lib_compojoom/js/load-image.all.min.js');
JHtml::script('media/lib_compojoom/js/jquery.iframe-transport.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-process.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-image.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-audio.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-video.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-validate.js');
JHtml::script('media/lib_compojoom/js/jquery.fileupload-ui.js');
?>
<div id="fileupload">
<!-- Redirect browsers with JavaScript disabled to the origin page -->
<noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript>
<!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
<div class="row fileupload-buttonbar">
<input type="file" name="files[]" id="file-upload-real" multiple>
<div class="col-lg-12">
<div class="panel panel-default compojoom-notes">
<div class="panel-body">
<!-- The global file processing state -->
<span class="fileupload-process"><span class="fa fa-spinner fa-pulse"></span></span>
<?php echo JText::sprintf('LIB_COMPOJOOM_ATTACH_IMAGES_BY_DRAG_DROP_OR', '<span id="file-upload-fake" type="button" class="btn-link">', '</span>'); ?>
<br/>
<small class="muted"><?php echo JText::sprintf('LIB_COMPOJOOM_THE_MAXIMUM_FILE_SIZE', $displayData['maxSize'] . 'MB'); ?>
<?php echo JText::sprintf('LIB_COMPOJOOM_ONLY_FILE_TYPES_ARE_ALLOWED', $displayData['fileTypes']); ?></small>
<!-- The global progress state -->
<div class="fileupload-progress fade hide">
<!-- The global progress bar -->
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="progress-bar progress-bar-success" style="width:0%;"></div>
</div>
<!-- The extended global progress state -->
<div class="progress-extended"> </div>
</div>
<div class="">
<div class="alert alert-error hide compojoom-max-number-files">
<?php echo JText::sprintf('LIB_COMPOJOOM_MAX_NUMBER_OF_FILES_REACHED', $displayData['maxNumberOfFiles']); ?>
</div>
<table role="presentation" class="table table-striped">
<thead></thead>
<tbody class="files"></tbody>
</table>
<div class="alert alert-error hide compojoom-max-number-files">
<?php echo JText::sprintf('LIB_COMPOJOOM_MAX_NUMBER_OF_FILES_REACHED', $displayData['maxNumberOfFiles']); ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<td>
<span class="preview"></span>
</td>
<td>
<span class="name"><i>{%=file.name%}</i></span>
<div class="compojoom-single-file-progress">
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">
<div class="progress-bar progress-bar-success" style="width:0%;"></div>
</div>
<small><strong class="size"><?php echo JText::_('LIB_COMPOJOOM_PROCESSING'); ?>...</strong></small>
</div>
</td>
<td>
{% if (!i && !o.options.autoUpload) { %}
<button class="btn btn-default btn-xs start" disabled>
<i class="fa fa-upload"></i>
<span><?php echo JText::_('LIB_COMPOJOOM_START'); ?></span>
</button>
{% } %}
{% if (!i) { %}
<button class="btn btn-default btn-xs btn-xs cancel pull-left">
<i class="fa fa-stop"></i>
<span><?php echo JText::_('LIB_COMPOJOOM_CANCEL'); ?></span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
<td style="">
{% if (file.thumbnailUrl) { %}
<span class="preview">
{% if (file.url) { %}
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery>
<img src='{%=file.thumbnailUrl%}'>
</a>
{% } else { %}
<img src='{%=file.thumbnailUrl%}'>
{% } %}
</span>
{% } %}
</td>
<td>
{% if (!file.error) { %}
<div class="file-meta">
<div class="row">
<div class="col-lg-4">
<input type="text" class="form-control"
placeholder="<?php echo JText::_('LIB_COMPOJOOM_TITLE'); ?>"
name="<?php echo $displayData['formControl']; ?>[<?php echo $displayData['fieldName']; ?>_data][{%=file.name%}][title]"
value="{%=file.title%}" />
</div>
<div class="col-lg-8">
<input type="text" placeholder="<?php echo JText::_('LIB_COMPOJOOM_DESCRIPTION'); ?>" class="form-control"
name="<?php echo $displayData['formControl']; ?>[<?php echo $displayData['fieldName']; ?>_data][{%=file.name%}][description]"
value="{%=file.description%}" />
</div>
</div>
</div>
{% } %}
{% if (file.error) { %}
<div><span class="label label-danger"><?php echo JText::_('LIB_COMPOJOOM_ERROR'); ?></span> {%=file.error%}</div>
{% } %}
</td>
<td style="text-align: center">
{% if (file.deleteUrl) { %}
<?php if ($canDelete) : ?>
<button class="btn btn-danger btn-xs delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
<i class="fa fa-trash-o"></i>
<span><?php echo JText::_('LIB_COMPOJOOM_DELETE'); ?></span>
</button>
<div>
<small class="size muted">{%=o.formatFileSize(file.size)%}</small>
</div>
<?php endif; ?>
{% } else { %}
<button class="btn btn-default btn-xs btn-xs cancel">
<i class="fa fa-stop"></i>
<span><?php echo JText::_('LIB_COMPOJOOM_CANCEL'); ?></span>
</button>
{% }%}
{% if (!file.error) { %}
<input type="hidden" name="<?php echo $displayData['formControl']; ?>[<?php echo $displayData['fieldName']; ?>][]" value="{%=file.name%}" />
{% } %}
</td>
</tr>
{% } %}
</script>
<script>
document.getElementById("file-upload-fake").addEventListener("click", function () {
document.getElementById("file-upload-real").click(); // trigger the click of actual file upload button
});
jQuery(document).ready(function () {
var $ = jQuery;
// Initialize the jQuery File Upload widget:
$('#fileupload').fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
formData: {},
autoUpload: true,
maxFileSize: <?php echo $mediaHelper->toBytes($displayData['maxSize'] . 'M'); ?>,
maxNumberOfFiles: <?php echo $displayData['maxNumberOfFiles']; ?>,
url: '<?php echo $displayData['url'] . '&' . JSession::getFormToken(); ?>=1',
disableImageResize: false,
imageMaxWidth: <?php echo $imageSize['x']; ?>,
imageMaxHeight: <?php echo $imageSize['y']; ?>,
finished: function (e, data) {
if ($(this).fileupload('option').getNumberOfFiles() >= <?php echo $displayData['maxNumberOfFiles']; ?>) {
$('.compojoom-max-number-files').removeClass('hide');
}
else {
$('.compojoom-max-number-files').addClass('hide');
}
},
destroyed: function (e, data) {
if ($(this).fileupload('option').getNumberOfFiles() >= <?php echo $displayData['maxNumberOfFiles']; ?>) {
$('.compojoom-max-number-files').removeClass('hide');
}
else {
$('.compojoom-max-number-files').addClass('hide');
}
}
}).on('destroyed', function (e, data) {
if ($(this).fileupload('option').getNumberOfFiles() >= <?php echo $displayData['maxNumberOfFiles']; ?>) {
$('.compojoom-max-number-files').removeClass('hide');
}
else {
$('.compojoom-max-number-files').addClass('hide');
}
}).on('fileuploadadd', function(e, data){
$('.fileupload-progress.hide').removeClass('hide');
});
// Enable iframe cross-domain access via redirect option:
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(
/\/[^\/]*$/,
'/cors/result.html?%s'
)
);
// Load existing files:
$('#fileupload').addClass('fileupload-processing');
$.ajax({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: '<?php echo $displayData['url'] . '&' . JSession::getFormToken(); ?>=1&id=<?php echo JFactory::getApplication()->input->get('id'); ?>',
dataType: 'json',
context: $('#fileupload')[0]
}).always(function () {
$(this).removeClass('fileupload-processing');
}).done(function (result) {
$(this).fileupload('option', 'done')
.call(this, $.Event('done'), {result: result});
});
});
</script>