Current Path : /home/bitrix/ext_www/school1535.yacl.site/task_import/ |
Current File : /home/bitrix/ext_www/school1535.yacl.site/task_import/index.php |
<? 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");?>