$(document).ready(function(e) { /*********************************************************************************** MODAL: SHOW PUBLIC FILE URL ***********************************************************************************/ $('body').on('click', '.public_link', function(e) { $(document).psendmodal(); var type = $(this).data('type'); var id = $(this).data('id'); var token = $(this).data('token'); if ( type == 'group' ) { var link_base = 'http://shinpey.ru/ps/public.php?'; var note_text = 'Послать этот URL кому либо для просмотра содержания группы согласно вашим настройкам приватности.'; } else if ( type == 'file' ) { var link_base = 'http://shinpey.ru/ps/download.php?'; var note_text = 'Отправить этот URL, для скачивания файла без регистрации или входа в систему.'; } var content = ''; var title = 'Общедоступная ссылка'; $('.modal_title span').html(title); $('.modal_content').html(content); }); /*********************************************************************************** APPLY FORM BULK ACTIONS ***********************************************************************************/ $("#do_action").click(function(e) { var checks = $("td>input:checkbox").serializeArray(); var action = $('#action').val(); if (action != 'none') { if (action == 'delete') { if (checks.length == 0) { alert('Пожалуйсто выберите хотя бы один элемент для обработки'); return false; } else { var msg_1 = 'Вы собираетесь удалить'; var msg_2 = 'элементов. Вы уверены что хотите продолжить?'; if (confirm(msg_1+' '+checks.length+' '+msg_2)) { return true; } else { return false; } } } if (action == 'log_clear') { var msg = 'Вы собираетесь удалить все события из журнала. Останутся только те, которые используются для статистики. Вы уверены, что хотите продолжить?'; if (confirm(msg)) { return true; } else { return false; } } if (action == 'log_download') { $(document).psendmodal(); //Cookies.set('log_download_started', 0, { expires: 100 }); //setTimeout(check_log_download_cookie, 1000); $('.modal_content').html('

'+ 'Loading

'+ '

Пожалуйста, подождите, пока загрузка будет готова.

' ); $('.modal_content').append(''); return false; } if (action == 'unassign') { var msg_1 = 'Вы собираетесь убрать назначение'; var msg_2 = 'файлы от этой учетной записи. Вы уверены что хотите продолжить?'; if (confirm(msg_1+' '+checks.length+' '+msg_2)) { return true; } else { return false; } } if (action == 'zip') { e.preventDefault(); var checkboxes = $.map($('input:checkbox:checked'), function(e,i) { if (e.value != '0') { return +e.value; } }); $(document).psendmodal(); Cookies.set('download_started', 0, { expires: 100 }); setTimeout(check_download_cookie, 1000); $('.modal_content').html('

Loading

'+ '

Пожалуйста, подождите, пока загрузка будет готова.

'+ '

Эта операция может занять несколько минут в зависимости от размера файлов.

' ); $.get('http://shinpey.ru/ps/process.php', { do:"zip_download", files:checkboxes }, function(data) { var url = 'http://shinpey.ru/ps/process-zip-download.php?ids=' + data; $('.modal_content').append(""); $('#modal_zip').attr('src', url); } ); } } else { return false; } }); /** * Solution to close the modal. Suggested by remez, based on * https://stackoverflow.com/questions/29532788/how-to-display-a-loading-animation-while-file-is-generated-for-download */ var downloadTimeout; var check_download_cookie = function() { if (Cookies.get("download_started") == 1) { Cookies.set("download_started", "false", { expires: 100 }); remove_modal(); } else { downloadTimeout = setTimeout(check_download_cookie, 1000); } }; var logdownloadTimeout; var check_log_download_cookie = function() { if (Cookies.get("log_download_started") == 1) { Cookies.set("log_download_started", "false", { expires: 100 }); remove_modal(); } else { logdownloadTimeout = setTimeout(check_log_download_cookie, 1000); } }; if ( $.isFunction($.fn.chosen) ) { $('.chosen-select').chosen({ no_results_text : "Ваш запрос не дал результатов.", width : "100%", search_contains : true }); } if ( typeof CKEDITOR !== "undefined" ) { CKEDITOR.replaceAll( 'ckeditor' ); } });