Your IP : 216.73.216.170
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle('Импорт задач');
If (!$USER->IsAdmin()) {
ShowError('Этот функционал предназначен только для администратора!');
} else {
?>
<div class="archiv-form-file">
<label class="button" style="cursor: pointer;">
<input type="file" name="document">
Файл для импорта
</label>
<div class="archiv-form-file-name"></div>
</div>
<div class="mfp-hide project_move_popup download-popup" id="download">
<div class="project_move_popup_title">Загрузка нового документа</div>
<div class="project_move_popup_content">
<div class="download">
<div class="download-content">
<div class="download-title">Загружено</div>
<div class="download-bar">
<div class="download-progress" style="width: 45%;"></div>
<div class="download-bar-title">Название файла</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('.archiv-form-file input[type="file"]').change(function() {
var popupOpened = false;
$.magnificPopup.open({
modal: false,
closeOnBgClick: false,
enableEscapeKey: false,
items: {
src: '#download'
},
type: 'inline',
callbacks: {
open: function() {
popupOpened = true;
},
afterClose: function() {
popupOpened = false;
}
}
});
var filename = $(this).val();
filename = filename.substring('C:\\Fakepath\\'.length);
console.log(filename);
$('.archiv-form-file .archiv-form-file-name').html(filename);
$('.archiv-form .document_name').val(filename);
var data = new FormData();
var inputFiles = $(this)[0].files;
$.each(inputFiles, function(index, file) {
data.append('doc-' + index, file);
});
$('.download-bar').show();
$.ajax({
url: '/local/ajax/tasks_import.php',
data: data,
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST', // For jQuery < 1.9
xhr: function(){
var popup = $.magnificPopup.instance;
var xhr = $.ajaxSettings.xhr(); // получаем объект XMLHttpRequest
xhr.upload.addEventListener('progress', function(event){ // добавляем обработчик события progress (onprogress)
if(event.lengthComputable) {
// если известно количество байт
var percentComplete = Math.ceil(event.loaded / event.total * 100);
$('.download-progress').css('width', percentComplete + '%');
$('.download-title').html('Идет загрузка файла ' + filename);
$('.download-bar-title').html(percentComplete + '%');
if (event.total > 50 * 1024 * 1024) {
$('.download-progress').css('width', 0 + '%');
$('.download-title').html('Ошибка!');
$('.download-bar-title').html('<span style="color: red;">Размер файла не должен превышать 50Мб!</span>');
return false;
}
}
}, false);
return xhr;
},
success: function(answer) {
var result = $.parseJSON(answer);
$('.download-content').html(result.message);
}
});
})
});
</script>
<?
}
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>