$('#create').ajaxForm({ dataType: 'json', success: function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 's') location.href = home + 'help/section/dialog/id/' + val; }); loading(0); return false; } }); $('#reply').ajaxForm({ dataType: 'json', success: function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 'с') { bootbox.dialog('

Внимание

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); location.reload(); } if (i == 'i') { bootbox.dialog('

Внимание

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); dialog_update(false); } if (i == 's') { $('#text').val(''); $('#text').html(''); document.getElementById("text").removeAttribute("style"); $('#img-input').html(''); $('#uploaded-files').html(''); $('#uploaded-files').css('display', 'none'); $('#frm').html($('#frm').html()); dialog_update(false); } }); loading(0); return false; } }); function help_open(id) { loading(1); $.getJSON(home + 'help/section/close/action/open/id/' + id, function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 's') location.href = home + 'help/section/dialog/id/' + id; loading(0) }); }); } function help_msg_del(id, msg) { loading(1); $.getJSON(home + 'help/section/dialog/action/remove/id/' + id + '/msg/' + msg, function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 's') dialog_update(false); loading(0) }); }); return false; } function help_close(id) { loading(1); $.getJSON(home + 'help/section/open/action/close/id/' + id, function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 's') location.reload(); loading(0) }); }); } function help_readers() { $.get(home + 'help/section/dialog/action/read/id/' + help, function (readers) { $('#help_readers').html(readers); setTimeout(function () { help_readers() }, 9000); }); } function help_writers(now) { write = ''; if ($('#text').val() != '') write = '/write/1'; $.get(home + 'help/section/dialog/action/write/id/' + help + write, function (writers) { $('#help_writers').html(writers); if (!now) setTimeout(function () { help_writers(false) }, 9000); }); } function dialog_update(go) { if (go) { spoilers = $('.spoiler_main'); update = true; for (var i = 0; i < spoilers.length; i++) { if (spoilers[i].style.display == 'block') { setTimeout(function () { dialog_update(true) }, 15000); return false; } } } loading(1); $.getJSON(home + 'help/section/dialog/id/' + help + '/ajax', function (data) { $.each(data, function (i, val) { if (i == 'dialog') { $('#dialog').html(val); $('.spoiler').click(function () { $(this).parent().children('div.spoiler_main').toggle(0); }); $('pre code').each(function (i, block) { hljs.highlightBlock(block); }); } if (i == 'status') $('#status').html(val); }); loading(0); if (go) setTimeout(function () { dialog_update(true) }, 15000); }); } // Переустановка сервера (подтверждение) function help_delete(id) { bootbox.dialog('

Внимание

Вы уверены, что хотите удалить этот вопрос?', [{ "label": "Подтвердить", "class": "btn-small btn-primary", callback: function () { help_delete_go(id) } }, { "label": "Отмена", "class": "btn-small btn-primary", }] ); } function help_delete_go(id) { loading(1); $.getJSON(home + 'help/section/open/action/delete/id/' + id, function (data) { $.each(data, function (i, val) { if (i == 'e') bootbox.dialog('

Ошибка

' + val, [{ "label": "OK", "class": "btn-small btn-primary", }] ); if (i == 's') location.reload(); loading(0) }); }); } function clearFileUpload(id) { fileField = document.getElementById(id); parentNod = fileField.parentNode; tmpForm = document.createElement("form"); parentNod.replaceChild(tmpForm, fileField); tmpForm.appendChild(fileField); tmpForm.reset(); parentNod.replaceChild(fileField, tmpForm); } function bbcode(bbbegin, bbend) { form = document.getElementById('text'); begin = form.value.substr(0, form.selectionStart); end = form.value.substr(form.selectionEnd); sel = form.value.substr(form.selectionStart, form.selectionEnd - form.selectionStart); var text = form.firstChild; form.value = begin + bbbegin + sel + bbend + end; selPos = bbbegin.length + begin.length + sel.length + bbend.length; form.setSelectionRange(begin.length, selPos); return false; } jQuery.event.props.push('dataTransfer'); var maxFiles = 8; var dataArray = []; $('#uploaded-files').hide(); $('#drop-files').on('drop', function (e) { var files = e.dataTransfer.files; if (files.length <= maxFiles) { for (i = 0; i < files.length; i++) { if (files[i].size < (1024 * 1024 * 1)) loadInView(files[i]); else alert('Слишком большой файл. Максимально 1024Kb.'); } } else { alert('Нельзя загружать больше ' + maxFiles + ' изображений.'); files.length = 0; } return false; }); $('#img').on('change', function () { var files = $(this)[0].files; if (files.length <= maxFiles) { for (i = 0; i < files.length; i++) { if (files[i].size < (1024 * 1024 * 1)) loadInView(files[i]); else alert('Слишком большой файл. Максимально 1024Kb.'); } } else { alert('Нельзя загружать больше ' + maxFiles + ' изображений.'); files.length = 0; } clearFileUpload('img'); }); var upload = 0; var files = 0; function loadInView(file) { if (files < 0) files = 0; $('#uploaded-holder').css('display', 'inline-block'); if (!file.type.match('image.*')) { $('#drop-files p').html('Файл не является изображением.'); return false; } files = files + 1; if (files <= maxFiles) $('#upload-button').css({'display': 'block'}); else { alert('Нельзя загружать больше ' + maxFiles + ' изображений.'); files = files - 1; return false; } var fileReader = new FileReader(); fileReader.onload = (function (file) { return function (e) { dataArray.push({name: file.name, value: this.result, check: null, sel: null}); addImage((dataArray.length - 1)); }; })(file); fileReader.readAsDataURL(file); return false; } function delImage(id) { $(this).empty(); dataArray.splice(id, 1); $('#dropped-files > .img-block').remove(); addImage(-1); return false; } function addImage(ind) { if (ind < 0) { start = 0; end = dataArray.length; files = files - 1; } else { start = ind; end = ind + 1; } if (dataArray.length == 0) { $('#upload-button').hide(); $('#uploaded-holder').hide(); } for (i = start; i < end; i++) if ($('#dropped-files > .img-block').length <= maxFiles) $('#dropped-files').append('
Удалить
'); return false; } function restartFiles(go) { $('#loading-bar .loading-color').css({'width': '0%'}); $('#loading').css({'display': 'none'}); $('#loading-content').html(' '); $('#upload-button').hide(); $('#dropped-files > .img-block').remove(); $('#uploaded-holder').hide(); dataArray.length = 0; if (go != 1) files = upload; return false; } $('#dropped-files #upload-button .delete').click(restartFiles); $('#upload-button .upload').click(function () { $("#loading").show(); var totalPercent = 100 / dataArray.length; var x = 0; $('#loading-content').html('Загружен ' + dataArray[0].name); $.each(dataArray, function (index, file) { upload = upload + 1; $.post(home + 'help/section/upload', dataArray[index], function (data) { var fileName = dataArray[index].name; ++x; $('#loading-bar .loading-color').css({'width': totalPercent * (x) + '%'}); if (totalPercent * (x) == 100) { $('#loading-content').html('Загрузка завершена.'); setTimeout(restartFiles(1), 1000); } else if (totalPercent * (x) < 100) $('#loading-content').html('Загружается ' + fileName); var dataSplit = data.split(':'); if (dataSplit[1] == 'ok') { $('#uploaded-files').append('
Загружено
'); $('#img-input').append(''); } else $('#uploaded-files').append(data); }); if (upload == maxFiles) $('#upload_block').hide(); }); $('#uploaded-files').show(); return false; }); $('#drop-files').on('dragenter', function () { $(this).css({'border-color': '#74b084'}); return false; }); $('#drop-files').on('drop', function () { $(this).css({'border-color': '#dcdcdc'}); files = files - 1; return false; });