2025-06-16 18:28:08 +05:00

568 lines
16 KiB
JavaScript
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$(".showOnRight").click(function () {
if ($(this).is(':checked')) {
var status = 1;
} else {
var status = 0;
}
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=showOnRight&id=' + $(this).data('id')+ "&status=" + status,
success: function (data) {
$("#div_log").append("<p>Изменен тип публикации</p>")
}
});
});
$(".tonews").click(function () {
if ($(this).is(':checked')) {
var status = 1;
} else {
var status = 0;
}
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=tonews&id=' + $(this).data('id')+ "&status=" + status,
success: function (data) {
$("#div_log").append("<p>Изменен статус</p>")
}
});
});
$(".changeSort").keyup(function () {
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=changeSort&id=' + $(this).data('id') + "&sort=" + $(this).val(),
success: function (data) {
$("#div_log").append("<p>Изменена сортировка</p>")
}
});
});
/* ----------------------------------------------------------------------
26.03.2025
Меняем категорию
---------------------------------------------------------------------- */
$(".delPage").click(function () {
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=delPage&id=' + $(this).data('id'),
success: function (data) {
$("#div_log").append("<p>Удалено</p>")
}
});
$("#li_" + $(this).data('id')).hide();
});
/* ----------------------------------------------------------------------
26.03.2025
Меняем категорию
---------------------------------------------------------------------- */
$(".checkboxStatus").click(function () {
if ($(this).is(':checked')) {
var status = 1;
} else {
var status = 0;
}
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=changeStatus&id=' + $(this).data('id')+ "&status=" + status,
success: function (data) {
$("#div_log").append("<p>Изменен статус</p>")
}
});
});
/* ----------------------------------------------------------------------
26.03.2025
Меняем категорию
---------------------------------------------------------------------- */
$("#btn_changeCat").click(function () {
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=changeCat&id=' + $("#global_id").val() + "&to=" + $("#catList").val(),
//dataType : 'json',
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
}
});
$("#f_" + $(this).data("id")).hide();
});
/* ----------------------------------------------------------------------
13.03.2025
Удаляем файл
---------------------------------------------------------------------- */
$(".files .fa-trash").click(function () {
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=delFile&id=' + $(this).data("id"),
//dataType : 'json',
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
}
});
$("#f_" + $(this).data("id")).hide();
});
/* ----------------------------------------------------------------------
13.03.2025
Сохраняем описание файла
---------------------------------------------------------------------- */
$(".files input").keyup(function () {
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
data: 'act=changeNameFile&id=' + $(this).data("id") + "&txt=" + $(this).val(),
//dataType : 'json',
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
}
});
});
/* ----------------------------------------------------------------------
13.03.2025
Загружаем вложения
---------------------------------------------------------------------- */
$("#inputFileUpload").change(function () {
var formData = new FormData();
formData.append('file', $("#inputFileUpload")[0].files[0]);
formData.append('act', "uploadFile");
formData.append('id', $("#global_id").val());
$.ajax({
type: "POST",
url: '/act/contenteditor',
cache: false,
contentType: false,
processData: false,
data: formData,
//dataType : 'json',
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
}
});
$("#inputFileUpload").val("");
});
/* ----------------------------------------------------------------------
07.10.2022
Сохраняем текст
---------------------------------------------------------------------- */
function utf8_to_b64(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode('0x' + p1)));
}
$("#page-editor").submit(function (event) {
event.preventDefault();
var title = $("#title").val();
// var txt=encodeURIComponent(utf8_to_b64(tinyMCE.get('editarea').getContent()));
var txt = encodeURIComponent(tinyMCE.get('editarea').getContent());
//alert(txt);
var id = $("#global_id").val();
$.ajax({
type: "POST",
url: '/act/contenteditor',
data: "act=changeTXT&id=" + id + "&title=" + title + "&txt=" + txt,
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
},
});
})
/*
12.03.2025
Добавление страницы
*/
$('#formNewPage').submit(function (event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: $(this).attr('action'), // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function (data) {
setTimeout(function () { window.location.href = '/contenteditor/' + data; }, 1000);
},
error: function (data) {
console.log(data);
}
});
});
/* Сохранение ключевых слов */
$("#btn_save_keywords").click(function (event) {
$.ajax({
type: 'POST', // Тип запроса
url: "/act/contenteditor", // Скрипт обработчика
data: "act=update_keywords&keywords=" + $("#input_keywords").val() + "&description=" + $("#input_description").val() + "&id=" + $("#global_id").val(), // Данные которые мы передаем
success: function (data) {
$("#div_log").append("<p>" + data + "</p>")
},
error: function (data) {
console.log(data);
}
});
})
$('.str-img').keyup(function (event) {
var fm = $(this).data("fm");
var w = $('#img-size-w-' + fm).val();
var h = $('#img-size-h-' + fm).val();
var res = '<img src="/api/img/gray/gif/gray.gif" class="lazy" data-original="/img.php?filename=' + fm + '&w=' + w + '&h=' + h + '">';
$("#res-" + fm).val(res);
})
//Удаление картинок из таблицы IMG
$('.delimg').click(function (event) {
var filename = $(this).data("filename");
$.ajax({
type: 'POST', // Тип запроса
url: "/act/page_edit", // Скрипт обработчика
data: "act=delimg&filename=" + filename, // Данные которые мы передаем
success: function (data) {
$("#" + filename).hide();
}
});
});
/*добавляем коментарий*/
$('.form-add-comment').submit(function (event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: $(this).attr('action'), // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function (data) {
//alert(data);
/* printMessage('#result', data);*/
},
error: function (data) {
console.log(data);
}
});
$("#textarea_txt").val('');
$("#div-commen-add").removeClass("hidden");
});
//Сохраняем опции
$('.module-settings').submit(function (event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: $(this).attr('action'), // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function (data) {
//alert(data);
/* printMessage('#result', data);*/
}
});
});
/* Скрываем уведомление о модерации */
$("#textarea_txt").click(function (event) {
$("#div-commen-add").addClass("hidden");
})
/* Удаление коментариев */
$(".a_del_comment").click(function (event) {
var id = $(this).attr('href');
$("#div-comment-id-" + id).hide("800");
return false;
})
/* Кнопка лайка */
function setlike(i) {
if (i == '1') {
var a = Number.parseInt($("#likes").text()) + 1;
$("#likes").text(a);
}
}
$('a.like-btn').click(function (event) {
$.ajax({
type: 'POST', // Тип запроса
url: '/act/page', // Скрипт обработчика
data: 'id=' + $(this).attr("href") + '&act=like', // Данные которые мы передаем
success: function (data) {
setlike(data);
/* printMessage('#result', data);*/
},
error: function (data) {
console.log(data);
}
});
return false;
})
/* -- Загрузка обложки -- */
$("#img__select_main_img").click(function (event) {
$("#input__main_img").click();
})
$("#input__main_img").change(function (event) {
//$("#form__upload_main_img").submit();
var input = $(this)[0];
if (input.files && input.files[0]) {
if (input.files[0].type.match('image.*')) {
var reader = new FileReader();
reader.onload = function (e) {
$('#img__select_main_img').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
} else {
console.log('ошибка, не изображение');
}
} else {
console.log('хьюстон у нас проблема');
}
})
/*$("#form__upload_main_img").submit(function(event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: '/act/page_edit', // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function(data) { //здесь надо получить имя картинки
//alert(data);
// printMessage('#result', data);
},
error: function(data) {
console.log(data);
}
});
})*/
/* -- uploader -- */
// ************************ Drag and drop ***************** //
let dropArea = document.getElementById("drop-area")
// Prevent default drag behaviors
;
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
dropArea.addEventListener(eventName, preventDefaults, false)
document.body.addEventListener(eventName, preventDefaults, false)
})
// Highlight drop area when item is dragged over it
;
['dragenter', 'dragover'].forEach(eventName => {
dropArea.addEventListener(eventName, highlight, false)
})
;
['dragleave', 'drop'].forEach(eventName => {
dropArea.addEventListener(eventName, unhighlight, false)
})
// Handle dropped files
dropArea.addEventListener('drop', handleDrop, false)
function preventDefaults(e) {
e.preventDefault()
e.stopPropagation()
}
function highlight(e) {
dropArea.classList.add('highlight')
}
function unhighlight(e) {
dropArea.classList.remove('active')
}
function handleDrop(e) {
var dt = e.dataTransfer
var files = dt.files
handleFiles(files)
}
let uploadProgress = []
let progressBar = document.getElementById('progress-bar')
function initializeProgress(numFiles) {
progressBar.value = 0
uploadProgress = []
for (let i = numFiles; i > 0; i--) {
uploadProgress.push(0)
}
}
function updateProgress(fileNumber, percent) {
uploadProgress[fileNumber] = percent
let total = uploadProgress.reduce((tot, curr) => tot + curr, 0) / uploadProgress.length
console.debug('update', fileNumber, percent, total)
progressBar.value = total
}
function handleFiles(files) {
files = [...files]
initializeProgress(files.length)
files.forEach(uploadFile)
files.forEach(previewFile)
}
function previewFile(file) {
let reader = new FileReader()
reader.readAsDataURL(file)
reader.onloadend = function () {
let img = document.createElement('img')
img.src = reader.result
document.getElementById('gallery').appendChild(img)
}
}
function uploadFile(file, i) {
var url = '/act/contenteditor'
var xhr = new XMLHttpRequest()
var formData = new FormData()
xhr.open('POST', url, true)
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
// Update progress (can be used to show progress indicator)
xhr.upload.addEventListener("progress", function (e) {
updateProgress(i, (e.loaded * 100.0 / e.total) || 100)
})
xhr.addEventListener('readystatechange', function (e) {
if (xhr.readyState == 4 && xhr.status == 200) {
updateProgress(i, 100) // <- Add this
} else if (xhr.readyState == 4 && xhr.status != 200) {
// Error. Inform the user
}
})
formData.append('upload_preset', 'ujpu6gyk')
formData.append('act', 'foto_upload')
formData.append('file', file)
formData.append('id', $("#global_id").val())
xhr.send(formData)
}
$('.page-option').on('change', function () {
// Это короткая запись, которая означает то же, что и if($(this).prop('checked') == true)
if ($(this).prop('checked'))
var comments = '1';
else
var comments = '0';
$.ajax({
type: 'POST', // Тип запроса
url: '/act/contenteditor', // Скрипт обработчика
data: "act=enable-comments&val=" + comments + "&id=" + $(this).data("id") + "&pole=" + $(this).data("pole"), // Данные которые мы передаем
success: function (data) {
//alert(data);
/* printMessage('#result', data);*/
}
});
});