Your IP : 216.73.216.170


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