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

279 lines
9.9 KiB
PHP
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.

<?php
ini_set( 'display_errors', 1 );
if ($_SESSION['dostup'] !== 'a' && $_SESSION['dostup'] !== 'e') header('Location: /login/');
switch(@$_POST['act']) {
/* ----------------------------------------------------------------------
11.04.2025
Опция показа в меню
---------------------------------------------------------------------- */
case 'showOnRight':
\DBmysql::set("UPDATE `content` SET `showOnRight`=? WHERE `id`=? LIMIT 1", [$_POST['status'], $_POST['id']]);
//echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
case 'changeSort':
\DBmysql::set("UPDATE `content` SET `sort`=? WHERE `id`=? LIMIT 1", [$_POST['sort'], $_POST['id']]);
//echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
/* ----------------------------------------------------------------------
13.03.2025
Перемещение страницы
---------------------------------------------------------------------- */
case 'delPage':
\DBmysql::set("DELETE FROM `content` WHERE `id`=? LIMIT 1", $_POST['id']);
//echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
/* ----------------------------------------------------------------------
13.03.2025
Перемещение страницы
---------------------------------------------------------------------- */
case 'changeStatus':
\DBmysql::set("UPDATE `content` SET `status`=? WHERE `id`=? LIMIT 1", [$_POST['status'], $_POST['id']]);
//echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
case 'tonews':
\DBmysql::set("UPDATE `content` SET `tonews`=? WHERE `id`=? LIMIT 1", [$_POST['status'], $_POST['id']]);
//echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
/* ----------------------------------------------------------------------
13.03.2025
Перемещение страницы
---------------------------------------------------------------------- */
case 'changeCat':
\DBmysql::set("UPDATE `content` SET `category`=? WHERE `id`=? LIMIT 1", [$_POST['to'], $_POST['id']]);
echo "Перемещено в <a href='/contenteditor/" . $_POST['to'] . "'>категорию</a>";
break;
/* ----------------------------------------------------------------------
13.03.2025
Удаление файла
---------------------------------------------------------------------- */
case 'delFile':
\DBmysql::set("DELETE FROM `content` WHERE `id`=? LIMIT 1", $_POST['id']);
echo "Файл удален";
break;
/* ----------------------------------------------------------------------
13.03.2025
Сохраняем описание файла
---------------------------------------------------------------------- */
case 'changeNameFile':
\DBmysql::set("UPDATE `content` SET `json`=? WHERE `id`=? LIMIT 1", [$_POST['txt'], $_POST['id']]);
echo "Изменен псевдоним файла";
break;
/* ----------------------------------------------------------------------
13.03.2025
Загружаем вложение
---------------------------------------------------------------------- */
case 'uploadFile':
@mkdir("files/" . $_SERVER['SERVER_NAME'], 0700);
@mkdir("files/" . $_SERVER['SERVER_NAME'] . '/' . $_POST['id'], 0700);
copy($_FILES['file']['tmp_name'], "files/" . $_SERVER['SERVER_NAME'] . '/' . $_POST['id'] . '/' . $_FILES['file']['name']);
\DBmysql::add("INSERT INTO `content` (`title`, `txt`, `status`, `site`, `user_id`, `content_type`, `category`) VALUES (?, ?, ?, ?, ?, ?, ?)",
[$_FILES['file']['name'], "/files/" . $_SERVER['SERVER_NAME'] . '/' . $_POST['id'] . '/' . $_FILES['file']['name'], 1, $_SERVER['SERVER_NAME'], $_SESSION['user_id'], 'file', $_POST['id']]);
echo "Загружен файл " . $_FILES['file']['name'];
break;
/* ----------------------------------------------------------------------
07.10.2022
Сохраняем текст
---------------------------------------------------------------------- */
case 'changeTXT':
\DBmysql::set("UPDATE `content` SET `title`=?, `txt`=? WHERE `id`=?", [$_POST['title'], $_POST['txt'], $_POST['id']]);
//$_POST['txt']=base64_decode($_POST['txt']);
//\DBmysql::set("UPDATE `content` SET `json`=? WHERE `id`=?", [$json, $_POST['id']]);
echo "Обновлена запись " . $_POST['txt'];
break;
/*
12.03.2025
Обновляем ключевые слова
*/
case 'update_keywords':
$json=\DBmysql::getValue("SELECT `json` FROM `content` WHERE `id`=? LIMIT 1", $_POST['id']);
$arr=\core::j($json);
$arr['keywords']=$_POST['keywords'];
$arr['description']=$_POST['description'];
$json=\core::j($arr);
\DBmysql::set("UPDATE `content` SET `json`=? WHERE `id`=?", [$json, $_POST['id']]);
echo "Обновлены ключевые слова у записи " . $_POST['id'];
break;
/*
12.03.2025
Создаем новую страницу
*/
case 'newpage':
$id=\DBmysql::add("INSERT INTO `content` (`title`, `user_id`, `content_type`, `time`, `category`, `status`, `site`) VALUES (?,?,?,?,?,?,?)",
[$_POST['title'], $_SESSION['user_id'], 'page', time(), $_POST['category'], 1, $_SERVER['SERVER_NAME']]);
echo $id;
break;
case 'delimg':
$img=\DB::getRow("SELECT * FROM `img` WHERE `filename`=?", $_POST['filename']);
unlink('img/' . $_SERVER['SERVER_NAME'] . '/' . $img['content_type'] . '/' . $img['content_id'] . '/' . $_POST['filename'] . '.jpg');
\DB::set("DELETE FROM `img` WHERE `filename`=?", $_POST['filename']);
break;
case 'enable-comments':
\DB::set("UPDATE `content` SET `" . $_POST['pole'] . "`=? WHERE `id`=?", [$_POST['val'], $_POST['id']]);
break;
case 'save-text':
if (@$_POST['act'] == 'save') {
\DB::set("UPDATE `pages` SET
`title`=?, `txt`=?, `t`=?, `keywords`=?, `alias`=?, `description`=?, `category`=?, `user_id`=?, `d`=? WHERE `id`=?", array(
$_POST['title'], $_POST['txt'],
time(), $_POST['keywords'], $_POST['alias'], $_POST['description'], $_POST['category'], $_SESSION['user_id'], $_POST['d'], $_GET['id']
));
} else {
$id = \DB::add("INSERT INTO `pages` (`title`, `txt`, `t`, `keywords`, `alias`, `description`, `category`, `user_id`, `d`, `status`) VALUES (?,?,?,?,?,?,?,?,?,1)", array(
$_POST['title'], $_POST['txt'],
time(), $_POST['keywords'],
$_POST['alias'], $_POST['description'], $_POST['category'], $_SESSION['user_id'], $_POST['d']
));
header('Location: /page_edit/' . $id);
}
break;
case 'foto_upload':
//\core::upload_img('page', $_SESSION['id'], 0);
include_once 'api/php/thumbs-master/thumbs.php';
@mkdir("img/" . $_SERVER['SERVER_NAME'], 0700);
@mkdir("img/" . $_SERVER['SERVER_NAME'] . '/content', 0700);
@mkdir("img/" . $_SERVER['SERVER_NAME'] . '/content/' . $_POST['id'], 0700);
$tip=pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$fm=\core::genpassword(30);
$src=$_FILES['file']['tmp_name'];
$target='img/' . $_SERVER['SERVER_NAME'] . '/content/' . $_POST['id'] . '/' . $fm . '.' . $tip;
$mini='img/' . $_SERVER['SERVER_NAME'] . '/content/' . $_POST['id'] . '/' . $fm . '_' . IMG_PRV_W . '_' . IMG_PRV_H . '.webp';
copy($src, $target);
$image = new Thumbs($target);
$image->thumb(IMG_PRV_W, IMG_PRV_H);
$image->saveWEBP($mini, 80);
unset($image);
$mini2='img/' . $_SERVER['SERVER_NAME'] . '/content/' . $_POST['id'] . '/' . $fm . '_' . IMG_MAIN_W . '_' . IMG_MAIN_H . '.webp';
$image = new Thumbs($target);
$image->thumb(IMG_MAIN_W, IMG_MAIN_H);
$image->saveWEBP($mini2, 80);
$json=\DBmysql::getValue("SELECT `json` FROM `content` WHERE `id`=? LIMIT 1", [$_POST['id']]);
$arr=\core::j($json);
$images=$arr['images'];
if ($images){
array_push($images, '/' . $mini);
}else{
$images[0]='/' . $mini;
}
$arr['images']=$images;
$images=$arr['bigimages'];
if ($images){
array_push($images, '/' . $mini2);
}else{
$images[0]='/' . $mini2;
}
$arr['imagesbig']=$images;
$json=\core::j($arr);
\DBmysql::set("UPDATE `content` SET `json`=? WHERE `id`=? LIMIT 1", [$json, $_POST['id']]);
/*copy($_FILES['file']['tmp_name'], "files/" . $_SERVER['SERVER_NAME'] . '/' . $_POST['id'] . '/' . $_FILES['file']['name']);
\DBmysql::add("INSERT INTO `content` (`title`, `txt`, `status`, `site`, `user_id`, `content_type`, `category`) VALUES (?, ?, ?, ?, ?, ?, ?)",
[$_FILES['file']['name'], "/files/" . $_SERVER['SERVER_NAME'] . '/' . $_POST['id'] . '/' . $_FILES['file']['name'], 1, $_SERVER['SERVER_NAME'], $_SESSION['user_id'], 'file', $_POST['id']]);
*/
break;
case 'save-settings':
$json=\json::to_j($_POST);
$id=\DB::getValue("SELECT `id` FROM `settings` WHERE `mod`='page_edit' LIMIT 1");
if ($id)
\DB::set("UPDATE `settings` SET `json` =? WHERE `mod`='page_edit' LIMIT 1", $json);
else
\DB::add("INSERT INTO `settings` (`mod`, `json`) VALUES (?, ?)", array('page_edit', $json));
break;
/*
case 'update_settings':
unset($_POST['act']);
$db->update_settings($_POST);
break;
case 'upload_main_img':
//echo 'uploader';
$settings_mod = $db -> get_settings_json($_POST['mod']);
unset($_POST['act']);
$tmp_name = $db -> upload_img( $_FILES, 'pages', 'main_img');
$db -> resize_img($tmp_name, $settings_mod['w'], $settings_mod['h'], 80, false, 'pages');
$db -> resize_img($tmp_name, $settings_mod['p_w'], $settings_mod['p_h'], 80, true, 'pages');
unset($a);
$a['id']=$_POST['id'];
$json=$db->get_val('pages', $a, 'json');
$massiv=$db->from_j($db-> clear_json($json));
$massiv['main_img']=$tmp_name;
$json=$db->to_j($massiv);
$db->free_sql( "UPDATE `pages` SET `json` = '" . $json . "' WHERE `id` = " . $_POST['id'] );
echo $tmp_name;
break;
*/
default:
}
?>