View file pages/apanel/razd.php

File size: 3.16Kb
<?

$PageConfig = [	
	'title' =>  'Настройка разделов',
];
PageConfig($PageConfig);

$type = (isset($_GET['type']) ? $_GET['type'] : false);
$razd = [];

$query = $sql->fetchAll("SELECT * FROM `news_razd` ORDER BY `id` DESC LIMIT 99;");
foreach ($query AS $p) {
	$p['name'] = output($p['name'], 'html');
	$p['text'] = output($p['text']);
	$razd[] = $p;
}
if ($type =='create_razd') {
	$newlink = md5($system['time']);
	$sql->query("INSERT INTO `newsst`.`news_razd` (`date_create`, `link`, `token`, `name`) VALUES ('{$system['time']}', '". $newlink ."', '". md5($system['time'] . $system['time']) ."', 'Новый раздел');");
	Redirection('/apanel/razd?type='.$newlink, 'Успешно');	
}
if (isset($_GET['delete'])) {
	$sql->query("DELETE FROM `news_razd` WHERE `link` = ? ", [$_GET['delete']]);
	Redirection('/apanel/razd', 'Успешно');	
}


if ($type AND $type !='create_razd') {
	$razdpost = $sql->fetch("SELECT * FROM `news_razd` where `link` = ? ", [$type]);
	$razdpost['name'] = output($razdpost['name'], 'html');
	$razdpost['text'] = output($razdpost['text']);	
	$razdpost['description'] = output($razdpost['description']);	
	$razdpost['keywords'] = output($razdpost['keywords']);	

	$t->assign('razdpost', $razdpost);
}
if (isset($_POST['save'],  $_POST['name'], $_POST['text'], $_POST['link'])) {
	$name = $_POST['name'];
	$text = $_POST['text'];
	$link = $_POST['link'];
	$keywords = $_POST['keywords'];
	$description = $_POST['description'];
	$sort = (int) $_POST['sort'];


	$sortid = $sql->fetch("SELECT `id` FROM `news_razd` ORDER BY `id` DESC LIMIT 1");
	$sortid = $sortid['id'];

	if ($sql->rowCount("SELECT * FROM `news_razd` WHERE `link` = ?", [$link]) == 1 AND $razdpost['link'] != $link) {
		$err[] = 'Такая ссылка уже есть';
	}
	if (FileSystem::TextStrlen($keywords) > 256) {
		$err[] = 'Keywords слишком длинный';
	}
	if (FileSystem::TextStrlen($description) > 256) {
		$err[] = 'Description слишком длинный';
	}	
	if (FileSystem::TextStrlen($text) > 30000) {
		$err[] = 'Описание слишком длинное';
	}
	if (FileSystem::TextStrlen($name) > 128) {
		$err[] = 'Заголовок слишком длинный';
	}
	if (FileSystem::TextStrlen($name) < 3) {
		$err[] = 'Заголовок слишком короткий';
	}
	if (FileSystem::TextStrlen($link) > 128) {
		$err[] = 'Ссылка слишком длинная';
	}
	if (FileSystem::TextStrlen($link) < 5) {
		$err[] = 'Ссылка слишком короткая';
	}	
	$link = preg_replace("/[^-a-zа-я-0-9\s]/ui", "", $link);
	$link = str_replace(' ','-', $link);
	$link = str_replace('  ','', $link);
	$link = trim($link);
	$text = trim($text);

	if (!isset($err)) {
		$sql->query("UPDATE `news_razd` SET `sort` = ?, `description` = ?, `keywords` = ?, `name` = ?, `text` = ?, `link` = ? WHERE `id` = ?", [$sort, $description, $keywords, $name, $text, $link, $razdpost['id']]);
		Redirection('/apanel/razd', 'Успешно');
	}
}


if (isset($err)) {
	err($err);
}
$t->assign('type', $type);
$t->assign('razd', $razd);

echo $t->fetch('apanel.razd');